Referat Mediul Prolog Vlasie (Alecsa) Liviana

16
UNIVERSITATEA DIN PETROŞANI FACULTATEA DE ŞTIINŢE MASTER: SISTEME INFORMATICE DE GESTIUNE Referat Mediul Prolog Masterand, Vlasie (Alecsa) Liviana

description

referat

Transcript of Referat Mediul Prolog Vlasie (Alecsa) Liviana

Page 1: Referat Mediul Prolog Vlasie (Alecsa) Liviana

UNIVERSITATEA DIN PETROŞANIFACULTATEA DE ŞTIINŢEMASTER: SISTEME INFORMATICE DE GESTIUNE

Referat

Mediul Prolog

Masterand,

Vlasie (Alecsa) Liviana

PETROŞANI- 2014 –

Page 2: Referat Mediul Prolog Vlasie (Alecsa) Liviana

C U P R I N S

Prezentarea mediului de programare ...................................................................................3

Meniul principal ..................................................................................................................4

Cheile funcţionale ................................................................................................................5

Clauze Turbo Prolog ............................................................................................................7

Variabile în Turbo Prolog ....................................................................................................8

Scopuri..................................................................................................................................8

Exemple ...............................................................................................................................9

Bibliografie..................................................................................................................................10

2

Page 3: Referat Mediul Prolog Vlasie (Alecsa) Liviana

Prezentarea mediului de programare

Mediul TURBO PROLOG este asemănător celorlalte medii Borland, fiind asistată de

o interfaţă prietenoasă, prin meniuri.

Componentele de bază ale sistemului sunt:

PROLOG.EXE – mediul şi compilatorul PROLOG;

PROLOG.LIB – biblioteca PROLOG;

INIT.OBJ – un modul de iniţializare, necesar la orice linkeditare;

PROLOG.HLP – fişier de helpuri- uri;

PROLOG.ERR – mesaje de erori;

PROLOG.OVL – over-ul compilatorului;

în afară de aceste componente fiind utilizate componentele Borland:

TLINK.EXE – editor de legături;

TLIB.EXE – bibliotecarul borland;

BGI – interfaţa grafică borland.

Lansarea sistemului se face prin lansarea fişierului PROLOG.EXE. Mediul afişează

primul ecran:

3

Page 4: Referat Mediul Prolog Vlasie (Alecsa) Liviana

apoi se tastează <Enter> şi va apărea un meniu principal şi patru ferestre de lucru:

Meniul principal constă din submeniurile:┌────────────────────────────────────────────────────────────┐

│Files Edit Run Compile Options Setup │

└────────────────────────────────────────────────────────────┘

Pentru a folosi meniul principal, din orice loc a Prologului se apasă <Esc>, sau cu

ALT+litera aprinsă selectăm unul din submeniuri. Meniurile Edit şi Run nu sunt pull-down,

ele servind doar la editare, respectiv execuţie.

Files - Se referă la gestiunea fişierelor. Load (F3) – încarcă un fişier. Pick – deschide un

fişier încărcat în sesiunea curentă. New File –creează un fişier nou cu numele work.pro.

Save (F2) – salvarea fişierului. Write to – modificarea numelui unui fişier. Directory –

afişarea directorului curent. Change Dir – manipularea directoarelor. OS-Shell - ieşirea

temporară din TURBO PROLOG (revenirea cu comanda Exit). Quit – ieşirea totală în

sistemul de operare.

Compile – Acest meniu lasă posibilitatea alegerii modului în care să se facă compilarea.

Options – Acest meniu produce mai multe submeniuri pull-down, în care putem specifica

opţiuni de compilare.

4

Page 5: Referat Mediul Prolog Vlasie (Alecsa) Liviana

Setup – Permite setarea mediului de programare TURBO PROLOG. Putem configura

lungimile, culorile ferestrelor TURBO PROLOG, setarea directoarelor, modificarea

configurării tastaturii etc.

Mediul de programare TURBO PROLOG pune la dispoziţia utilizatorilor patru

ferestre. Acestea sunt:

The edit Window (Fereastra de editare): este cea în care încărcăm sau edităm

programele. Pentru a fi rulat sau compilat, textul sursă al programului trebuie să fie

introdus în fereastra Edit. Pentru a intra în această fereastră, apăsăm Alt+e sau alegem

Edit din meniul bară principal;

The Dialog Window (Fereastra de dialog): este fereastra intrărilor şi ieşirilor din

program.

The message Window (Fereastra mesajelor): este o fereastră a ieşirilor produse de

sistem. Se referă la comenzile de compilare, rulare, încărcare, salvare, mesaje de eroare

etc.

The Trace Window (Fereastra de depanare): este folosită numai la depanarea (pas cu

pas) a programelor. Pentru a activa această fereastră, avem două posibilităţi:

- setăm în meniul Options, submeniul Compiler directives, opţiunea Trace, una din

posibilităţile Trace sau ShortTrace (Trace, faţă de ShortTrace, înseamnă depanare

completă). Dacă nu se doreşte depanarea programelor TURBO PROLOG, se

selectează Off.

- adăugăm la începutul programului predicatul trace sau shorttrace.

Cheile funcţionale

Block functions

Copy block Ctrl-F5Copy block again Shift-F5Copy block to printer Alt-F8Copy block to file Alt-F5Copy block from file F7Move Block Alt-F6Delete Block Alt-F7Undo delete block Ctrl-F7Change case for a block Ctrl-F6Search Ctrl-F3Search again Shift-F3Replace F4Replace again Shift-F4

5

Page 6: Referat Mediul Prolog Vlasie (Alecsa) Liviana

Miscellaneous

Aux edit F8Popup help menu F1Show help file Shift-F1Auto indentation Alt-I Ctrl-Q Ctrl-IInsert mode Ins Ctrl-VText mode Ctrl-Q Ctrl-WLower case word Ctrl-B Ctrl-LUpper case word Ctrl-B Ctrl-UReverse case word Ctrl-B Ctrl-RExit editor F10 Ctrl-K Ctrl-D

Global functions

Resize window Shift-F10Zoom window F5View windows F6File mask F4Previous line F8Call editor in GOAL mode Ctrl-ETerminate input F10

Hot keys

Run program Alt-RActivate Editor Alt-EActivate Files pulldown Alt-FActivate operating system Alt-DActivate Options pulldown Alt-OActivate Compile pulldown Alt-CActivate Setup pulldown Alt-SDisplay Hot keys Alt-HDisplay version info Alt-10Load file F3Pick file Alt-F3Save file F2Compile to memory F9Compile to OBJ Shift-F9Compile to EXE Ctrl-FCompile Project Alt-F9Quit Prolog Alt-X

Wordstar-like

6

Page 7: Referat Mediul Prolog Vlasie (Alecsa) Liviana

Set block start Ctrl-K Ctrl-BSet block end Ctrl-K Ctrl-KHide/Show end Ctrl-K Ctrl-HCopy block Ctrl-K Ctrl-CMove block Ctrl-K Ctrl-VDelete block Ctrl-K Ctrl-YChange case for a block Ctrl-K Ctrl-ECopy block to printer Ctrl-K Ctrl-PCopy block to file Ctrl-K Ctrl-WCopy block from file Ctrl-K Ctrl-RSearch Ctrl-Q Ctrl-FSearch again Ctrl-OReplace Ctrl-Q Ctrl-AReplace again Ctrl-L

Clauze TURBO PROLOG

Fapte, Reguli, Scopuri

Un program TURBO PROLOG este o mulţime de clauze Turbo Prolog. Acestea sunt

de trei tipuri: fapte, reguli şi scopuri.

Fapte TURBO PROLOG

Un fapt precizează “o proprietate a unui obiect sau exprimă o relaţie dintre mai multe

obiecte”. Forma sintactică generală prin care pot fi descrise faptele este:

relaţie ( obiect1, obiect2, …, obiect n ).

Sfârşitul unui fapt se identifică prin apariţia simbolului ‘ . ’ .

Reguli TURBO PROLOG

O regulă TURBO PROLOG exprimă “o relaţie de dependenţă între fapte” şi

permite descrierea unor informaţii noi în baza celor deja cunoscute.

Forma sintactică generală este:

Capul_regulii if Corpul_regulii.

unde Capul regulii poate fi:

relaţie (obiect1, obiect2,…,obiect n )

iar Corpul regulii poate fi:

relaţie1(obiect1,1 ,obiect1,2,…,obiect1, k1) and:

not(relaţien-m(obiectn-m,1,obiectn-m,2,…,obiectn-m,k n-1)) and:

relaţien-1(obiectn-1,1,obiectn-1,2,…,obiectn-1,k n-1) andrelaţien(obiectn,1,obiectn,2,…,obiectn,kn).

7

Page 8: Referat Mediul Prolog Vlasie (Alecsa) Liviana

În capul regulii avem un singur predicat.In corpul regulii pot apare unul sau mai multe

predicate, legate între ele prin conectorul and. Un fapt poate fi privit şi ca o regulă cu corpul

vid.

În TURBO PROLOG următoarele simboluri sunt echivalente

if :-and , . or ;

Variabile în TURBO PROLOG.

În TURBO PROLOG numele de variabile trebuie să înceapă cu majusculă sau _

(liniuţa de subliniere), urmate de oricâte litere, cifre sau simbolul ‘_’ care înseamnă “orice”.

Se foloseşte atunci când în scrierea unei reguli o variabilă apare o singură dată (semnificând

practic faptul că valoarea ei nu este folosită).

Variabilele sunt iniţial “nedefinite” (nu au valori, sunt “nelegate”). Legarea la o

“valoare” se face în cursul execuţiei programului, prin unificare. Variabilele din Prolog sunt

variabile logice. Ele sunt asemănătoare necunoscutelor din matematică, în sensul că atunci

când sunt libere se presupune că vor lua o valoare dintr-un domeniu, iar atunci când sunt

legate la o anumită valoare nu i se mai poate schimba valoarea decât prin backtracking.

Valoarea variabilei NU se poate modifica prin instrucţiuni de asignare cum ar fi

X:=X+1; sau X:=2*X +Z; ca în limbajele imperative. Din punct de vedere a logicii

instrucţiunea de tip X=X+1 (5=5+1) nu este logică!!! Dacă într-o clauză o variabilă apare de

mai multe ori atunci ea va avea aceeaşi valoare. Modificarea variabilei se face prin o altă

variabilă: X2=X+1. Însă două clauze pot folosi acelaşi nume pentru o variabilă, neexistând

nici un fel de legătură între ele. Transmisia valorilor variabilelor între clauze se face prin

argumentele predicatelor.

Scopuri

Scopurile sunt folosite pentru a chestiona sistemul despre informaţiile pe care le are

referitor la relaţiile şi obiectele declarate.

Scopurile pot fi interne sau externe. Un scop intern se va scrie în secţiunea goal.

Unul extern se va scrie în fereastra de dialog, după rularea programului (dacă acesta nu

conţine secţiunea goal).

8

Page 9: Referat Mediul Prolog Vlasie (Alecsa) Liviana

Forma sintactică generală a unui scop este asemenea ca şi forma corpului unei reguli.

Secţiunile unui program Prolog

/*===============Comentariu=================*/% ComentariuDOMAINS

<descrierea domeniilor>DATABASE

<declararea predicatelor de baza de date dinamica>CONSTANTS

<declararea constantelor>PREDICATES

<declararea predicatelor>CLAUSES

<afirmatiile>GOAL

<afirmatiile de scop>Sarcine

Exemplu :

Faptele, regulile şi interogările pot fi puse împreună în cadrul unui program.

Un astfel de program este următorul:

Predicates

îi_place (symbol, symbol)

nu_îi_place (symbol, symbol)

Clauses

îi_place (mihai, ciocolata).

îi_place (mihai, prăjitura).

îi_place (maria, ciocolata).

îi_place (mihai, gina).

nu_îi_place (gina, mihai).

9

Page 10: Referat Mediul Prolog Vlasie (Alecsa) Liviana

După ce am scris textul fişierului, am salvat (F2) fişierul cu numele

LABORATO.PRO, apoi am tastat <Esc> pentru a intra în meniul principal şi am ales

comanda de compilare tastând Enter. Mesajul sistemului la această comandă a fost

“Compilation successful”, compilarea s-a efectuat cu succes. După care se poate trece la

comanda Run. În urma acestei comenzi, în fereastra Dialog se pot scrie interogările (Goal: ).

După scrierea fiecărei interogări tastăm Enter şi apare răspunsul.

Goal

îi_place (gina, mihai).

No

îi_place (mihai, banii).

No

îi_place (mihai, prăjitura).

Yes

10

Page 11: Referat Mediul Prolog Vlasie (Alecsa) Liviana

Crearea unei ferestre utilizator presupune:

1 – numărul ferestrei;

7 – culoarea “interiorul ferestrei”;

7 – culoarea chenarului ferestrei;

“Primul program” – titlul ferestrei;

(2,10) – coordonatele punctului stânga sus;

(20,60) – coordonatele punctului dreapta jos.

Rezultatul este: crearea ferestrei “Primul program”

cu mesajul: “Vă mulţumesc!”

11

Page 12: Referat Mediul Prolog Vlasie (Alecsa) Liviana

BIBLIOGRAFIE

1. C. Masalagiu, L. Ibănescu, Ş.Andrei – Practica programării în TURBO PROLOG, IAŞI,

1998

2. J. Meszaros – TURBO PROLOG 2.0 ghid de utilizare, Cluj-Napoca 1996

3. S.Pelin, I.Orlovski – Bazele programării în limbajul Prolog, Chişinău, 2002

12