Оценка:
Опубликованно: 26.11.2007.
Язык: Латышский
Уровень: Университет
Литературный список: Нет
Ссылки: Не использованы
  • Конспект 'Mājas darbs kursā "Programmēšanas valodas" - Prolog', 1.
  • Конспект 'Mājas darbs kursā "Programmēšanas valodas" - Prolog', 2.
  • Конспект 'Mājas darbs kursā "Programmēšanas valodas" - Prolog', 3.
Фрагмент работы


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)}…

Коментарий автора
Atlants