TURBO PASCAL |
Новости |
Практическое задание N 1. 34
1. Вывести на экран в различных
текстовых режимах надпись в виде ступеньки
с заданным шагом "dx" по оси "х", в каждой строке "у" ,
начиная с позиции (1, Ym) c направлением
вверх, вправо.
2. Вывести на экран в различных
текстовых режимах надпись в виде ступеньки
с заданным шагом "
dx<0 " по оси " х ",
в каждой стороке " у " ,
начиная с позиции: (Xm-f,
Ym) c направлением вверх,
влево.
3/4. Модифицировать
программы п. 1/2,
выводя надписи в окнах разного цвета,
с различным цветом символов.
Размер окна определяется по оси "х"
количеством символов в надписи плюс 2,
по оси "у" размер равен 3 строчкам.
После оператора GotoXY(x, y); следует
оператор Window(x, y, xx, yy); и т. д.
5. В режимах N=1 и
N=3 вывести на экран окна разного цвета с
уменьшающимся размером (окно в окне). В первой позиции окон выводить
номер окна. Использовать
оператор цикла с условием ограничения
размеров наименьшего окна,
например:
(x2-x1=2) or (y2-y1=0).
6. В режимах N=1 и
N=3 вывести на экран окна разного цвета с
координатами, определяемыми
функцией Random с ограничением по размеру
экрана, например: x1:=Random(Xm-1)+1;
x2:=x1+Random(Xm-x1); Окна выводятся в
операторе цикла с условием: до нажатия
любой клавиши.
Приведем пример операторов для
создание окон.
При регулярном размещении нескольких
рядов одинаковых окон на экране можно
использовать двойной цикл для раздельного
изменения номера строки и столбца: textmode(258);
xm:= lo(windmax); ym:= hi(windmax); {
размеры экрана }
Nx:= 4;
Ny:= 4;
{ Nx, Ny - число окон }
hx:= xm div Nx; hy:= ym div Ny; { hx,
hy -
размер окна по X и по Y} for i:=
0 to Nx-1 do {
чередование столбцов } for j:=
0 to Ny-1 do begin {
наращивание строк }
x1:= 1+hx*i; x2:=x1+hx-1;
y1:= 1+hy*j; y2:=y1+hy-1;
window(x1, y1,
x2, y2); TextBackGroung(i+j);
ClrScr;
end;
Используя операторы MOD и DIV можно
создать несколько рядов одинаковых окон (карточек)
на экране в одном цикле: Randomize;
N:= Nx*Ny;
Nc:= 3; {
Nc-число
цветов в колонке} for i:= 0 to N-1 do begin x1:= 1+hx*(i MOD
Nx); x2:= x1+hx-1; {чередование
столбцов}
y1:= 1+hy*(i DIV
Nx); y2:= y1+hy-1; {наращивание
строк}
window(x1, y1, x2, y2);
j:=
1+(i mod Nx);
{номер столбца с карточкой}
c[i+1]:= 1+(j-1)*Nc+random(Nc);
{номер цвета карточки}
TextColor(c[i+1]);
for k:= 1 to hx*hy do write('_'); {
заполнение
окна
символами } end;
Здесь каждое окно (карточка)
заполняется символами разного цвета,
причем номер цвета выбирается случайно
из трех значений, различных
для каждой колонки. При
заполнении последним символом происходит
прокрутка окна.
Приведем пример операторов для
создания "всплывающего" в центре
экрана окна с надписью.
x1:=
xm div 2; y1:=
ym div 2;
{ центр окна }
a:= 15; {
2*a-
размер окна } for i:= 0 to a do begin Window(x1-i,
y1-i, x1+i, y1+i);
TextBackGround(5); ClrScr;
if i-4 > 0 then begin GotoXY(i-3,
i); { вывод
надписи }
TextColor(14); Write('ФАМИЛИЯ') end;
{
в
координатах
окна
}
delay(50); end;
|
(с) Все права защищены. По всем интересующим вопросам прошу писать электронный адрес |