Корректно ли написан код для изменения цвета фона 16 раз - Pascal

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

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

Задача : "Используя возможности модуля Crt для работы в экране в текстовом режиме, написать программу, которая 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 изменений цвета. Нет под рукой компьютера, поэтому пишу на планшете, в среде PascalGui (http://fpgui.sourceforge.net/). И не могу понять, это я неправильно написал программу или же это виновата среда? То есть на компьютере все сработает и будет видно, что цвет меняется 16 раз?

Решение задачи: «Корректно ли написан код для изменения цвета фона 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.

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

  1. Подключение модуля crt: uses crt;
  2. Объявление переменной n с типом данных Integer: var n:Integer;
  3. Объявление переменной s с типом данных string и присвоение ей значения Loser: s:='Loser';
  4. Цикл от 1 до 16 включительно: for n:=1 to 16 do
  5. Задание цвета фона: TextBackGround(n);
  6. Задание цвета текста: textcolor(n+8);
  7. Очистка экрана: Clrscr;
  8. Переход к координатам 40-(длина строки s деленная на 2), 13: GotoXy(40-(length(s) div 2),13);
  9. Вывод строки s на экран: Write(s);
  10. Если n меньше 16, то выполнить задержку в 1000 миллисекунд: if n<16 then delay(1000);
  11. Установка цвета текста в белый (цвет 15): textcolor(15);
  12. Изменение значения переменной s на Нажмите Enter для выхода: s:='Нажмите Enter для выхода';
  13. Переход к координатам 40-(длина строки s деленная на 2), 13: GotoXy(40-(length(s) div 2),13);
  14. Вывод строки s на экран: write(s);
  15. Ожидание ввода пользователем Enter: readln;
  16. Завершение программы. Код пытается изменить цвет фона и текста на экране 16 раз и выводит сообщение Нажмите Enter для выхода. Он также ожидает нажатия клавиши Enter, после чего завершает выполнение.

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


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

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

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