Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
DOMAINS. name [Иванов,Сидоров,Петров].
List1 = integer* List2 = symbol* PREDICATES name [List1] score [List2] CLАUSES name [" Иванов", " Сидоров", " Петров" ]. score [1, 2, 3, 4]. GOAL Name [X], Name [ _, Y, _ ], Score [Z, _, F, _ ], write(X, ” ”, Y, ” ”, Z, ” ”, F) Мысал 2. Тізім қ ұ рамын баспағ а шығ ару бағ дарламасы: DOMAINS List2=symbol* List1=integer* PREDICATES Print _ list (List1) Print _ list (List2) CLAUSES Print _ list ([ ]). Print _ list ([Head | Tail]): -write (Head), nl, Print _ list (Tail). GOAL Print _ list ([1, 2, 3, 4]) Мысал 3. X, Y тізім кө бейтінділерінің суммасын табу бағ дарламасы. DOMAINS Vector=integer* PREDICATES Prod(Vector, Vector, Vector) CLAUSES prod([ ], [ ], 0). prod([X|Xs], [Y|Ys], S): -prod(Xs, Ys, Sp), S=X*Y+Sp. GOAL prod([1, 2, 3], [7, 8, 9], Res), write(“Res=”, Res) Мысал 4. Тізімнің берілген элементінің индексін табу.
DOMAINS L=integer* X=integer PREDICATES Poluch(L, X, X) CLAUSES poluch([X|Y], 1, X). poluch([W|Y], N, X): -M=N-1, poluch(Y, M, X). GOAL poluch([1, 2, 3, 4], 3, X), write(X) Мысал 5. Тізімнің максималды элементін табу.
DOMAINS L=integer* X=integer PREDICATES Max(L, X) CLAUSES max([X], X). max([X|Y], X): -max(Y, W), X> W,!. max([X|Y], W): -max(Y, W). GOAL clearwindow, max([1, 2, 10, -4], X), write(X) Мысал 6. Конкатенация қ атынасын қ олданып, тізімнің екінші элементін баспағ а шығ ару. DOMAINS Z=integer X, Y=integer* PREDICATES Konk(X, X, X) Vtor(Z, X) CLAUSES konk([], L, L). konk([X|L1], L2, [X|L3]): -konk(L1, L2, L3). vtor(X, L): -konk(_, [_, X|_], L). GOAL clearwindow, L=[1, 2, 3, 4], vtor(X, L), write(X) Мысал 7. Пә ндер бойынша “4” жә не “5” - тері бар студенттердің фамилияларын экранғ а шығ ару DOMAINS Col=integer* Nam=symbol* PREDICATES Find(Col, Nam, Nam) CLAUSES find([ ], [ ], []): -!. find([H1|T1], [H2|T2][H3|T3]): -H1> =4, H1< =5, write(H2, " ", H2, ” ”, H3), nl, Find(T1, T2, T3); Find(T1, T2, T3). GOAL clearwindow, makewindow(1, 1, 4, " find", 1, 1, 10, 20), find([3, 2, 4, 5], [ivanov, petrov, kozlov, sidorov], [mat, xim, inf, fiz]). Мысал 8. Мә зірдің пункттерін жү зеге асыратын, бағ дарлама қ ұ ру: фамилия бойынша іздеу, жазу нө мірі бойынша, сұ рақ тарды қ арастыру. DOMAINS Iniz=inizial(FIO, POL, GOD) In=ini(FIO, POL, GO) i=integer FIO, POL, Text, Go=symbol GOD, NUM=integer g=gr(NUM, Iniz) c=gh(Text, In) PREDICATES Bezr(g) Vopros(c) Vopros1(c) Start Process(i) Patch GOAL Start. CLAUSES /* Мә зір қ ұ ру процедурасы */ start: -makewindow(1, 2, 7, " Жұ мыссыздар тізімі", 0, 0, 25, 80), Clearwindow, Patch. /* Мә зір басқ ару процедурасы */ patch: -cursor(7, 0), write(" 1-Фамилиясы бойынша іздеу"), nl, write(" 2-Нө мір бойынша іздеу"), nl, write(" 3-Сұ рақ тарды қ арастыру"), nl, write(" 4-Шығ у"), nl, write(" => "), Readint(Choise), Choise> =0, Choise< 4, Clearwindow, Process(Choise), Retractall(_); Clearwindow, Choise=4, Retractall(_),
|