вторник, 14 февраля 2023 г.

урок циклы

 uses graphabc;
var
 a,x1,y1,x2,y2: integer;
begin
  write('введи  a =');
  read(a); 
  write(a);
  x1 := 50;
  y1 := 50;
  x2 := 450;
  y2 := 450;
  for var i := 1 to 20  do
  begin
    rectangle(x1,y1, x2,y2);
    x1 := x1 + a;
    y1 := y1 + a;
    x2 := x2 - a;
    y2 := y2 - a;
  end;
end.

вопросы с учебника
 При  каком  максимальном  значении  a  на  экране будут видны все 20 квадратов из примера 17.3? 
Почему при больших значениях a не видны все квадраты? 
Измените программу так, чтобы квадраты рисовались от самого маленького к самому большому (установите прозрачную заливку).
  
 Какие  изменения  нужно  внести  в  программу  из примера 17.3, чтобы  получить  следующее  изображе-ние? Функции для изменения интенсивности цвета см. 
в примере 17.1. 
 
 Измените  программу  из  примера 17.3. Длина  стороны  самого  большого  квадра-
та 400, а  длина  стороны  каждого  следующего  квадрата  на  x  меньше (x  вводится).
 
 Напишите  программу,  которая  рисует  ряд  окружностей  заданного  радиуса,  рас-
положенных по диагонали графического окна. Рассмотрите два варианта: 
1.  Графическое окно квадратное.
2*.  Графическое окно прямоугольное.
   Напишите программу, которая рисует концентриче-
ские  окружности  с  центром  в  середине  графического 
окна.  Радиус  самой  маленькой  окружности — 10 пик-
селей. Разница радиусов — 20 пикселей. Используйте 
изменение интенсивности какого-либо цвета (или двух 
одновременно) для заливки кругов.