Лабораторная работа 02 |
500,00 ₽
Просмотров: 926
|
Тип работы: | Лабораторная работа |
Название предмета: | Операционные системы |
Тема/вариант: | Вариант 01 Лабораторная работа 02 |
Объем работы: | 5 |
ВУЗ: | СибГУТИ |
Дата выполнения: | 2013-08-21 |
Размер файла, тип файла: | 32.01 Kb, , EXE, PAS, DOC |
Прикрепленные файлы: |
Методические указания по выполнению (543 Kb)
|
Задание
Написать резидентную программу, которая будет работать, как “будильник” – через заданный интервал времени издавать короткий звуковой сигнал – “тикать” (например, через 1–2 секунды). По завершении более длительного интервала времени (от нескольких секунд до нескольких минут или часов) должен раздаваться более продолжительный мелодичный звуковой сигнал, имитирующий звонок будильника.
Длительность звукового сигнала – “тиканья” – не должна быть слишком большой. Её следует задавать в программе в пределах от 1/10 до ½ доли секунды.
По окончании “звонка будильника” “тиканье” должно продолжаться. “Звонок” должен раздаваться только один раз.
В то время, когда звучит “звонок”, не должно быть слышно “тиканья” (звонок может длиться в течение нескольких секунд, и в этот интервал времени теоретически могут попасть звуки “тиканья”).
Для получения эффекта “мелодичного звонка” следует использовать несколько звуковых частот с различной продолжительностью звучания каждой из них.
Временной интервал, через который должно происходить “тиканье” (в секундах – целое число секунд), задавать с клавиатуры в качестве параметра; время, через которое должен прозвонить будильник (в минутах – их число может быть дробным), тоже задавать в качестве параметра. Отсчёт времени для “звонка” вести с момента запуска программы.
Описание входных параметров
Программа принимает два параметра:
1. Паузу между тиканьями (в секундах);
2. Время, через которое зазвенит будильник (в минутах).
Первый параметр должен быть целочисленного типа и иметь неотрицательное значение. Второй параметр должен быть целого или дробного типа (например, 0.2. Это будет одна пятая часть минуты).
Описание основных переменных и подпрограмм
oldTimer - переменная процедурного типа для запуска старой процедуры обработки прерывания таймера.
tickDur - продолжительность тиканья.
ringDur - продолжительность звонка.
tickP - продолжительность паузы тиканья.
ringP - продолжительность паузы до звонка.
tickPaused – определяет, наступила ли пауза тиканья.
ringPaused – определяет, идет ли пауза до звонка.
tickC - счетчик для тиканий и пауз тиканья.
ringC - счетчик для звонка и паузы до звонка.
ringStopped – определяет, отзвучал ли уже звонок.
Timer - процедура, предназначенная для обработки прерываний таймера.
Сообщить другу