Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Пример запроса к программе 2.




Программа 3. Использование предиката отсечения.

 run:- write('Input A,B, U:'),nl,

read(A), number(A), read(B), number(B),

read(U), number(U), func(A,B,U,Y),

write('Y = '), write(Y),nl.

func(A,_,U,Y):-U<A,!,Y is U^2+A.

func(_,B,U,Y):- U=<B,!,Y is B-U.

func(A,B,U,Y):- Y is (A+B)/(U^2+1).

 

Пример запроса.

 

 

Использование стандартного предиката управления логическим выводом fail.

Предикат fail используется для программирования повторяющихся действий (циклических программ). В общем случае итерационное правило имеет следующий вид:

<заголовок итерационного правила>:¾<предикаты>,fail.

 

Программа 4.

city('Deli', 'India', 'Asia').

city('Moscow', 'Russia', 'Europe' ).

city('Praha', 'Chehia', 'Europe' ).

city('London', 'Endland', 'Europe' ).

city('Rome', 'Italy', 'Europe' ).

city('Mexico', 'Mexica', 'America' ).

city('Pekin', 'China', 'Asia' ).

city('Tokio', 'Japan', 'Asia' ).

 show_cities(K):-city(X,_, K),write(X),nl,fail.

show_cities(_).

 

Пример запроса.

 

 

Программа 5

 

lector('Stepanov','Geografiya','TPR','090608').

lector('Panov','Informatika','ASP','140608').

lector('Lushin','Ekonomika','ASP','170608').

lector('Katovcev','Cherchenie','AY','170608').

lector('Zelgedis','Mehanika','TPR','230608').

student('Ivashin','TPR','83292').

student('Kuznecova','TPR','38903').

student('Dragunova','TPR','92092').

student('Pervova','TPR','31024').

student('Cigankov','TPR','18949').

student('Shuvalov','ASP','30082').

student('Bazdreva','ASP','89009').

student('Faizulina','ASP','32990').

student('Gusev','ASP','87376').

student('Fomichev','ASP','90032').

student('Krapivencev','AY','22186').

student('Kononova','AY','69777').

student('Loiter','AY','23992').

student('Qwesar','AY','39992').

student('Vorasat','AY','99610').

% Выдать на экран фамилии всех студентов, которые сдают экзамен определенного числа, дата

% задается следующим образом: ‘хх.хх.xxxx’:

 

a:-write('Vvedite daty: '),read(N),nl,

write('Familii studentov: '),nl,lector(_,_,X,N),student(Y,X,_),

write(Y),nl,fail.

a.

 

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 260.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...