Практическое задание 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;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: