Логические задачи на языке программирования Prolog
1. Ввести предложенный текст программы, реализовать ее и записать на диск. predicates hello. goal hello. clauses hello:- makewindow(1,7,7,"Мояперваяпрограмма",4,56,14,22), nl, write("Введитевашеимя,\n","затемнажмите Enter."), cursor(4,6), readln(Name),nl, write("Добро пожаловать\n в PDC Prolog,\n","",Name,"!"). Результат: Добро пожаловать в PDCProlog, Vladimir! 2. Умышленно ввести опечатки в текст программы и ознакомиться с сообщениями об этих опечатках, исправить их. predicates hello. goal hello. clauses hello:- makewindow(1,7,7,"Моя первая программа",4,56,14,22) nl, write("Введите ваше имя,n","затем нажмите Enter."), cursor(4,6), readln(Name)nl, write("Добро пожаловать\n в PDC Prolog,\n",",Name,!"). Результат: 423 Syntaxeror. Задание 2. Реализовать программу с вводом перечисленных ниже целей и проверить получаемые результаты. Цели внешние. predicates book(symbol,symbol,symbol,integer). clauses book("Фигурнов В.Э.","IBM PC для пользователя","ФиС",1988). book("Петухов О.А.","Проектирование ОРБД","Судостроение",1984). book("Петухов О.А.","Объектно-реляционные модели данных","СЗПИ",1987). book("Петухов О.А.","Моделирование СМО","СЗПИ",1989). book("Петухов О.А.","PDC Prolog","СЗПИ",2000). book("Анкудинов Г.И.","Теория автоматов","СЗПИ",1997). book("Николаев В.И.","Дискретные структуры","СЗПИ",1999). Результат: X= Proektirovanie OR BD, Y=SUDOSTROENIE, Z=1984 X=Object models of DATA, Y=SZPI, Z=1987 X=Modelirovanie CMO, Y=SZPI, Z=1989 X=PDC Prolog, Y=SZPI, Z=2000 4 Solutions X= Proektirovanie OR BD X=Object models of DATA X=Modelirovanie CMO X=PDC Prolog 4 Solutions E=Petuchov O.A., X=Object models of DATA, Z=1987 E=Petuchov O.A., X=Modelirovanie CMO, Z=1989 E=Petuchov O.A., X= PDC Prolog, Z=2000 E=Ankudinov G.I., X=Automat theory, Z=1997 E=Nikolaev V.I., X=Diskretniye struktury, Z=1999 5 Solutions Задание 3. Реализовать программу с вводом всех перечисленных внешних целей и проверить получаемые результаты: domains name=symbol year_in, year_out = integer predicates parents(name,name) woman(name) man(name) offspring(name,name) father(name,name) mother(name,name) parent_parents(name,name) brother(name,name) grandfather(name,name) grandmother(name,name) emperor(name,year_in,year_out) emperor_was(name,integer) clauses parents("Петр III","Павел I"). parents("Екатерина II","Павел I"). parents("Павел I","Александр I"). parents("Павел I","Николай I"). parents("Николай I","Александр II"). parents("Александр II","Александр III"). parents("Александр III","Николай II"). woman("Екатерина II"). man("Петр III"). man("Павел I"). man("Алексндр I"). man("Николай I"). man("Александр II"). man("Александр III"). man("Николай II"). offspring(Y,X):-parents(X,Y). father(X,Y):-parents(X,Y),man(X). mother(X,Y):-parents(X,Y),woman(X). parent_parents(X,Z):-parents(X,Y),parents(Y,Z). brother(X,Y):-parents(Z,X),parents(Z,Y),man(X),X<>Y. grandfather(X,Y):-father(X,Z),father(Z,Y). grandmother(X,Y):-mother(X,Z),father(Z,Y). emperor("Петр III",1761,1762). emperor("Екатерина II",1762,1796). emperor("Павел I",1796,1801). emperor("Александр I",1801,1825). emperor("Николай I",1825,1855). emperor("Александр II",1855,1881). emperor("Александр III",1881,1894). emperor("Николай II",1894,1917). emperor_was(X,Y):-emperor(X,A,B),Y>=A,Y<=B. Результат: Y=aleksandr I X=petr III, A=1761, B=1762 X=pavel I 1 Solution X=ekaterina II, A=1762, B=1769 1 Solution X=pavel I, A=1796, B=1801 X=aleksandr I, A=1801, B=1825 X=nikolay I, A=1825, B=1855 X=aleksandr II, A=1855, B=1881 X=aleksandr III, A=1881, B=1894 X=nikolay II, A=1894, B=1917 8 Solutions Задание 4. 1. Реализовать приведенную программу: domains name=symbol predicates star(name) planet(name) revolve(name,name) satellite(name,name). goal satellite(X,"Марс"), write(X," спутник Марса."), nl. clauses star("Солнце"). planet("Земля"). planet("Марс"). revolve("Земля","Солнце"). revolve("Марс","Солнце"). revolve("Луна","Земля"). revolve("Фобос","Марс"). revolve("Деймос","Марс"). satellite(X,Y):-planet(Y),revolve(X,Y). Результат: Фобос спутник Марса. 2. Написать и реализовать программу установления родственных связей: Василий имеет дочь Ольгу, у которой два сына Михаил и Максим. Использовать внешние и внутренние цели. domains name=symbol predicates men(name) mama(name) sons(name,name) doughter(name,name) deda(name,name) brother(name,name). goal doughter(Z,Y), write(Z,Y), nl. clauses men(“Vaciliy”). men(“Michail”). men(“Maxim”). mama(“Olga”). sons(“Michail”,”Olga”). sons(“Maxim”,”Olga”). doughter(“Olga”,”Vasiliy”). deda(X,Y) :--men(X),men(Y),sons(X,Y),doughter(Z,Y). brother(X,Y) :--men(X),men(Y), sons(X,Z),sons(Y,Z),X<>Y. Результат: Olga, Vaciliy
Рефераты по информатике1. Ввести предложенный текст программы, реализовать ее и записать на диск. predicates hello. goal hello. clauses hello:-
Оценок: 319 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.