Корректно ли написан код для изменения цвета фона 16 раз - Pascal
Формулировка задачи:
Задача : "Используя возможности модуля Crt для работы в экране в текстовом режиме, написать программу, которая 16 раз меняет цвет экрана и выводит любой текст на новом фоне в центр экрана."
Мой код :
По этому коду программа мне просто выдает текст на каком либо определенном фоне, не наблюдаю 16 изменений цвета.
Нет под рукой компьютера, поэтому пишу на планшете, в среде PascalGui (http://fpgui.sourceforge.net/). И не могу понять, это я неправильно написал программу или же это виновата среда? То есть на компьютере все сработает и будет видно, что цвет меняется 16 раз?
Program TheChangeOfColours; uses crt; var n : Integer; Begin For n:=1 to 16 do Begin TextBackGround(n); Clrscr; GotoXy(40,12); textcolor(n+1); Writeln ('Loser'); end; end.
Решение задачи: «Корректно ли написан код для изменения цвета фона 16 раз»
textual
Листинг программы
uses crt; var n:Integer; s:string; begin s:='Loser'; for n:=1 to 16 do begin TextBackGround(n); textcolor(n+8); Clrscr; GotoXy(40-(length(s) div 2),13); Write(s); if n<16 then delay(1000); end; textcolor(15); s:='Нажмите Enter для выхода'; GotoXy(40-(length(s) div 2),13); write(s); readln; end.
Объяснение кода листинга программы
- Подключение модуля crt:
uses crt;
- Объявление переменной n с типом данных Integer:
var n:Integer;
- Объявление переменной s с типом данных string и присвоение ей значения
Loser
:s:='Loser';
- Цикл от 1 до 16 включительно:
for n:=1 to 16 do
- Задание цвета фона:
TextBackGround(n);
- Задание цвета текста:
textcolor(n+8);
- Очистка экрана:
Clrscr;
- Переход к координатам 40-(длина строки s деленная на 2), 13:
GotoXy(40-(length(s) div 2),13);
- Вывод строки s на экран:
Write(s);
- Если n меньше 16, то выполнить задержку в 1000 миллисекунд:
if n<16 then delay(1000);
- Установка цвета текста в белый (цвет 15):
textcolor(15);
- Изменение значения переменной s на
Нажмите Enter для выхода
:s:='Нажмите Enter для выхода';
- Переход к координатам 40-(длина строки s деленная на 2), 13:
GotoXy(40-(length(s) div 2),13);
- Вывод строки s на экран:
write(s);
- Ожидание ввода пользователем Enter:
readln;
- Завершение программы.
Код пытается изменить цвет фона и текста на экране 16 раз и выводит сообщение
Нажмите Enter для выхода
. Он также ожидает нажатия клавиши Enter, после чего завершает выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д