+ All Categories
Home > Documents > Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf ·...

Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf ·...

Date post: 30-Aug-2019
Category:
Upload: others
View: 11 times
Download: 0 times
Share this document with a friend
63
Fundamentele limbajului LISP ( 2) Fundamentele limbajului LISP ( 2) Ruxandra Stoean http://inf.ucv.ro/~rstoean [email protected]
Transcript
Page 1: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

Fundamentele limbajului LISP (2)Fundamentele limbajului LISP (2)

Ruxandra Stoeanhttp://inf.ucv.ro/[email protected]

Page 2: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

2

Stringuri si caractere

• Un string este un vector de caractere.

• Este scris de catre Lisp ca secventa caracterelor sale inconjurata de ghilimele.

• Ca si numerele, stringurile sunt evaluate in ele insele.

• Sa scriem un string la prompterul de Lisp.

> “Acesta este un string.”

Page 3: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

3

Exemplu

Page 4: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

4

Stringuri

• Un string poate fi oricat de lung si poate contine• Un string poate fi oricat de lung si poate continecaractere precum ENTER.

• In afara numerelor, Common Lisp are deasemenea functii care opereaza si asupraobiectelor de alt tip.

• De exemplu, pentru a afla numarul de caracteredintr-un string, se foloseste functia length.

Page 5: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

5

Exemplu

Page 6: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

6

Stringuri

• O alta functie predefinita este string=.

• Aceasta functie intoarce TRUE daca cele douastringuri date ca argumente sunt alcatuite dinaceleasi caractere si FALSE, in caz contrar.aceleasi caractere si FALSE, in caz contrar.

Page 7: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

7

Exemple

Page 8: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

8

Stringuri

• Pentru a accesa un anumit caracter in string, se utilizeaza formularea (char string index).utilizeaza formularea (char string index).

• char este predefinit, string reprezinta sirul dorit iar index pozitia caracterului care va fi intors.

• Index-ul primului caracter din string e 0.• Index-ul primului caracter din string e 0.

• Index-ul nu trebuie sa depaseasca lungimea sirului.

Page 9: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

9

Exemple

Page 10: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

10

Caractere

• Se poate observa ca un caracter este scris de catre Lisp cu prefixul #\.

• Tot in acelasi mod va da si utilizatorul caracterele.caracterele.

• Un caracter este evaluat in el insusi.

Page 11: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

11

Exemple

Page 12: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

12

Caractere

• Pentru testarea faptului ca doua caractere sunt • Pentru testarea faptului ca doua caractere sunt identice, se foloseste functia char=.

• La fel ca la testarea egalitatii pentru numere, dar diferit de aceeasi testare pentru stringuri, aceasta functie poate lua orice numar de argumente.argumente.

Page 13: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

13

Exemple

Page 14: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

14

Stringuri si caractere

• Pentru a utiliza simbolul “ ca parte a unui string, • Pentru a utiliza simbolul “ ca parte a unui string, va trebui sa folosim caracterul \.

• Pentru a utiliza caracterul \ apoi ca parte a unui string, trebuie sa mai adaugam inca unul in fata sa.sa.

Page 15: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

15

Exemple

• Observati ca lungimea stringurilor nu este• Observati ca lungimea stringurilor nu esteinfluentata de caracterul \.

Page 16: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

16

Exemple

• Pentru testarea egalitatii a doua stringuri, adoua poate fi si caracter.doua poate fi si caracter.

• Pentru acelasi lucru in cazul caracterelor,amandoua trebuie sa fie de acest fel.

Page 17: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

17

Caracterele spatiu si ENTER

Page 18: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

18

Simboluri

• Simbolurile sunt un alt tip de data in Lisp.

• Pentru a reprezenta un simbol, se folosesc secvente de litere si caracterele * si -:▫ De exemplu: paul, pi, *read-base*

• Un simbol poate reprezenta ceva pentru care • Un simbol poate reprezenta ceva pentru care dorim sa stocam informatii:▫ De exemplu, paul poate reprezenta o persoana.

Page 19: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

19

Simboluri

• Simbolurile sunt de asemenea folosite drept variabile.variabile.

• Astfel, un simbol poate avea o valoare: se spune ca este legat, sau este, dimpotriva, nelegat (fara valoare).

• Unele simboluri legate sunt: pi, *read-base*, *print-base* si *package*.

Page 20: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

20

Exemple

• pi reprezinta valoarea simbolului matematic.• *read-base* si *print-base* specifica in ce baza • *read-base* si *print-base* specifica in ce baza

vor fi scrise numerele de catre utilizator, respectiv de Lisp.

• *package* specifica pachetul in care ne aflam curent.

Page 21: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

21

Simboluri• Cele mai importante simboluri in Lisp sunt T si

NIL.NIL.

• T reprezinta true, iar NIL desemneaza false si lista vida.

• Aceste simboluri sunt legate chiar la ele insele.

Page 22: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

22

Simboluri

• Atunci cand vrem sa utilizam un simbol si nu • Atunci cand vrem sa utilizam un simbol si nu valoarea sa, punem ‘ in fata acestuia.

Page 23: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

23

Simboluri

• Putem scrie simbolurile cu litere mici, Lisp le converteste la litere mari.

Page 24: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

24

Simboluri

• Pentru a testa egalitatea dintre doua simboluri, se foloseste functia eql. se foloseste functia eql.

Page 25: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

25

Functia eql

• Aceasta functie e mai generala chiar, testanddaca sunt identice oricare doua obiecte Lisp:▫ Simboluri▫ Caractere▫ Numere de acelasi tip▫ Numere de acelasi tip

Page 26: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

26

Exemple

Page 27: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

27

Simboluri

• Orice simbol are un nume reprezentat de unstring.

• Putem afla acest nume utilizand functia symbol-name.

Page 28: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

28

Exemplu

Page 29: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

29

Simboluri

• Daca se doreste ca un caracter sa ramana scris cu litera mica in cadrul unui simbol, se va folosi \.

• Daca vrem ca Lisp sa pastreze literele exact cum le dam, le vom scrie intre ||.

Page 30: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

30

Exemplu

• Pentru a scrie un simbol, Lisp foloseste si ||.

• Acestea nu fac parte din simbol sau din numele sau.

Page 31: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

31

Exemplu

• Simbolurile cu litere diferite ca marime sunt la • Simbolurile cu litere diferite ca marime sunt la randul lor diferite.

Page 32: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

32

Mai multe exemple

Page 33: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

33

Tipul unui obiect

• Pentru a afla care este tipul unui anume obiect,se foloseste functia type-of.se foloseste functia type-of.

Page 34: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

34

Mai multe exemple

Page 35: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

35

Pachete

• Fiecare multime de simboluri este pastrata intr-• Fiecare multime de simboluri este pastrata intr-un pachet Common Lisp.

• Utilizatorul isi poate crea propriul pachet si il poate exporta pentru ca altii sa il poata utiliza.

• Un pachet poate fi evident importat in alt pachet.

Page 36: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

36

Pachete

• Am vazut ca un simbol poate avea diverse• Am vazut ca un simbol poate avea diversereprezentari si totusi sa ramana acelasi simbol,cu acelasi nume.

• In continuare vom vedea ca simboluri diferitepot avea acelasi nume daca sunt in pachetepot avea acelasi nume daca sunt in pachetediferite.

Page 37: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

37

Pachete

• Atunci cand interactionam cu Lisp, ne aflam deja intr-un pachet.intr-un pachet.

• Putem vedea pachetul curent verificand valoarea simbolului *package*.

Page 38: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

38

Functia describe

• Prin apelul acestei functii Lisp putem afla diverse proprietati despre obiecte.diverse proprietati despre obiecte.

• Printre altele, putem vedea pachetul din care fac parte diferite simboluri.

Page 39: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

39

Exemple

Page 40: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

40

Exemple

Page 41: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

41

Pachete

• Ne putem muta in alt pachet apeland functia in-• Ne putem muta in alt pachet apeland functia in-package.

• Acolo putem referi simboluri existente sau unele noi create de utilizator.

Page 42: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

42

Exemplu

Page 43: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

43

Pachete• Pentru a referi un acelasi simbol din alt pachet,

folosim exprimarea:folosim exprimarea:

nume_pachet::nume_simbol

• Cele doua simboluri sunt diferite.

Page 44: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

44

Pachete• Sa ne intoarcem acum la pachetul common-lisp-

user si sa aflam informatii despre simbolul ‘paul.

Page 45: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

45

Pachete

• Cele doua simboluri din pachete diferite nu sunt identice decat ca nume.identice decat ca nume.

Page 46: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

46

Pachete

• Un simbol poate fi exportat din pachetul sau prin apelarea functiei export.apelarea functiei export.

• Numele unui simbol extern este de forma:

nume_pachet:nume_simbol

Page 47: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

47

Exemplu

Page 48: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

48

Pachete

• Pentru a afla daca un simbol a fost exportat sau este inca intern intr-un anumit pachet, se poate proceda precum in cele ce urmeaza.proceda precum in cele ce urmeaza.

Page 49: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

49

Pachete• Putem de asemenea defini pachete noi.

Page 50: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

50

Pachete• Daca dorim sa importam un simbol extern

dintr-un pachet in altul folosim functia import.

Page 51: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

51

Alte observatii

• Atunci cand referim prima data un simbol, Lisp • Atunci cand referim prima data un simbol, Lisp il si construieste; deci, un simbol nou nu trebuie declarat inainte.

• Daca vom incerca sa suprascriem un simbol care deja exista intr-un pachet, vom primi mesaj de eroare.eroare.

Page 52: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

52

Exemplu

Page 53: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

53

Alte observatii

• Simbolurile standard din pachetul lisp suntexterne si importate automat in alte pachete.externe si importate automat in alte pachete.

Page 54: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

54

Pachetele ca tip de data

• Ca tip de data in Lisp, putem afla mai multeinformatii despre pachetul curent.informatii despre pachetul curent.

Page 55: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

55

Pachetele ca tip de data

• Pe langa functiile deja cunoscute, find-package nespune pachetul al carui nume prescurtat il stim.spune pachetul al carui nume prescurtat il stim.

Page 56: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

56

Procesarea de baza a listelor• Pana acum am discutat despre evaluarea S-

expresiilor care erau date sub forma de liste.

• In continuare, vom discuta despre liste ca tip debaza in Lisp.

• Pentru a crea o lista, se foloseste functia de baza:(cons obiect lista), unde:▫ primul argument poate fi orice obiect Lisp▫ primul argument poate fi orice obiect Lisp▫ al doilea este o lista▫ intoarce o lista cu primul argument inserat ca prim

membru si restul listei fiind al doilea argument

Page 57: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

57

Exemplu

Page 58: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

58

Primul element si restul listei

• Pentru a accesa primul element al unei liste silista ramasa, se folosesc predicatelelista ramasa, se folosesc predicatele

(first list) si (rest list)

Page 59: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

59

Mai multe exemple

Page 60: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

60

Procesarea listelor

• Functia equal spune daca elementele a doua liste sunt egale doua cate doua sau nu.liste sunt egale doua cate doua sau nu.

Page 61: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

61

Functia de determinare a lungimii unei liste

Page 62: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

62

Alte observatii

• Dupa ce am tastat o forma in Lisp, o putemimediat reapela cu *; cu ** putem reapelaimediat reapela cu *; cu ** putem reapelapenultima forma.

Page 63: Fundamentele limbajului LISP (2) - id.inf.ucv.roid.inf.ucv.ro/~rstoean/courses/pnp/c8.pdf · Exemple • pi reprezinta valoarea simbolului matematic. • *read-base* si *print-base*

63

Pe saptamana viitoare…


Recommended