Cuprins
- Capitolul 1: Intrǎri,Ieșiri,Fișiere
- 1.1. Funcţii de ieșire
- 1.1.1. Predicatul write
- 1.1.2 Predicatul writef
- 1.2. Predicate de intrare
- 1.3. Fișiere
- Capitolul 2: Mecanisme definiţionale evaluate
- 2.1. Forma EVAL
- 2.2. Forme funcţionale
- 2.3. Expresii LAMBDA
- 2.4. Generatori. Argumente funcţionale
- 2.5. Funcţii MAP
- 2.6. Bibliografie
- 2.7. Probleme prolog
Extras din proiect
Capitolul 1: Intrǎri,Ieșiri,Fișiere
1.1. Funcţii de ieșire
1.1.1. Predicatul write
Cum am introdus deja,write este un predicat cu care putem scrie pe ecran orice tip de obiecte.Formatul general:
Write(arg1,arg2 argn) (i,i, i)
Un obiect compus:
Ob=book(author,title)
Îl putem scrie și cu :
Write(ob)
Dar și mai clar:
Ob=book(A,T),
Write(″autor:″,A,″titlu:″,T).
Am vǎzut de asemenea cum poate fi folosit write pentru a scrie obiecte complexe ca liste, arbori. Se parcurge obiectul și se scriu obiectele elementare sau se scrie obiectul pur și simplu.În acest caz, structura obiectului e greu lizibilǎ.
Pentru a scrie cât mai clar, putem utiliza texte explicative(exemplu:″autor:″) și alinieri, utilizând tabulare(’t’) sau linie nouǎ (’n’) în loc de ’n’ se poate folosi și predicatul nl (newline).
Exemplu:
Se scrie un tabel de forma:
Nume Prenume salariu
Datele fiind extrase prin unificare dintr-o bazǎ de date.
clauses
write_base:-
write,nl,
write(”Nume”,’t’.”prenume”,’t’,”salar”),nl,
write),nl,
write_tabel.
write_tabel:-
person(Nume,Prenume,salar),
write(nume,’t’,Prenume,’t’,salar),
nl,
write_tabel.
write_tabel.
1.1.2 Predicatul writef
Este analog lui write, în plus are un format dupǎ care se scrie. Formatul general este:
Writef(format,arg1, ,argn) (i,i, i)
Format precizeazǎ formatul pentru fiecare argument.
Formatele au forma:
%(-)m.pf
Unde:
’-’ -Determinǎ alinierea la stânga(implicit e la dreapta).
m - Este numǎrul maxim de cifre pentru partea întreagǎ.
p - Este numǎrul maxim de cifre pentru partea zecimalǎ.
f -Poate fi:
- f-real în zecimal fixat;
- e-real în notaţie exponenţialǎ(ex.12.5e-5);
- g-real scurt (implicit);
- d-caracter sau întreg cu semn;
- u-caracter sau întreg fǎrǎ semn;
- x-caracter sau numǎr hexazecimal;
- c-caracter sau întreg dat prin cod ASCII;
- r-referinţǎ la baza de date;
- X-hexazecimal lung(string,referinţǎ la o bazǎ de datǎ);
- s- string sau simbol.
Exemplul de mai sus îl rescriem cu format:
Write_tabel:-
Person(Nume,Prenume,salar),
Write("&-15 t &-15 t &5”,Nume,Prenume,salar ),nl,
Write_tabel.
Preview document
Conținut arhivă zip
- Inteligenta Artificiala.doc