Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа «светофор» 
:(
    Опции темы
werta
Дата 20.4.2007, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.11.2006

Репутация: нет
Всего: нет




Здравствуйте!


Дано - три объекта Shape и кнопка 

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

 smile 
Спасибо!!!
  

PM MAIL   Вверх
JusTalionis
Дата 16.8.2007, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



Это простейшая задачка на развитие логического мышления. Решается так:
Код

' NUM - заданное число.
LB = 3          'длительность зеленого
LR = 2          'длительность красного
tC = LR + LB  'длительность полного периода смены цветов


t1 = int(NUM / tC)     'сколько целых периодов смены цветов произошло за время NUM
t2 = (NUM / tC) - t1   't2 - дробь, представляющая в какую часть очередного периода смены цветов попало окончание времени NUM

ChgClr = LB / tC   'момент смены цвета (в относительных частях периода)

'определение, в какую часть периода попадает момент NUM: в "красную" или "зеленую"
if t2 > ChgClr then print "Красный" else print "Зеленый"


приведенный код является примером, разьясняющим алгоритм. Он намеренно подробен для лучшей демонстрации шагов. 
На практике его можно ЗНАЧИТЕЛЬНО оптимизировать.

С применением функции MOD будет выглядеть так:
Код

LB=3
LR=2

if  (NUM MOD (LB+LR)) > LB then print "Красный" else print "Зеленый"




Это сообщение отредактировал(а) JusTalionis - 16.8.2007, 21:08
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0591 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.