engineerklub | Дата: Четверг, 24.08.2023, 05:46 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 29644
Статус: Offline
| Управление таймером – операции в реальном времени (программа “будильник”)
Тип работы: Работа Лабораторная Сдано в учебном заведении: ДО СИБГУТИ
Описание: Задание для выполнения лаб. работы №2
Написать резидентную программу, которая будет работать, как “будильник” – через заданный интервал времени издавать короткий звуковой сигнал – “тикать” (например, через 1–2 секунды). По завершении более длительного интервала времени (от нескольких секунд до нескольких минут или часов) должен раздаваться более продолжительный мелодичный звуковой сигнал, имитирующий звонок будильника.
Длительность звукового сигнала – “тиканья” – не должна быть слишком большой. Её следует задавать в программе в пределах от 1/10 до ½ доли секунды.
По окончании “звонка будильника” “тиканье” должно продолжаться. “Звонок” должен раздаваться только один раз.
В то время, когда звучит “звонок”, не должно быть слышно “тиканья” (звонок может длиться в течение нескольких секунд, и в этот интервал времени теоретически могут попасть звуки “тиканья”).
Для получения эффекта “мелодичного звонка” следует использовать несколько звуковых частот с различной продолжительностью звучания каждой из них.
Временной интервал, через который должно происходить “тиканье” (в секундах – целое число секунд), задавать с клавиатуры в качестве параметра; время, через которое должен прозвонить будильник (в минутах – их число может быть дробным), тоже задавать в качестве параметра. Отсчёт времени для “звонка” вести с момента запуска программы.
Контрольные вопросы
Как будет вести себя Ваша программа, если в качестве параметров командной строки ошибочно ввести символы вместо чисел? Или отрицательное число? Или в случае неверного количества параметров – например, если он будет всего один, или, наоборот, их окажется большее количество, чем нужно? Возможно ли задавать время продолжительности звонка с точностью до полуминуты? Какие изменения потребуется сделать в программе, чтобы сделать “звонок будильника” звучащим многократно, каждый раз снова через такой же интервал времени, который был задан вначале? Каким образом можно изменять длительность звукового сигнала (например, “тиканья”) в обработчике прерываний таймера? Какой параметр программы отвечает за продолжительность сигнала? Добавьте третий параметр для задания продолжительности “звонка” с клавиатуры.
СКАЧАТЬ
|
|
| |