Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 22.09.2016, 12:01   #1 (permalink)
селин
Новичок
 
Регистрация: 22.09.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию 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.
Не получается задать интервал времени и подсчитывать
селин вне форума   Ответить с цитированием

Старый 22.09.2016, 12:01
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Содержание вашей темы очень схоже с другими темами, можете потратить минутку и ознакомиться

Нужна помощь в написании программы
Помощь в написании программы по TURBO PASCAL

Старый 22.09.2016, 13:04   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Функция Delay() в этой реализации языка отсутствует.
Для реализации паузы указанной длительности (в миллисекундах) используйте процедуру Sleep(n) из библиотеки System.
AlexZir вне форума   Ответить с цитированием
Старый 22.09.2016, 13:14   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от селин Посмотреть сообщение
написать программу, которая выводит сообщения "Нажмите клавишу в течение секунды" через случайные времени, ожидает нажатие 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.
Vladimir_S вне форума   Ответить с цитированием
Старый 03.10.2016, 11:10   #4 (permalink)
селин
Новичок
 
Регистрация: 22.09.2016
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо за помощь!
селин вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:33.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.