TURBO PASCAL

Новости       

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности 

Гостевая книга

Спонсор

От автора

 

         Практическое задание N 1. 40

            1.  Разделить экран по горизонтали на две части.   В первой части создать окно и вывести все символы от 0 до 255 с указанием номеров,  во втором окне в двух строчках вывести два символа,  бегающих в противоположные стороны.

            2.  Разделить экран по вертикали на две части.   В первой части создать окно и вывести все символы от 0 до 255 с указанием номеров,  во втором окне в двух колонках вывести два символа,  бегающих в противоположных направлениях.

            Примечание:  номера символов выбрать из первого окна.

 

            При выводе "бегающих" символов изображение курсора портит картинку.  Избавиться от курсора можно,  поместив его в "дальний угол" перед задержкой программы,  например: GotoXY(1, 1); delay(100);  Можно также изменить размер курсора до нуля с помощью следующих операторов:

В разделе описания программы:     Uses DOS;     Var  r: registers;       

B разделе выполнения программы:   r.ah:=1;   r.ch:=$20;   intr(16,r);

Приведем пример программы "падающие символы" для цифр от 0 до 9,  имеющих кода
c номерами от 48 до 57.  При нажатии на клавишу с “падающей цифрой”, генерируется другая “падающая цифра” и т. д.  до нажатия клавиши ESC.

 

PROGRAM  PULL_CH;   

Uses CRT,  DOS;

                    var  r: registers;

                  x, y,  i,  xm, ym: byte;

c: array [41..57] of char;   cha:char;

BEGIN

        randomize;       textMode(3);

        xm:=lo(WindMax)+1;   ym:=hi(WindMax)+1;

        textBackGround(blue);   ClrScr;     TextColor(14);

        r.ah:=1;   r.ch:=$20;   intr(16,r);

for i:=48 to 57 do begin

     c[i]:=chr(i);  write(c[i])  end;     { вывод символов с позиции (1, 1) }

 

repeat   gotoXY(10, 10);  Write('ПРИГОТОВЬТЕСЬ -нажмите ENTER');  cha:= readKey

until cha=#13;                                               { вывод надписи }

   delay(500);   gotoxy(10, 10);  clreol;                    { стирание надписи }

   GOTOXY(1, YM);    Write('НАЖМИТЕ КЛАВИШУ С ПАДАЮЩИМ СИМВОЛОМ');

                     Write('         ДЛЯ ОКОНЧАНИЯ -нажмите ESC');

repeat

       i:= random(10)+48;  c[i]:=chr(i);          { выбор случайной цифры }

       x:= i-48+1;   for y:= 2 to ym-1 do  begin

              gotoXY(x,y);  write(c[i]);  delay(200); { вывод цифры }

              gotoXY(x,y);  write('_');                            { стирание цифры }

  if keypressed then cha:=readkey;{ при нажатии клавиши - считать цифру }

  if  cha=#27  then Break;      

  if  cha=c[i] then Break       end   { досрочный выход из цикла "for. . . " } 

until   cha=#27;                                                                 { выход при нажатии ESC }

   textMode(3)       END.

 

На первую страницу

Rambler's Top100 PROext: Top 1000
Rambler's Top100

(с) Все права защищены.

По всем интересующим вопросам прошу писать электронный адрес

Hosted by uCoz