4 Комментарии к листингу программы
{1} - S, M, H - пиксельные размеры, соответственно, секундной, минутной и часовой стрелок; XC, YC, R - пиксельные координаты центра циферблата и его радиус; df - центральный угол в радианах, соответствующий одной минуте или секунде; ac - исходное состояние флажка будильника.
{2} - процедура исправления системных часов.
{3} - процедура DOS установления системного времени.
{4} - процедура определения состояния аналоговых часов (координаты концов стрелок).
{5} - пять первых операторов создают строчку, в которой по два символа отводится часам, минутам и секундам, разделенным двоеточиями.
{6} - определение угла f в радианах между вертикальным направлением и текущим положением часовой стрелки, а затем координат ее конца xy[0], xy[1].
{7} - то же самое для минутной стрелки.
{8} - то же самое для секундной стрелки.
{9} - получение текущего времени и затем вывод его на экран.
{10} - исправление часов по необходимости.
{11} - установление, если нужно, положения ограничителя будильника (угол ff) и исправление его флажка.
{12} - установление цвета прямоугольной рамки часов и затем ее рисование.
{13} - установление цвета окружности циферблата, а затем ее изображение.
{14} - задание для текстового графического вывода шрифта, направления и размера.
{15} - цикл изображения 60 рисок на циферблате и чисел-часов.
{16} - определение угла f между вертикалью и направлением риски.
{17, 18} - определение координат концов короткой риски.
{19} - если положение риски не совпадает с часовой, то вывод этой риски,
{20} - иначе - уточнение координат начала длинной часовой риски и ее вывод; подготовка строчки с часом, определение места ее вывода и вывод{21}.
{22} - если задействован будильник - рисование его ограничителя.
{23,24} - получение исходных: времени и позиции стрелок.
{25} - 'бесконечный' цикл работы часов - до нажатия произвольной клавиши.
{26} - сохранение предыдущего времени.
{27} - получение текущего времени.
{28} - если секунды изменились, то – стирание (рисование черным цветом) стрелок и проверка необходимости запуска сигнала будильника (по флажку, при совпадении часа и минут, в течении 30 секунд этой минуты).
{29} – сигнал (четыре звука).
{30} - обработка текущего времени. Установление цвета (белого) вывода стрелок.
{32} - запоминание текущего состояния стрелок.
{33} - освобождение буфера клавиатуры от символа, помещенного туда нажатием произвольной клавиши для прекращения работы часов.
{34} – установка времени (если нужно).
5 Заключение
В ходе выполнения курсового проекта была разработана программа «Будильник» и отлажена её работа. Средой разработки был выбран язык программирования высокого уровня – Pascal.
Pascal – один из наиболее продуктивных языков, пригодный для решения огромного количества совершенно разных задач. Синтаксис языка чистый и ясный, предупреждает разработчика о возможных ошибках. Также плюсом данного языка является быстрое время компилирования, компилятору не нужны сторонние средства.
Разработанная программа полностью соответствует техническому заданию на разработку.