КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Программа стрелочного секундомера
LOOP NEXT END IF SCREEN 12 NEXT Как видим, программа очень несложна. Сделаем пояснения только к раскрашиванию. Здесь координата Y остается постоянной (240). Координата Х меняется таким образом, чтобы точка находилась внутри очередной окружности, хотя бы на один пиксель отступя от края (320+i*25-1). Пример. Составим программу вывода текущего времени в формате ЧЧ-ММ-СС. Вывод цифр времени будем осуществлять большими “рисованными” символами (как, например, на рис.2.10.10). t$ = " " DO 'бесконечный цикл опроса времени 'если нажата какая-то клавиша IF INKEY$<>"" THEN END 'завершение программы IF t$<>TIME$ THEN 'если время изменилось CLS 'экран очищается t$ = TIME$ 'запоминается новое время FOR i=1 TO 8 'перебор цифр времени x$=MID$(TIME$, i, 1) 'выделение очередного символа времени ‘позиционирование точки начала рисования: IF i = 1 THEN DRAW "bm40,80" 'позиция первой цифры часов IF i = 2 THEN DRAW "bm110,80" 'тире часы-минуты IF i = 3 THEN DRAW "bm185,80bm+0,+60r20d20l20u20" IF i = 4 THEN DRAW "bm220,80" 'позиция первой цифры минут IF i = 5 THEN DRAW "bm295,80" 'тире минуты-секунды IF i = 6 THEN DRAW "bm370,80bm+0,+60r20d20l20u20" IF i = 7 THEN DRAW "bm405,80" 'позиция первой цифры секунд IF i = 8 THEN DRAW "bm475,80" 'вывод символов времени: IF x$="1" THEN DRAW "r40d120r20d20l60u20r20u100l20u20" IF x$="2" THEN DRAW "r60d80l40d40r40d20l60u80r40u40l40u20" IF x$="3" THEN DRAW "r60d140l60u20r40u40l20u20r20u40l40u20" IF x$="4" THEN DRAW "r20d60r20u60r20d140l20u60l40u80" IF x$="5" THEN DRAW "r60d20l40d40r40d80l60u20r40u40l40u80" IF x$="6" THEN DRAW "r60d20l40d40r40d80l60u140bm+20,+80r20d40l20u40” IF x$="7" THEN DRAW "r60d60g30d50l20u50e30u40l40u20" IF x$="8" THEN DRAW "r60d140l60u140 bm+20,+20r20d40l20u40bm+0,+60r20d40l20u40" IF x$="9" THEN DRAW "r60d140l60u20r40u40l40u80bm+20,+20r20d40 l20u40" IF x$="0" THEN DRAW "r60d140l60u140bm+20,+20r20d100l20u100" Здесь в переменную t$ заносится символьное значение времени с помощью функции TIME$. В бесконечном цикле производится опрос нажатия клавиши. Нажатие любой клавиши является сигналом завершения программы (IF INKEY$<>"" THEN END). Если в очередном цикле произошло изменение значения времени, экран очищается и запоминается новое время. Далее просматриваются все восемь символов строки времени. Первая группа операторов IF в зависимости от номера символа, фиксирует текущие координаты в нужном месте экрана. Следующая группа операторов IF выводит уже изображение нужного символа, начиная с этой точки. Пример. Составим программу, отображающую стрелочный секундомер (только секундную стрелку). В левом верхнем углу экрана (рис.2.10.11) отобразим уже в числовом виде текущее время и число секунд от начала работы программы. Для вычисления абсолютного числа прошедших секунд (DS) из текущего времени (TIME$) извлекаются две цифры часов и умножаются на 360, плюс число минут, умноженных на 60, плюс просто число секунд (переменная S). Это значение является точкой отсчета для секундомера, который работает три минуты (180 секунд) от запуска программы. Важным является преобразование числа секунд в угол поворота стрелки. Заметим, что одна минута равна шести градусам и отсчет градусов идет от горизонтальной оси, а минут – от вертикальной, т.е. следует отнять 90 градусов.
Дата добавления: 2014-12-27; Просмотров: 488; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |