![]() |
|
|
![]()
|
|
| PunishMan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 23.4.2010 Репутация: нет Всего: нет |
Предметная область – семья. Каждая семья может быть описана структурой
из трех компонент: мужа, жены и детей. Каждый член семьи может быть описан структурой: имя, отчество, фамилия, год рождения, пол, ежемесячный доход. Для детей добавить поле «близнец». Реализовать следующие типы запросов: 1. Проверить, существует ли в БД заданный человек (по ФИО); 2. Найти всех работающих детей; 3. Найти всех работающих мужей, чей доход больше чем у жены; 4. Найти всех людей, которые не работают и родились до указанного года; 5. Найти число семей, у которых есть близнецы. Вот мой код: Predicates proverka(symbol,symbol,symbol) robotyaga(symbol,symbol,symbol,integer) robotyagajena(integer) robotyagamuj(symbol,symbol,symbol,integer) muj(symbol, symbol, symbol, symbol, symbol, integer) jena(symbol, symbol, symbol, symbol, symbol, integer) detye(symbol, symbol, symbol, integer, symbol, integer, symbol) people(symbol, symbol, symbol) clauses muj("Vladimir", "Vladimirovich", "Pu", 1967, "M", 20000). jena("Ludmila", "Elenovna", "Belogovec", 1975, "J", 15000). detye("Aleksey", "Maksimovich", "Kruglov", 1988, "M", 5000, "Net"). jena("Ekaterina", "Alekseevna", "Pu", 1965, "J", 15000). detye("Anton", "Vladimirovich", "Pu", 1988, "M", 7000, "Bliznec"). detye("Kirill", "Vladimirovich", "Pu", 1988, "M", 8000, "Bliznec"). muj("Aleksandr", "Borisovich", "Belogolovec", 1979, "M", 25000). detye("Aleksey", "Aleksandrovich", "Belogolovec", 1989, "M", 5000, "Net"). muj("Stepan", "Stepanovich", "Kruglov", 1967, "M", 15000). jena("Elezaveta", "Anatolievna", "Kruglov", 1969, "J", 20000). people(F,I,O):- muj(F,I,O,_,_,_). people(F,I,O):- jena(F,I,O,_,_,_). people(F,I,O):- detye(F,I,O,_,_,_,_). proverka(F,I,O):- people(F,I,O), write(F,I,O),nl. proverka(_,_,_):- write("No"),nl. robotyaga(F,I,O,X):- detye(F,I,O,_,_,X,_),X > 0. robotyaga(F,I,O,X):- write("No"),X=0. robotyagajena(X):- jena(_,_,_,_,_,X). robotyagamuj(F,I,O,X):- muj(F,I,O,_,_,X). people2(G,X):- muj(_,_,_,G,_,X). people2(G,X):- jena(_,_,_,G,_,X). people2(G,X):- detye(_,_,_,_,G,_,X). proverka2( people3(F):- detye(_,_,_,_,_,_,"Bliznec"). proverka3(F):- people3(F), semya(F):- proverka3(F). detye(_,_,_,_,_,_,"Net"):- fail. goal readln(F), readln(I), readln(O), proverka(F,I,O). Хоть совет дайте, как дальше продолжать.. |
|||
|
||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |