Кто в какой стране отдыхал и кто сколько заплатил за путевку? - Prolog
Формулировка задачи:
Три семейные пары– Ивановы, Петровы и Сидоровы купили путевки за 2000$, 3000$ и 5000$ в Турцию, Италию и Испанию. Ивановы поехали не в Турцию, Петровы – не в Италию. Те, кто поехали в Турцию, не платили за
путевку 5000$. Те, кто поехали в Италию, заплатили 3000$. Петровы не платили за путевку 2000$. Кто в какой стране отдыхал и кто сколько заплатил за путевку?
Выдает ошибки
ERROR: f:/иис/var25.pl:3:6: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:4:6: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:5:6: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:6:5: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:7:5: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:8:5: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:9:7: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:10:7: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:11:8: Syntax error: Operator expected
ERROR: f:/иис/var25.pl:27:31: Syntax error: Operator expected
Warning: f:/иис/var25.pl:28:
Clauses of go/2 are not together in the source-file
Как исправить???
Листинг программы
- Family('Ивановы').
- Family('Петровы').
- Family('Сидоровы').
- Price('2000$').
- Price('3000$').
- Price('5000$').
- Country('Турция').
- Country('Италия').
- Country ('Испания').
- go('Ивановы','Италия').
- go('Ивановы','Испания').
- go('Петровы','Турция').
- go('Петровы','Испания').
- go('Сидоровы','Турция').
- go('Сидоровы','Италия').
- go('Сидоровы','Испания').
- pay('Ивановы','2000$').
- pay('Ивановы','3000$').
- pay('Ивановы','5000$').
- pay('Петровы','3000$').
- pay('Петровы','5000$').
- pay('Сидоровы','2000$').
- pay('Сидоровы','3000$').
- pay('Сидоровы','5000$').
- go(Family,'Турция'):-not pay(Family,'5000$').
- go(Family,'Италия'):-pay(Family,'3000$').
- not(go('Ивановы','Турция')).
- not(go('Петровы','Италия')).
- not(pay('Петровы','2000$')).
Решение задачи: «Кто в какой стране отдыхал и кто сколько заплатил за путевку?»
textual
Листинг программы
- List = [go('Ивановы', 'Италия', '$3000'), go('Петровы', 'Испания', '$5000'), go('Сидоровы', 'Турция', '$2000')] ;
Объяснение кода листинга программы
- Создается список
List
с помощью функцииgo/3
, которая принимает три аргумента: имя семьи, название страны и стоимость путевки. - Функция
go/3
вызывается три раза, каждый раз добавляя в список новую запись о семье, стране и стоимости путевки. - Первая запись в списке указывает, что семья
Ивановы
отдыхала в Италии, а стоимость путевки составила $3000. - Вторая запись в списке указывает, что семья
Петровы
отдыхала в Испании, а стоимость путевки составила $5000. - Третья запись в списке указывает, что семья
Сидоровы
отдыхала в Турции, а стоимость путевки составила $2000.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д