Внутрішньо кожне місто позначається своїм номером (елемент інтервального типу), що зменшує витрати пам'яті і спрощує обчислення. А для зберігання назв міст та їх координат для відображення на екрані використовується свій тип - масив, елементами якого є записи з полями для назви міста і координат. Статичний масив використовується для простого і швидкого доступу до цих даних.
Для зберігання часу шляху використовується тип Integer. Негативні числа потрібні для контролю за перевищенням часу шляху. p> Для зберігання ціни використовується тип LongInt. Причини вибору цього типу очевидні. p> Тип Pattern для зберігання вихідних параметрів пошуку являє собою запис з полями: час відправлення щодо понеділка у хвилинах, початковий і кінцевий місто, допустимі типи транспорту, допустимі класи, максимальна кількість пересадок, максимальний час шляху, максимальна ціна, допустимі класи. Вибір типів для всіх полів крім В«допустимі типи транспортуВ» обговорювалося вище. Для поля В«допустимі типи транспортуВ» обраний масив де тип індекс - це тип транспорту, а тип елемента - булевський. Це зроблено через те що маршрут може включати. Поїздки на різних видах транспорту (тих де в значення true). Запис використана щоб передавати всі дані єдиним об'єктом в процедуру пошуку маршруту.
Тип Link призначено зберігання інформації про частину маршруту між двома містами, з'єднаними одним рейсом. Крім посилання на попередню таку частину він містить посилання на рейс, коди початкового і кінцевого міста, загальну ціну ділянки, час відправлення, відносно заданого користувачем час відправлення, загальний час шляху по ділянці. Типи полів і обгрунтування їх вибору обговорювалися вище. У сукупності ланцюжок таких елементів задає один маршрут.
Тип AnswerList призначено відповіді - множини всіх допустимих маршрутів. Являє себе односпрямований список, в кожному елементі якого окрім посилання на наступний є поле типу маршрут (Link), загальний час шляху, загальна максимальна і мінімальна ціна, кількість пересадок. Типи полів та обгрунтування обговорювалися вище.
Зовнішнє подання:
Транспортна система зберігається в зовнішньому текстовому файлі. Файл може бути створений будь-яким текстовим редактором. У файлі зазначається таке:
Кількість міст. З наступного рядка починається інформація про міста: назва міста, на наступній сходинці координати. Після всіх міст починається інформація про рейси: компанія, номер, тип, класи, кількість станцій; номер міста, час шляху, час стоянки ціна за класами, для кожного міста; час відправлення від початковій станції. p> Так як ця інформація редагується вкрай рідко, причому розробником мережі, то такий спосіб є найбільш прийнятним.
Назва міст вводяться як рядки, дата - в будь-якому форматі (дд-мм-рр, дд-мм-рррр, дд-міс-рр і т.п.) час гг: мм. За Типово покладається дата - поточний день, час 0:00.
Максимальний час шляху, максимальне число пересадок, максим...