TURBO PASCAL |
Новости |
Практическое задание N 1. 35
1. Создать на
экране несколько рядов разворачивающихся
по горизонтали. либо
по вертикали окон разного цвета с надписями.
2. Вывести на
экране несколько рядов карточек со
случайными номерами цветов,
в различных диапазонах для каждого ряда.
В центре экрана вывести окно с
сообщением о количестве рядов с одинаковым
цветом карточек.
Приведем пример операторов для
построения орнаментов.
Для построения орнаментов в текстовом
режиме удобно использовать массив N1xN2
значений из нулей и единиц,
записанных в файле.
Например,
при N1=3, N2=5,
можно записать в текстовом редакторе
файл 0 0 1 0 0 со значениями:
0
1 0 1 0
1 1 1 1 1
В программе следует открыть файл с
орнаментом и считать значения в массив,
например:
for i:= 1 to N1 do
begin for j:= 1 to N2
do read( f, a[ i, j ] );
readln( f ) end; где f -
файловая переменная,
a[i, j] -
элемент массива N1xN2.
Орнамент можно разместить в окне,
например, операторами:
Window(x1,
y1, x1+N2, y1+N1); TextBackGround(Green);
ClrScr; for i:= 1
to N1 do for j:= 1
to N2 do if a[i,j] <> 0
then begin GotoXY(j,i);
write(#219) end;
Приведем примеры операторов,
позволяющих строить в текстовом режиме
горизонтальные и вертикальные гистограммы.
Пусть требуется построить N значений
функции Y=Sin(x); на интервале от 0 до Pi.
1) Определим дискретные значения
"х" и
"Y".
for i:=
0 to N do begin x[i]:= Pi*i/N; Y[i]:=Sin(x[i])
end;
2) Определим наибольшее
значение функции "Y":
Y_max:=1;
и размеры окна:
xm:=
lo(WindMax)+1;
ym:= hi(WindMax)+1; 3)
Определим коэффициенты масштабирования по
осям X и Y:
km_x:= (xm-5)/Y_max;
km_y:= (ym-5)/Y_max;
4) Для построения
вертикальной гистограммы
можно использовать операторы: for i:=0 to N do begin Yg:=round(km_y*Y[i]); { графические
значения Y[i]} for j:=1 to Yg do
begin GotoXY(i, ym-j); { переход на
новую
строку }
write
(#219)
{ рисуем вертикальный столбик }
end
end;
5)
Для построения горизонтальной гистограммы
можно использовать операторы: for i:=0 to N do begin Yg:=round(km_x*Y[i]); { графические значения Y[i]}
GotoXY(1,
i+1);
{ переход на новую строку }
for j:=1 to Yg do write (#220) { рисуем горизонтальный
столбик}
|
(с) Все права защищены. По всем интересующим вопросам прошу писать электронный адрес |