Практикум по среде и языку QBasic________________________147
Х$ = "" 'пустая заготовка для вывода FOR KTt = 1 ТО 4 'начало цикла по цифрам Z = SMBLS(DIGITS(KT%), (IT% + 2) \ 2)
'выбор слова шаблона цифры IF IT% MOD 2=0 THEN ' выбор байта в шаблоне
Z = Z \ 256 'выбор старшего байта ELSE 'случай нечетной строки
Z = Z MOD 256 'выбор младшего байта END IF 'конец выбора байта в шаблоне FOR JT% = 1 ТО 8 'начало цикла по битам IF Z > 127 THEN 'проверка старшего бита
Х$ = Х$ + POINT$ 'добавление "точки" в заготовку Z = Z - 128 'стирание 1 в старшем бите ELSE 'случай нуля в старшем бите
Х$ = Х$ + EMPTY$ 'добавление "пусто" в заготовку END IF 'конец проверки старшего бита 2=2*2 'сдвиг байта влево на 1 разряд NEXT JT% 'конец цикла по битам IF KT% = 2 THEN X$ = Х$ + " "
'интервал между 2 и 3 цифрами NEXT KT% 'конец цикла по цифрам LOCATE 12 + IT%, 4 'установка курсора по строке PRINT X$ ;
IF IT% = 2 OR IT% = 6 THEN 'проверка на 2 и 6 строки LOCATE 12 + IT%, 40 'установка позиции точки COLOR 18 'зеленый цвет с миганием PRINT POINT$; 'вывод точки COLOR 2 'зеленый цвет
END IF 'конец проверки номера строки NEXT IT% 'конец цикла по строкам COLOR 7 S% = S% + 1 IF S% > 59 THEN
M% = Mt + 1: S% = О END IF SLEEP 1 RETURN
Приведенные разъяснения достаточны для поиска возможных ошибок, которые могут быть допущены при вводе текста программы и подпрограммы. После устранения ошибок сохраните ее в файле CLOCK. ВАЗ. Программа выводит на дисплей изображение напоминающее электронные цифровые часы, но точность этой программы существенно хуже (наши часы отстают тем сильнее, чем ниже тактовая частота процессора). Это связано с тем, что помимо секундной задержки на процедуре SLEEP программа тратит время на множество других операций. Кроме того недостаток этой программы состоит еще и в том, что во время секундной задержки она "бездельничает".
Оба этих недостатка могут быть устранены одним средством — прерыванием по времени. Синтаксис обращения к обработчику прерываний таков, что пришлось оформлять подпрограмму SHOWT по-старому. Объединим теперь две программы, то есть программу вычисления простых чисел и программу отображения времени на экране дисплея, в одну