Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2016, 15:39   #11
denisy4
 
Регистрация: 03.03.2016
Сообщений: 4
По умолчанию

Цитата:
я бы уточнил, в чём именно задаётся время в пути - в минутах, часах, сутках?...
время в пути (дробное число) я думаю часы минуты, раз надо отсортировать по времени >24
там будет что-то вроде
Код:
if vpt>24 then ...
denisy4 вне форума Ответить с цитированием
Старый 03.03.2016, 16:11   #12
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от denisy4 Посмотреть сообщение
время в пути (дробное число) я думаю часы минуты, раз надо отсортировать по времени >24
там будет что-то вроде
Код:
if vpt>24 then ...
http://www.delphibasics.ru/Int.php

пригодится для подобной проверки.
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 03.03.2016, 16:11   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
время в пути (дробное число) я думаю часы минуты
хорошо, вполне допустимо.
Но учтите, что для учебной задачи не особо важно, но в реальной жизни тут можно нарваться на диссонанс.
Поезд идёт 1.5 часа - сколько это часов и минут?
Поезд идёт 1.1 часа - сколько это часов и минут?

время движения поезда по расписанию 1 час 19 минут.
какое число вводить в программу?

вопросы, как Вы понимаете, риторические. ответа не требуют...

Цитата:
надо отсортировать по времени >24
там будет что-то вроде
да, это верно.


Цитата:
Сообщение от Dvoishnik
пригодится для подобной проверки
Dvoishnik, Зачем?!!! Чем Вам сравнение вещественного числа не угодило?!
Не надо создавать сложности и придумывать трудности!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.03.2016, 16:26   #14
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
хорошо, вполне допустимо.
Но учтите, что для учебной задачи не особо важно, но в реальной жизни тут можно нарваться на диссонанс.
Поезд идёт 1.5 часа - сколько это часов и минут?
Поезд идёт 1.1 часа - сколько это часов и минут?

время движения поезда по расписанию 1 час 19 минут.
какое число вводить в программу?

вопросы, как Вы понимаете, риторические. ответа не требуют...


да, это верно.



Dvoishnik, Зачем?!!! Чем Вам сравнение вещественного числа не угодило?!
Не надо создавать сложности и придумывать трудности!
если человек захочет уточнить что 2 часть дроби это будут минуты проверить, что их не больше 60 очень поможет.

П.С. я не правильно понял к чему был приведен код с if (не дочитал)
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 03.03.2016, 17:01   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
если человек захочет уточнить что 2 часть дроби это будут минуты
а вот так КАТЕГОРИЧЕСКИ не рекомендую делать.
Ни в учебной, ни в реальной задаче.

Нужно или хранить дату/время в общепринятом формате (смотри тип TDateTime)
или хранить вещественное число, где целая часть - это часы, а дробная часть - это отношение минут к часам (2 часа 17 минут это 2*60+17 = 137 минут = 137/60 = 2,28333 часов.)
или хранить отдельно часы и отдельно минуты.

Если бы речь шла о Delphi и оконном приложении, то я бы использовал первый вариант и визуальный компонент, позволяющий вводить время. Он не даст ввести неверное значение времени. Он под это уже заточен.

Если же речь идёт про обычный Паскаль и консольное приложение, то тут никуда не денешься - нужно вводить числовые значения.
Я бы просил ввести часы и минуты (целые значения) и программно переводил их в вещественное число (по примеру, указанному выше).
А при выводе производил обратное действие (и выводил ЧЧЧ:ММ)

Но, конечно, в любом случае при вводе данных их нужно проверять на корректность.


p.s. избегайте, пожалуйста, излишнего цитирования...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.03.2016, 17:56   #16
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а вот так КАТЕГОРИЧЕСКИ не рекомендую делать.
Ни в учебной, ни в реальной задаче.
Цитата:
Сообщение от denisy4 Посмотреть сообщение
Структура записи: пункт отправления, пункт назначения, время в пути (дробное число), время отправления (два поля записи: часы и минуты)

Какая задача такое и решение.


Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
часть - это отношение минут к часам (2 часа 17 минут это 2*60+17 = 137 минут = 137/60 = 2,28333 часов.)
ну да так проще.
Терпение!Дежурный экстрасенс скоро свяжется с вами!

Последний раз редактировалось Dvoishnik; 03.03.2016 в 17:59.
Dvoishnik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
файл, содержащий справки об отправке поездов дальнего следования [ Senya Black ] Помощь студентам 2 11.05.2012 08:31
Создать файл, содержащий справки об отправке поездов [ Senya Black ] Паскаль, Turbo Pascal, PascalABC.NET 4 04.05.2012 10:35
Создать файл, содержащий справки об отправке поездов [ Senya Black ] Паскаль, Turbo Pascal, PascalABC.NET 2 11.04.2012 19:21
Задача "Кинотеатр" в Pascal - типизированный файл с записями о репертуаре, сеансах, местах в зале и билетах gl0balweb Паскаль, Turbo Pascal, PascalABC.NET 4 26.03.2012 19:12