Evaluation:
Published: 26.11.2007.
Language: Latvian
Level: College/University
Literature: n/a
References: Not used
  • Summaries, Notes 'Mājas darbs kursā "Programmēšanas valodas" - Prolog', 1.
  • Summaries, Notes 'Mājas darbs kursā "Programmēšanas valodas" - Prolog', 2.
  • Summaries, Notes 'Mājas darbs kursā "Programmēšanas valodas" - Prolog', 3.
Extract


a.daļa
Programmas teksts:
/* Predikāts, kas atrod saraksta garumu */
garums([],0):-!.
garums([_|T],S):-garums(T,S1), S is S1 + 1.

/* Predikāts, kas atrod saraksta lielāko elementu */
/* Ja saraksts ir tukšs, lielākais elements ir 0 */
max([],0):-!.
/* Salīdzinām katru saraksta elementu ar līdz šim lielāko atrasto elementu */
max([H|T],X):-maxEval(T,H,X).

/* Papildus predikāts, kas salīdzina saraksta elementus */
maxEval([H|T],X,X1):- H>=X, !, maxEval(T,H,X1).
maxEval([H|T],X,X1):- H maxEval([],X,X).


3. uzdevums

a(a(3,A,1),a(C,A,B),C)
a(Z,a(Y,b(3,2),X),a(2,5,Z))

{} a(3,A,1)=Z, a(C,A,B)=a(Y,b(3,2),X), C=a(2,5,Z)
{Z → a(3,A,1)}
a(C,A,B)=a(Y,b(3,2),X), C=a(2,5,a(3,A,1))
{Z → a(3,A,1)}…

Author's comment
Atlants