Operat ,ii cu liste n Lisp [624918]
Operat ,ii cu liste ^ n Lisp
Bradea Octavia
PLF Avansat
Contents
1 Introducere 4
2 Despre limbajul Lisp 4
3 Expresii simbolice 4
3.1 Manipularea simbolurilor . . . . . . . . . . . . . . . . . . . . . 5
4 Liste 5
4.1 Reprezentarea listelor . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Operat ,ii cu liste . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2
Abstract
This is a simple paragraph at the beginning of the document. A
brief introduction to the main subject.
3
1 Introducere
2 Despre limbajul Lisp
LISP este un limbaj matematic formal, conceput ^ n anul 1956 de c atre John
McCarthy , numele lui deriv^ andu-se chiar din lucrul pe care este menit sa
^ l fac a: "LISt Processing", adica procesarea listelor. Limbajul LISP a fost
conceput ^ n principal pentru procesarea simbolic a a datelor. De-a lungul
timpului, a fost utilizat pentru teoria circuitului electric, logica matematic a,
calcule simbolice ^ n calculul diferent ,ial s ,i integral, precum s ,i creearea de
jocuri s ,i alte domenii ale inteligent ,ei articiale. LISP este diferit de celelate
limbaje de programare, deoarece toate datele sunt defapt expresii simbolice
denumite s ,i expresii S. Cea mai amre parte a memoriei este utilizat a pentru
a stoca aceste expresii sub forma de structuri de list a.
3 Expresii simbolice
Tipul elementar de expresie S este simbolul atomic. Aceste simboluri
sunt numite atomice, deorarece sunt luate ca un ^ ntreg s ,i nu pot
^ mp art ,ite ^ n caractere individuale.
Denition 1. Atom Un simbol atomic este un s ,ir de cel mult treizeci de
cifre s ,i litere majuscule; primul caracter trebuie s a e o liter a.
Exemple
Un alt tip de expresie S este lista.
Denition 2. Lista O list a este o expresie S care satisface predicatul
listp[x] = null[x] [not[atom[x]] / listp[cdr [x]]]
An S-expression of this form can be written (ml, m,, . . . mn), which stands
for the dot-notation expression (ml . (m, . . . . (mn NIL) . . . )) .
Exemple
Toate expresiile S sunt construite din simboluri atomice s ,i semnele de
punctuat ,ie: "(", ")" s ,i . . Pentru a forma expresii S de o complexitate mai
mare se vor combina mai multe expresii. Exemplu: code here…
Denition 3. Expresie S O expresie S este un simbol atomic sau este com-
pus a din mai multe elemente dup a cum urmeaz a: parantez a deschis a, o ex-
presie S, un punct, o expresie S si o parantez a ^ nchis a.
4
3.1 Manipularea simbolurilor
Manipularea simbolurilor se aseaman a lucrului cu cuvinte s ,i propozit ,ii. Dup a
cum am mentionat deja, atomii s ,i listele sunt expresii simbolice. A lucra cu
acestea ^ nseamna defapt, ^ n LISP, manipularea simbolurilor.
Un program de manipulare a simbolurilor foloseste expresiile simbolice pen-
tru a memora si a lucra cu date s ,i proceduri. Un astfel de program are
sect ,iuni care recunosc expresii simbolice particulare, le distruge pe cele vechi
s,i asambleaz a altele noi.
4 Liste
^In Lisp o list a se noteaz a ca un sir de s-expresii separate prin spat ,ii si ^ nchise
^ ntre paranteze. De exemplu:
( ) – lista vid a, notata s ,i cu nil;
( a b c d 10)
list a format a din cinci atomi, primii patru sunt nenumerici, iar ultimul este
numeric
( aceasta este ( o lista ) compusa ) – lista format a din patru elemente: doi
atomi, o list a (la r^ andul ei format a din doi atomi) s ,i ^ nc a un atom;
4.1 Reprezentarea listelor
Reprezentarea prin celule cons
Memoria unui computer obis ,nuit este format a din celule de memorie numero-
tate. Num arul unei anumite celule de memorie reprezint a adresa sa. Se poate
ca o celula de memorie sa cont ,in a adresa alteia, as ,adar, aceasta devine o list a.
Atomii s ,i listele pot reprezentate ca s ,i colect ,ii de celule de memorie.
Listele sunt reprezentate prin notarea "caset a-s ,i-s ageat a", acum numit a s ,i
reprezentarea prin celule cons. Aceste reprezent ari constau ^ n grupuri de
c asut ,e cu pointeri ^ n st^ anga s ,i dreapta, pointerul din st^ anga reprezen^ and
chiar valoarea elementului din list a, iar pointerul din dreapta conecteaz a
membrii listei ^ ntre ei. O astfel de reprezentare se termin a cu simbolul " n"
sau cuv^ antul cheie "nil"; ^ nt^ alnirea acestora ^ nseamn a sfars ,itul listei.
Reprezentarea ^ n LISP a listei de mai sus, cu ajutorul specicatorului
"cons" se scrie dup a cum urmeaz a:
5
Figure 1: Reprezentarea listei ^ n celule de memorie
(cons t h i s
(cons i s
(cons a
(cons l i s t t n i l ) ) ) )
Se poate scrie o lista in LISP si cu ajutorul specicatorului "list"
(l i s t t h i s i s a l i s t t )
Liste cu punct
Celula cons ^ n care atat pointerul din st^ anga, c^ at s ,i pointerul din dreapta
indic a expresii-S atomice, poart a numele de pereche cu punct. O list a care
cont ,ine astfel de expresii este numit a list a cu punct.
Exemplu: pentru lista (1 2 3 . 4)
Figure 2: Reprezentarea listei cu punct
(cons 1
(cons 2
(cons 3 4 ) ) )
6
4.2 Operat ,ii cu liste
-ce e lista
-ce forma are
-elementele listei
-constantele t si nil
-car, cdr, cons
-structura interna : descriere arborescenta, simplicta, pe nivele
-functii pt liste
-comparatii intre cons, cad, car si functii
7
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Operat ,ii cu liste n Lisp [624918] (ID: 624918)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
