Имитировать указанные действия за счет изменения палитры - 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.
Объяснение кода листинга программы
- В начале кода подключаются необходимые библиотеки crt и graph.
- Создается процедура Draw, которая будет выполнять отрисовку графиков.
- В процедуре Draw объявляются переменные x0, y0, a, i, j, x1, y1, x2, y2, c: integer.
- Перед циклом выполняется инициализация переменной x0 значением 0, а переменной y0 - значением 0.
- Задается начальное значение переменной a равным 40.
- Запускается цикл 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) отрисовывается прямоугольник с заданными координатами вершин.
- После завершения цикла for i:=1 до 15 do выполняется цикл repeat, внутри которого вызывается функция Draw.
- В цикле repeat выполняется задержка delay(500), чтобы пользователь мог увидеть результат.
- Завершается цикл repeat при нажатии клавиши keypressed.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д