Extras din curs
Recursivitate
3 Un obiect este recursiv daca este definit funct¸ie de el ˆınsu¸si.
² definim un num˘ar infinit de obiecte printr-o declarat¸ie finit˘a
² functii recursive, proceduri recursive, definit¸ii recursive de
date, calcul recursiv.
Recursivitate
3 Exemple
² GNU:
GNU = Gnu is Not Unix
² numerele naturale:
0 este num˘ar natural;
succesorul unui num˘ar natural este un num˘ar natural.
² arborii binari:
o este un arbore binar (arborele vid);
dac˘a t1 ¸si t2 sunt arbori binari atunci ¸si
o
t 1 t 2
este un arbore binar.
Recursivitate
3 Definit¸ie bazat˘a pe induct¸ie structural˘a (structura programului
trebuie s˘a reflecte structura datelor) - definim tipul de
date list¸a-de-numere
lista vid˘a este o list¸a-de-numere;
dac˘a l este o list¸a-de-numere ¸si n este un num˘ar, atunci
perechea (n . l) este o list¸a-de-numere.
ˆIn notatt¸ia BNF avem urm˘atoarele reguli:
<list¸a-de-numere>::=()
<list¸a-de-numere>::=(<num¸ar> . <list¸a-de-numere>)
sau utilizˆand simbolul bar˘a vertical˘a din BNF:
<list¸a-de-numere>::=() | (<num¸ar> . <list¸a-de-numere>)
sau utilizˆand asteriscul (Kleen star):
<list¸a-de-numere>::=({<num¸ar>}*)
Preview document
Conținut arhivă zip
- Inteligenta Artificiala.pdf