Rezolvarea problemelor logice în prolog

PROLOGUE permite cel mai natural mod de a rezolva problemele logice, modelarea procesului de gândire a unei persoane cu ajutorul regulilor.

Multe probleme logice sunt legate de luarea în considerare a mai multor seturi finite cu același număr de elemente, între care se stabilește o corespondență unu-la-unu. În PROLOGUE, aceste seturi pot fi descrise ca baze de date, iar dependențele între obiecte pot fi stabilite utilizând reguli.







În cursele de automobile primele trei locuri au fost luate de Alyosha, Petya și Kolya. Ce loc a ocupat fiecare dintre ei, dacă Petya nu a ocupat al doilea și al treilea loc, iar Kolya - nu al treilea?

Modul tradițional de rezolvare a problemei este umplerea mesei. Prin condiția sarcinii, Petya nu a ocupat locul al doilea sau al treilea și Kolya nu a ocupat locul trei. Aceasta vă permite să introduceți caracterul "-" în celulele corespunzătoare.

(X, _, _, _, _), scrie ("Cel mai mare -", X)

scrie ("Cel mai mic", Y), nl.

Rezultatul execuției programului

Cel mai mare este molidul

Cel mai mic este arțarul

REFERINȚE PENTRU LUCRĂRI INDEPENDENTE

1. Trei tipi au ieșit la plimbare cu un câine, o pisică și un hamster. Se știe că Petya nu-i plac pisicile și trăiește în aceeași intrare cu amanta unui hamster. Lena este prietenă cu Tanya, mersul cu o pisică. Identificați cu care animal a umblat fiecare dintre copii.

2. Trei prieteni vorbesc: Belokurov, Ryzhov și Chernov. Bruneta ia spus lui Belokurov: "Este curios că unul dintre noi este blond, celălalt este întunecat și
al treilea este roșu, dar nimeni nu are o culoare de păr care să se potrivească cu numele de familie. " Ce culoare este părul fiecăruia dintre prieteni?

3. Vitya, Yura, Misa și Dima stăteau pe bancă. În ce ordine stau ei, dacă se știe că Jura stătea la dreapta lui Dima, Misa la dreapta lui Vitya și Vitya la dreapta lui Yura.







4. Se știe că Volga este mai lungă decât Amu Darya și Niprului este mai scurtă decât Amu Darya. Lena este mai lungă decât Volga. Identificați cel de-al doilea râu cel mai lung.

Raportul privind munca independentă efectuată ar trebui să conțină:

1) tema lucrărilor de laborator;

2) starea problemei;

3) rezolvarea problemei în mod tradițional (folosind tabelul);

4) listarea programului;

5) rezultatele testelor sale cu diferite date inițiale.

O listă este un obiect care conține un număr finit de alte obiecte. Lista din PROLOGUE este închisă în paranteze pătrate, iar elementele din listă sunt separate prin virgule. O listă care nu conține niciun element se numește o listă goală.

O listă este un obiect recursiv. Se compune din cap (primul element al listei) și coada (toate elementele ulterioare). Coada este, de asemenea, o listă. În PROLOGUE există o operație "|", care vă permite să împărțiți lista în cap și coadă. O listă goală nu poate fi împărțită în cap și coadă.

Tipul de date "list" este declarat în program pe Prolog după cum urmează:

unde "tip" este tipul elementelor listate; acesta poate fi un tip standard sau un tip non-standard specificat de utilizator și declarat anterior în secțiunea DOMAINS.

Principalele operațiuni din liste sunt:

- căutați un element din listă;

- introducerea unui element în listă și ștergerea acestuia din listă.

Formați o listă a speciilor [7,6,5,4,3,2,1]

Rezultatul programului:

REFERINȚE PENTRU LUCRĂRI INDEPENDENTE

1. Formați lista [2, 4, 6, 8, 10] și ștergeți numărul introdus din ea.

2. Creați liste [1, 3, 5, 7, 9] și [2, 4, 6, 8, 10] și îmbinați-le într-una.

3. Formați lista [3, 6, 9, 12, 15, 18] și introduceți numărul introdus în ea.

4. Formați o listă de numere N pozitive începând cu 10. Fiecare următoarea este de 5 mai mult decât cea anterioară.

5. Formați o listă [3, 6, 9, 12, 15] și găsiți suma elementelor sale

6. Formați lista [6, 5, 4, 3, 2] și găsiți suma elementelor sale

7. Formați o listă [7, 5, 3, 1] și găsiți produsul elementelor sale

8. Formați o listă de N numere naturale consecutive începând cu 10. Găsiți suma elementelor sale

Raportul privind munca independentă efectuată ar trebui să conțină:

1) tema lucrărilor de laborator;

2) starea problemei;

3) listarea programului;

4) rezultatele testelor sale.







Articole similare

Trimiteți-le prietenilor: