Светофор: при нажатии '1' цвет больше не выводится - PascalABC.NET
Формулировка задачи:
Листинг программы
- uses crt,graphAbc;
- begin
- begin
- setwindowsize(600,600);
- textout(250,250,'"Программа "Светофор"');
- end;
- if readkey = '1' then window.Clear(clgreen);
- if readkey = '2' then window.Clear(clorange);
- if readkey = '3' then window.Clear(clred);
- end.
Решение задачи: «Светофор: при нажатии '1' цвет больше не выводится»
textual
Листинг программы
- uses GraphAbc;
- var
- Stop: boolean := false;
- procedure Press(ch: char);
- begin
- case ch of
- '1': window.Clear(clgreen);
- '2': window.Clear(clorange);
- '3': window.Clear(clred);
- #27: stop := True;
- end;
- end;
- begin
- setwindowsize(600, 600);
- textout(250, 250, '"Программа "Светофор"');
- OnKeyPress := press;
- repeat
- sleep(10); // чтобы не жрать ресурсы процессора
- until Stop;
- end.
Объяснение кода листинга программы
- Объявлена переменная Stop типа boolean со значением false.
- Определена процедура Press с параметром ch типа char.
- В процедуре Press используется оператор case для определения действия в зависимости от значения параметра ch.
- Если значение параметра ch равно '1', то вызывается метод Clear у объекта window с аргументом clgreen.
- Если значение параметра ch равно '2', то вызывается метод Clear у объекта window с аргументом clorange.
- Если значение параметра ch равно '3', то вызывается метод Clear у объекта window с аргументом clred.
- Если значение параметра ch равно #27 (это символ 'x' в кодировке ASCII), то переменная Stop присваивается значение true.
- Код выходит из процедуры Press.
- Задается размер окна 600x600 пикселей.
- Выводится текст
Программа
Светофор`` на заданное место экрана (250, 250). - Устанавливается обработчик события OnKeyPress на процедуру Press.
- В цикле while выполняется блок кода до тех пор, пока переменная Stop не примет значение true.
- Внутри цикла вызывается метод Sleep, который приостанавливает выполнение программы на 10 миллисекунд для экономии ресурсов процессора.
- Код выходит из цикла while и завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д