Практическое задание 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){ рисуем горизонтальный столбик}
end;
Дата добавления: 2016-06-29; просмотров: 1272;