1. Модифицировать пример 4 («Калейдоскоп»), покрыв симметричным узором все графическое окно. (менной. Пример 4. Калейдоскоп. Если случайным образом расположить на рисунке достаточно большое количество разноцветных кругов, а затем зеркально отразить его по вертикали, по горизонтали и одновременно по вертикали и горизонтали, то получится симметричная картинка, подобная тем, которые мы видим в калейдоскопе. Приведем программу, генерирующую такие изображения: uses GraphABC; begin var p: Picture; CreatePicture(p,50,50); for var i:=1 to 100 do begin Brush.Color := clRandom; p.Circle(Random(50),Random(50),Random(10)+5); end; p.Draw(0,0); p.FlipVertical; p.Draw(0,50); p.FlipHorizontal; p.Draw(50,50); p.FlipVertical; p.Draw(50,0); end. Итоговое изображение состоит из четырех квадратных частей размера 50 на 50 пикселов — исходного рисунка и трех его отражений. Приведем два образца полученных изображений) 2. Используя прием программы «Калейдоскоп» и заполняя рисунок-образец с метода p.SetPixel, создать следующее изображение, состоящее из красных оттенков разной интенсивности:
var a: array [1..Sz] of integer; N: integer; // Количество элементов в массиве i,k: integer; min,max: real; begin k:=0; N:= 10; write('Введите элементы массива: '); for i:=1 to N do begin read(a[i]); k:=k+a[i]; end; write('Вывод элементов массива: '); for i:=1 to N do write(a[i],' '); min := a[1]; for i:=2 to N do if a[i]<min then begin min := a[i]; end; max := a[1]; for i:=2 to N do if a[i]>max then begin max := a[i]; end; writeln('max=',max,' ','min=', min,' ','Средная температура=',k/N3) end.
//t1.txt должен быть в папке с программой //Pascal var f: text; numValue, Counts, n, c, t, i: integer; begin assign(f, 't1.txt'); reset(f); Counts := 0; c := 0; while not eof(f) do begin readln(f, n); if (c = 0) or (n = t) then c := c + 1 else c := 1; t := n; if c > Counts then begin Counts := c; numValue := n end end; close(f); assign(f, 't2.txt'); rewrite(f); writeln('Длина цепочки: ', Counts); for i := 1 to Counts do writeln(f, numValue); close(f) end.
var
a: array [1..Sz] of integer;
N: integer; // Количество элементов в массиве
i,k: integer;
min,max: real;
begin
k:=0;
N:= 10;
write('Введите элементы массива: ');
for i:=1 to N do begin
read(a[i]);
k:=k+a[i];
end;
write('Вывод элементов массива: ');
for i:=1 to N do
write(a[i],' ');
min := a[1];
for i:=2 to N do
if a[i]<min then
begin
min := a[i];
end;
max := a[1];
for i:=2 to N do
if a[i]>max then
begin
max := a[i];
end;
writeln('max=',max,' ','min=', min,' ','Средная температура=',k/N3)
end.