Имитировать указанные действия за счет изменения палитры - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Имитировать указанные действия за счет изменения палитры: Монитор компьютера с мигающей заставкой

Решение задачи: «Имитировать указанные действия за счет изменения палитры»

textual
Листинг программы
uses crt,graph;
procedure Draw;
var x0,y0,a,i,j,x1,y1,x2,y2,c:integer;
begin
x0:=0;
y0:=0;
a:=40;
for i:=1 to 12 do
for j:=1 to 16 do
 begin
  x1:=x0+a*(j-1);
  x2:=x1+a;
  y1:=y0+a*(i-1);
  y2:=y1+a;
  if j>=i then c:=j-i+1
  else c:=15-i+j+1;
  setcolor(c);
  setfillstyle(1,c);
  bar(x1,y1,x2,y2);
 end;
end;
var i,j,c:integer;
begin
i:=0;
initgraph(i,j,'');
repeat
Draw;
delay(500);
for i:=1 to 15 do
 begin
  c:=random(14)+2;
  Setpalette(i,c);
 end;
until keypressed;
end.

Объяснение кода листинга программы

  1. В начале кода подключаются необходимые библиотеки crt и graph.
  2. Создается процедура Draw, которая будет выполнять отрисовку графиков.
  3. В процедуре Draw объявляются переменные x0, y0, a, i, j, x1, y1, x2, y2, c: integer.
  4. Перед циклом выполняется инициализация переменной x0 значением 0, а переменной y0 - значением 0.
  5. Задается начальное значение переменной a равным 40.
  6. Запускается цикл for i:=1 до 12 do for j:=1 до 16 do, внутри которого выполняются следующие действия:
    • Вычисляется значение переменной x1 путем добавления к значению переменной x0 умноженного на (j-1) значения переменной a.
    • Вычисляется значение переменной x2 путем добавления к значению переменной x1 значения переменной a.
    • Вычисляется значение переменной y1 путем добавления к значению переменной y0 умноженного на (i-1) значения переменной a.
    • Вычисляется значение переменной y2 путем добавления к значению переменной y1 значения переменной a.
    • Если значение переменной j больше или равно значению переменной i, то задается значение переменной c равным разности значений переменных j и i плюс 1.
    • Если значение переменной j меньше значения переменной i, то задается значение переменной c равным 15 минус значение переменной i плюс значение переменной j плюс 1.
    • С помощью функции setcolor(c) задается цвет для заполнения прямоугольника, а с помощью функции setfillstyle(1,c) устанавливается стиль заполнения — сплошной, цвет c.
    • С помощью функции bar(x1,y1,x2,y2) отрисовывается прямоугольник с заданными координатами вершин.
  7. После завершения цикла for i:=1 до 15 do выполняется цикл repeat, внутри которого вызывается функция Draw.
  8. В цикле repeat выполняется задержка delay(500), чтобы пользователь мог увидеть результат.
  9. Завершается цикл repeat при нажатии клавиши keypressed.
  10. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы