В чём ошибка программы? Если не сложно объясните .код программы - Program cikl; Uses...

0 голосов
50 просмотров

В чём ошибка программы? Если не сложно объясните .
код программы -
Program cikl;
Uses GraphABC;
Var
r:Integer;
begin
for r:=460 downto 100 do
begin
circle(620,480,r);
r:=r-35;
end;
FloodFill(170,480,clPurple);
FloodFill(205,480,clBlue);
FloodFill(240,480,clSkyBlue);
FloodFill(275,480,clGreen);
FloodFill(310,480,clYellow);
FloodFill(345,480,clLime);
FloodFill(380,480,clMoneyGreen);
FloodFill(415,480,clRed);
FloodFill(450,480,clMaroon);
FloodFill(485,480,clBrown);
FloodFill(620,480,clNavy);
End.


Ошибка которую выдаёт программа -
Program1.pas(9) : Нельзя изменять значение переменной цикла внутри этого цикла


Информатика (15 баллов) | 50 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Ошибка, которую "заметил" компилятор, состоит в нарушении запрета на модификацию параметра цикла For в теле цикла. Для Ваших целей надо было использовать цикл с итерацией, например такой:

  r := 460;
  while r >= 100 do
  begin
    circle(620, 480, r);
    r := r - 35
  end;

В соответствии с алгоритмом, программа должна нарисовать концентрические окружности, центр которых имеет координаты 620;480, а радиус уменьшается от 460 до 100 с шагом 35. После окончания рисования производится заливка различными цветами областей, начальные точки которых указаны своими координатами, а границей области является какая-либо ранее нарисованная линия.
Попробуйте выполнить эту программу...

(142k баллов)