Курсовая работа: Математические модели

write("\nПуть: ",List,"\nЧисло остановок: ",

Остановки),nl.

stations(Начало,Конец,Пром,Ost,List):-маршрут(Начало,Конец,List,Ost,_,[Начало]),

includ(Пром,List).

%проверка, чтобы элемента из списка1 входили в список2

includ([X],List):-принадлежит(X,List).

includ([X|List1],List):-принадлежит(X,List),includ(List1,List).

vvod(1,List,List1):-write("Введите последнюю промежуточную станцию: "),

readln(Str),not(принадлежит(Str,List1)),List=[Str],!.

vvod(N,List,List1):-N>1,write("Введите промежуточную станцию: "),

readln(Nomer),

not(принадлежит(Nomer,List1)),N1=N-1,

vvod(N1,List2,[Nomer|List1]),List=[Nomer|List2],!;

write("Станция с таким названием уже была введена"),nl,vvod(N,List,List1).

digit(Str,Digit):- str_int(Str,Digit).

vvod2(N):-write("Сколько вы хотите ввести промежуточных станций: "),nl,

readln(Str),digit(Str,N),!;

write("Была введена не цифра. Повторите ввод"),nl,vvod2(N).

vvod1(N,List):-vvod2(N),vvod(N,List,[]).

GOAL

поиск.

К-во Просмотров: 358
Бесплатно скачать Курсовая работа: Математические модели