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

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

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

Задача : "Используя возможности модуля Crt для работы в экране в текстовом режиме, написать программу, которая 16 раз меняет цвет экрана и выводит любой текст на новом фоне в центр экрана." Мой код :
Листинг программы
  1. Program TheChangeOfColours;
  2. uses crt;
  3. var n : Integer;
  4. Begin
  5. For n:=1 to 16 do
  6. Begin
  7. TextBackGround(n);
  8. Clrscr;
  9. GotoXy(40,12);
  10. textcolor(n+1);
  11. Writeln ('Loser');
  12. end;
  13. end.
По этому коду программа мне просто выдает текст на каком либо определенном фоне, не наблюдаю 16 изменений цвета. Нет под рукой компьютера, поэтому пишу на планшете, в среде PascalGui (http://fpgui.sourceforge.net/). И не могу понять, это я неправильно написал программу или же это виновата среда? То есть на компьютере все сработает и будет видно, что цвет меняется 16 раз?

Решение задачи: «Корректно ли написан код для изменения цвета фона 16 раз»

textual
Листинг программы
  1. uses crt;
  2. var n:Integer;
  3.     s:string;
  4. begin
  5. s:='Loser';
  6. for n:=1 to 16 do
  7.  begin
  8.   TextBackGround(n);
  9.   textcolor(n+8);
  10.   Clrscr;
  11.   GotoXy(40-(length(s) div 2),13);
  12.   Write(s);
  13.   if n<16 then delay(1000);
  14.  end;
  15. textcolor(15);
  16. s:='Нажмите Enter для выхода';
  17. GotoXy(40-(length(s) div 2),13);
  18. write(s);
  19. readln;
  20. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы