Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

Var I: char;

RR : STRING;

L : INTEGER;

BEGIN

RR := ";

FOR L := 1 TO 17 DO

BEGIN

I := READKEY;

RR := RR+I

END;

WRITELN('COДЕРЖИMOE БУФЕРА КЛАВИАТУРЫ');

WRITELN(RR)

END.

Рассмотрим несколько примеров использования модуля CRT. результаты работы этих программ приведены на цветной вкладке.

Задача 10.1 На экране несколько раз разными цветами напе­чатать фразу ONE MOMENT, PLEASE.., распо­ложив эти надписи лесенкой.

Для решения этой задачи необходимо установить цвет экрана, затем определить, в каких пределах должен изменяться цвет надписей на экране, чтобы не сливаться с фоном. После вывода пер­вой фразы оператором WRITELN('ONE MOMENT, PLEASE... '); курсор автоматически сдвигается на следующую строку. Поэтому для того, чтобы надписи располагались лесенкой, нужно перед выводом самой фразы напечатать несколько пробелов оператором WRITE(' ': 2*I);

Вывод надписей на экране необходимо сопровождать временной задержкой DELAY(1500), чтобы человеческий глаз мог зафиксировать их последовательное появление на экране. С помощью задержки создается эффект мультипликации.

PROGRAM PRG10-1;

USES CRT;

Var I:integer;

BEGIN

TEXTBACKGROUND(2);

CLRSCR;

DELAY(IOOO);

TEXTCOLOR(O);

FOR I:=1 TO 11 DO

BEGIN

TEXTC0L0R(l+4);

WRITELN;

WRITE(' ':2*I);

WRITELN('ONE MOMENT, PLEASE...');

DELAY( 1500);

END;

READLN;

TEXTBACKGROUND(I);

CLRSCR

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- устанавливаем зеленый цвет экрана и черный цвет первой надписи;

- организуем цикл, в котором меняем цвет надписей и выво­дим их лесенкой;

- по окончании вывода оператором READLN фиксируем над­писи на экране до тех пор, пока не будет нажата любая кла­виша.

Переменные:

I - переменная цикла.

Задача 10.2 Построить семейство разноцветных прямоуголь­ников, расположенных по горизонтали, в каждом из которых стоит знак вопроса.

Для решения данной задачи необходимо прорезать разноцветные текстовые окна, у которых меняется только координата X, a Y остается без изменения.

ROGRAM PRG10_2;

USES CRT;

Var X, I: integer;

Begin

textbackground(i);

CLRSCR;

X := 1;

DELAY(1000);

TEXTCOLOR(O);

FOR I := 1 TO 11 DO

BEGIN

IF (K>1) AND (l<>9) THEN TEXTBACKGROUND(I)

ELSE TEXTBACKGROUND(l+4) ;

WINDOW(X, 9, X+5, 14);

CLRSCR;

WRITELN;

WRITELN('?');

DELAY(1500);

X := X+7;

END;

READLN;

TEXTBACKGROUND(I);

CLRSCR

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- устанавливаем голубой цвет экрана и черный цвет надписи;

- организуем цикл, в котором прорезаем разноцветные окна и выводим в них черный знак вопроса;

- по окончании вывода оператором READLN фиксируем над­писи на экране до тех пор, пока не будет нажата любая кла­виша.

Переменные:

X - координата левого верхнего угла окна;

I - переменная цикла.

Задача 10.3 Нарисовать на экране несколько вложенных друг в друга разноцветных прямоугольников.

PROGRAM PRG10_3;

USES CRT;

Var I: integer;

BEGIN

TEXTBACKGROUND(2);

CLRSCR;

DELAY(IOOO);

FOR I := 1 TO 15 DO

BEGIN

TEXTBACKGROUND( 1+RANDOM(15));

WINDOW(2*I, I, 80-2*1, 26-1);

CLRSCR;

DELAY(1500);

END;

READLN;

TEXTBACKGROUND(2);

CLRSCR

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- устанавливаем зеленый цвет экрана;

- организуем цикл, в котором прорезаем окна, каждое после­дующее меньше предыдущего, и закрашиваем их случайно определенным цветом;

- по окончании вывода оператором READLN фиксируем над­писи на экране до тех пор, пока не будет нажата любая кла­виша.

Переменные:

I - переменная цикла.

Задача 10.4 Нарисовать на экране прямоугольник и заставить его двигаться по горизонтали, сопровождая дви­жение звуком.

Для решения этой задачи необходимо математически описать движение прямоугольника по горизонтали (рис. 10.2).

Координаты Y1 и Y2 при таком движении не изменяются, на­блюдается приращение только по оси Y. При этом выполняются условия Х3 - XI > Х2 > XI и Х2 - XI = Х4 – Х3 =... = XN - XN-1.

Само движение может быть описано так:

- прорезаем окно контрастного цвета;

- держим его на экране с помощью DELAY(500);

- закрашиваем окно цветом фона;

- вводим вторую задержку;

- прорезаем следующее окно со смещением вправо, например X := Х+2.

Программирование звука осуществляется процедурой SOUND(300) с частотой звучания 300 герц, а затем оно выключа­ется процедурой NOSOUND.

Рис. 10.2. Движение по горизонтали

PROGRAM PRG10_4;

USES CRT;