144____________________________________________

Для этого достаточно заменить в конце цикла условие по переменной к& на условие по достижению переменной J& предельного значения 2147483647 и не прерывать работу программы на достаточно долгое время. Но скорее всего даже с процессором Pentium ждать придется очень долго, потому что по мере увеличения значений простых чисел приходится увеличивать количество проверочных делителей.

Кстати о времени и о прерываниях. Для ознакомления с еще одним видом подпрограмм перейдем к более наглядной задаче отображения времени на экране дисплея. Из двух видов показа времени: с циферблатом и стрелками или с цифровым отсчетом - выберем последний.

В окне "immediate" попробуем выполнить следующую программу

CLS: I%=0: DO: LOCATE 12,35: PRINT 1%: SLEEP 1: I%=I%+1: LOOP

Она в самом деле отсчитывает время, но хотелось бы увидеть отсчет в минутах и секундах. Поэтому прервем ее при помощи Ctrl+Break, перейдем в верхнее окно и введем более сложную программу со счетчиками минут и секунд:

CLS 'очистка экрана М% =0 "О счетчика минут S% = О 'О счетчика секунд DO 'начало цикла

GOSUB SHOWT 'обращение к подпрограмме IF М% > 1 THEN EXIT DO

'условный оператор с выходом из цикла LOOP 'конец цикла END 'конец основной программы SHOWT: 'начало подпрограммы индикации Х$ = CHR$(48 + М% \ 10) 'первая цифра Х$ = Х$ + CHR$(48 + М% MOD 10) 'вторая цифра Х$ = Х$ + " " 'позиция для разделителя минут и секунд Х$ = Х$ + CHR$(48 + S% \ 10) 'третья цифра Х$ = Х$ + CHR$(48 + S% MOD 10) 'четвертая цифра LOCATE 12, 37 'установка позиции вывода цифр PRINT X$; 'вывод строки LOCATE 12, 39 'установка позиции разделителя COLOR 23 'белый цвет с миганием PRINT ":"; 'вывод разделителя COLOR 7 'белый цвет S% = S% + 1 'счетчик секунд IF S% > 59 THEN 'проверка переполнения счетчика секунд М% = М% + 1: S% = О

'коррекция счетчиков минут и секунд END IF 'конец проверки переполнения SLEEP 1 'задержка 1 с RETURN • 'конец подпрограммы индикации

Смысл текста основной программы очень прост: очистив экран и "обнулив" счетчики минут и секунд, в цикле она обращается к подпрограмме до тех пор, пока значение счетчика минут не превысит 1. Таким образом подпрограмма должна отрабатывать задержку 1 с, считать минуты и