альна ціна - вводяться як числа.
4. Алгоритм
Begin
{Завантаження транспортної схеми};
{Введення вихідних даних і заповнення шаблону};
{Виклик процедури пошуку з введеним шаблоном, побудована частина маршруту - порожня};
{Висновок отриманого безлічі маршрутів}
End
{Процедура пошуку маршруту з даними шаблоном і вже побудованої частиною маршруту}
Begin
While {переглянуті не всі рейси} do begin
If {відповідає тип транспорту} and {Поточний рейс не дорівнює попередньому} then
Begin
If {місто відправлення присутній у рейсі, причому раніше кінцевої станції} then begin
{Розрахувати час відправлення найближчого наступного рейсу}
Repeat
{Перейти до наступного міста};
{Розрахувати час дороги з урахуванням нової ділянки}
If {поточний місто ще не проїжджали} and {час шляху не перевищує максимального} p> and {кількість пересадок НЕ перевищує максимального} and {не приїхали [1]}
then {Додати до маршруту проїхати ділянку. Викликати процедуру пошуку маршруту
від поточного міста до кінцевого з новими значеннями часу}
Until {поточний місто проїжджали} or {час вичерпано} or {приїхали} or {кінець рейсу};
If {приїхали} and {часом не перевищено} and {мінімальна ціна рейсу не вище
допустимої} then {Додати побудований маршрут в мно-во відповідей на потрібне місце}
end;
end;
{Перейти до наступного рейсу}
end;
end
5. Текст програми на мові Pascal
uses Crt, Date, Graph;
Const MaxCity = 100; MClass = 6;
Type
CityCode = 1 .. maxcity; {Внутрений код міста}
Week = 0 .. 10079; {Тип час в мінутак з 0:00 понеділка}
DayTable = ^ IDayTable; {Таблиця відправлень від початкової станції}
IDayTable = record
Time: Week;
Next: DayTable;
end;
WayKind = 1 .. 4; {Тип шляху (аеро, море, ж.д, авто)}
WayClass = 1 .. MClass; {Клас або тип перевезення}
Cities = array [CityCode] of {Назви та координати міст}
record
name: string [20];
x, y: word;
end;
mcost = array [wayclass] of longint; {Таблиця вартості за класами}
Way = record
City: Citycode;
Delay, Reboard: Word;
Cost: mcost;
end;
WayP = ^ way;
PWay = ^ Way1; {Інформація про містах прямування рейсу}
Way1 = record
Way: array [1 .. 4] of way;
next: PWay;
end;
wclass = array [WayClass] of boolean;
PFlight = ^ Flight;
Flight = record {Інформація про рейсі}
company: string [20];
number: string [10];
totalstation: CityCode;
table: DayTable;
path: PWay;
kind: WayKind;
class: WClass;
...