• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Pascal ABC, нужна помощь в написании программы

селин

Ученик
Регистрация
22 Сен 2016
Сообщения
9
Реакции
0
Баллы
0
Pascal ABC, нужна помощь в написании программы

написать программу, которая выводит сообщения "Нажмите клавишу в течение секунды" через случайные времени, ожидает нажатие 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.
Не получается задать интервал времени и подсчитывать
 
Функция Delay() в этой реализации языка отсутствует.
Для реализации паузы указанной длительности (в миллисекундах) используйте процедуру Sleep(n) из библиотеки System.
 
написать программу, которая выводит сообщения "Нажмите клавишу в течение секунды" через случайные времени, ожидает нажатие 1 секунды и подсчитывает количество успешных нажатий.
К сожалению, эту дрянь по имени АВС у себя не держу, а вот на Turbo - пожалуйста:
Код:
uses crt;
var
 i,m,interval,time:integer;

begin
 Randomize;
 m:=0;
 for i:=1 to 10 do
  begin
   interval:=Random(5000);
   delay(interval);
   writeln('Press a key during 1 sec');
   time:=0;
   repeat
    time:=time+10;
    delay(10);
    if KeyPressed then m:=m+1;
   until KeyPressed or (time=1000);
   if KeyPressed then ReadKey;
  end;
 Writeln('Key was pressed ',m,' times');
 Readln
end.
 
Назад
Сверху