Программа на нажатие клавиши - Pascal ABC
Формулировка задачи:
Программа, которая выводит сообщения "Нажмите клавишу в течении секунды" через случайные интервалы времени, ожидает нажатие 1 сек. и подсчитывает количество успешных нажатий.
Не получается задать интервал времени 1 сек. и подсчитать нажатие после каждого сообщения(счетчик не обнуляется)
Листинг программы
- program soobsh;
- uses crt;
- var
- n, i, s: integer;
- begin
- n := 0;
- for i := 1 to 20 do
- begin
- writeln('Нажмите клавишу в течение секунды');
- s:=1000;
- delay(s);
- if KeyPressed then n := n + 1;
- writeln('количество нажатий = ', n);
- delay(1000);
- end;
- end.
Решение задачи: «Программа на нажатие клавиши»
textual
Листинг программы
- uses Crt;
- var n: Integer; c: Char;
- begin
- repeat
- WriteLn('Нажмите клавишу в течение секунды');
- Delay(1000); n:=0;
- while KeyPressed do begin
- if ReadKey=#0 then ReadKey;
- Inc(n);
- end;
- WriteLn('Количество нажатий: ',n);
- Write('Продолжить (y/N): '); c:=ReadKey;
- if c=#0 then ReadKey;
- until c in [#27,'N','n'];
- end.
Объяснение кода листинга программы
- В начале кода используется библиотека Crt, которая предоставляет функции для работы с консолью.
- Переменная n типа Integer и инициализируется значением 0.
- Переменная c типа Char и инициализируется значением ' '.
- Запускается цикл repeat, который будет выполняться до тех пор, пока условие не выполнится.
- Внутри цикла выводится сообщение
Нажмите клавишу в течение секунды
и задерживается выполнение программы на 1 секунду с помощью функции Delay(1000). - Переменная n сбрасывается в 0.
- Запускается цикл while, который будет выполняться до тех пор, пока условие не выполнится.
- Внутри цикла проверяется, была ли нажата клавиша. Если да, то считывается значение клавиши с помощью функции ReadKey.
- Если значение клавиши равно 0, то цикл while завершается.
- Переменная n увеличивается на 1.
- После завершения цикла while выводится сообщение
Количество нажатий:
, n. - Выводится запрос
Продолжить (y/N):
и считывается значение клавиши с помощью функции ReadKey. - Если значение клавиши равно 0, то считывается следующая клавиша с помощью функции ReadKey.
- Условие до тех пор, пока c в [#27,'N','n'] выполняется, пока не будет нажата клавиша 'n'.
- Цикл repeat завершается, когда выполняется условие.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д