![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Уважаемые возникла такая проблема.
Условие: Имеется некий автобусный маршрут №1. Мы имеем данные по данному маршруту, а именно: а:=время выхода автобуса на маршрут; b:=время схода автобуса с маршрута; с:=время затрачиваемое автобусом на один рейс. К примеру, a:=06.00 b:=22.00 с:=00.30 Задача: Составить дневной график движения маршрута. Т.е. он должен выглядеть так: 06.00 - 06.30 06.30 - 07.00 07.00 - 07.30 07.30 - 08.00 08.00 - 08.30 08.30 - 09.00 и т.д. до 22.00 Начал писать код, совсем запутался. Подскажите, как лучше решить проблему. Код:
function time(a, c: double): double; var h1: double; begin h1 := (INT(A) + INT(c)) * 60 + (frac(a) + frac(c)) * 100; result := int(h1 / 60) + (h1 - int(h1 / 60) * 60) / 100; end; function time2(w, c: double): double; var h1: double; begin h1 := (INT(w) + INT(c)) * 60 + (frac(w) + frac(c)) * 100; result := int(h1 / 60) + (h1 - int(h1 / 60) * 60) / 100; end; procedure TForm1.Button1Click(Sender: TObject); var a,b,c,w,z,x:double; begin a:=StrToFloat(Edit1.Text); b:=StrToFloat(Edit2.Text); c:=StrToFloat(Edit3.Text); w:=time(a,c); z:=time2(0,c); while w <= b do w:=w+z; ListBox1.Items.Add(FloatToStr(w)+' '+FloatToStr(z)); end; end. |