Sunteți pe pagina 1din 6

MINISTERUL EDUCATIEI AL REPUBLICII MOLDOVA

PI Institutul de tiinte Penale i Crimonologie Aplicat


Catedra de psihologie si stiinte socio-umaniste

Lucrare de laborator
Nr.1

Limbajul Prolog
Sistemul informational ce tine de inregistrare a infractiunilor,
infractorilor, victimilor si a daunelor.

A elaborat: Papuc Marcel, gr 12d31


Coordonator: Pelin Nicolae, dr. in informatica
Data
Semnatura

Chiinu 2015

Scopul lucrrii:

Realizarea unui sistem informational ce tine de baza de date


de inregistrare a infractiunilor, infractorilor, victimilor si a
daunelor, ce tine de trei orase si anume Chisinau, Hincesti, Balti.

o Probleme pentru soluionare:


1.Studierea succint a informaiei ce ine de limbajul prolog.
2.Studierea structurii limbajului Prolog.
3.Examinarea scopurilor, exemplelor li rezultatelor problemei.
4.Concluzionarea problemei.

Aspecte teoretice:

Prolog este un limbaj specific inteligenei artificiale (PrologProgra-mming in Logic ) Originea lui aparine lui Alain Calmaureur
de la Universitatea din Marsilia, Frana. Iniial a fost conceput
pentru analiza lexical. Azi in mod curent exista mai multe
implementri att open source ct i proprietare. Printre cele mai
bune implementari open source existente azi se numara swiprolog.
Prolog reprezint o prescurtare de la Programming n logic.
Este un limbaj conceput pentru programarea logic (deci un
limbaj declarativ).
A fost elaborat n cursul anilor 1970 n Europa (mai ales n
Frana i Scoia).
Primul compilator de Prolog a fost creat n 1972 de ctre
Philippe Roussel, la Universitatea din Marsilia.Prologul este
un limbaj compilat, care utilizeaz, n locul relaiilor
matematice,relaii logice ntre mulimi de date.
Exista limbaje algoritmice, orientate obiect si logice.
Limbajele
programrii
logice(Prolog)
sunt
limbaje
declarative.Un limbaj de programare declarativ scutete
programatorul de a mai meniona procedura exact pe care

trebuie s o execute calculatorul pentru a realiza o funcie.


Programatorii folosesc limbajul pentru a descrie o mulime
de fapte i de relaii astfel nct utilizatorul s poat interoga
apoi sistemul pentru a obine un anumit rezultat.

Structura limbajului Prolog:


definitii constante;
tipuri de obiecte definite de utilizator;
declaratiile predicatelor:
reguli.

Un program Prolog contine urmatoarele entitati:


-Fapte despre obiecte si relatiile existente intre aceste obiecte;
-Reguli despre obiecte si relatiile dintre ele, care permit
deducerea(inferarea) de noi fapte pe baza celor cunoscute;
-Intrebari, numite si scopuri, despre obiecte si relatiile dintre ele,
la care progra-mul raspunde pe baza faptelor si regulilor
existente.
Multimea faptelor unui program Prolog formeaza baza de
cunostinte Prolog. In baza de cunostinte a unui program Prolog
sunt incluse si regulile Prolog. Scopurile sunt predicate pentru
care se doreste aflarea valorii de adevar, in contextul faptelor
existente in baza de cunostinte. Obtinerea consecintelor sau a
rezultatului unui program Prolog se face prinfixarea unor scopuri
care pot fi adevarate sau false, in functie de continutul bazeide
cunostinte. Cum scopurile pot fi vazute ca intrebari, rezultatul
unui programProlog este raspunsul la o intrebare sau la o
conjunctie de intrebari.

Exemplu de program Prolog ( baza de date


de
inregistrare
a
infractiunilor,
infractorilor, victimilor si a daunelor)

DOMAINS

Oras=string
Nr_infractiunilor, nr_infractorilor, nr_victimilor,
nr_daunelor=integer
Functie(integer)
Oras( denumire, nr_infractiunilor, nr_victimilor,)
PREDICATES
Meniu
Functie(integer)
CLAUSES
Oras(Chisinau,8900, 2840, 980).
Oras(Hincesti, 5789, 1539, 448).
Oras(Balti, 7983, 2691, 889).
Functie(1):Oras( Chisinau,_,_, nr_infractiuni,_,_),
Write(Chisinau,_,_, nr_infractiuni,_,_)
Functie(2):Oras(Chisinau,_,_, nr_infractorilor,_,_),
Write(Chisinau,_,_, nr_infractorilor ,_,_)
Functie(3):Oras(Hincesti,_,_, nr_victimilor,_,_)
Write(Hincesti,_,_, nr_victimilor,_,_)
Meniu
Write (1- nr_infractiuni), nl
Write (2- nr_infractorilor), nl
Write(3- nr_victimilor), nl
Readln(x), functie(x)

Concluzie:

Analizind limbajul Prolog am detaliat structura lui, tinind cont de


elementele definitorii ale acestuia.
In rezolvarea problemei am observat ca programarea Prolog functioneaza si rezultatele sunt veridice si sunt dupa cerintele
necesare.
Elaborarea lucrarii de laborator nr.1 m-a ajutat sa-mi aprofundez
cunostintele in domeniul respectiv, lucru practic ce-mi va ajuta la
elaborarea diverselor programe, folosind programarea logica,
adica Prologul.
Limbajul Prolog este o baza considerabila pentru elaborarea unor
programe ca viitori juristi, va fi mult mai eficace de a organiza o
baza de date.

Date bibliografice si surse web:


1.Documentul nr.4 Limbajul Prolog de Pastrama Emil,2009;
2. https://ro.scribd.com/doc/14475721/Limbaj-Prolog
Emil, 2010);

(Pastrama

3. https://ro.scribd.com/doc/130417062/Laborator-Limbajul-Prolog
4.
http://ro.wikipedia.org/wiki/Prolog_%28limbaj_de_programare
%29
5.Limbajul Prolog-Doument de Alba V. 2008.