Introducere

Cap.1  Funcţiile Procedurale

Cap.2  Funcţii definite de utilizator

Cap.3 Optimizarea programelor

Cap.4 Funcţii generice. Supraξncărcarea funcţiilor

Cap.5  Implementarea unui Sistem Expert

CUPRINS

Cap.1  Funcţiile Procedurale………………………………………………..    1

1.1.  Funcţia if …………………………………………...........................    1

1.2.  Funcţia while ………………………………………………………. 3

1.3.  Funcţia loop-for-count………………………………………...........    5

1.4.  Funcţia switch….………………………………………………….. 6  

1.5.  Funcţia progn………………………..........………………………  7

1.6.  Funcţia progn$……...........................……………………………  9

1.7.  Funcţia break.............…….………….…….....................................   9

1.8.  Funcţia return.............…….………….…….....................................  10

1.9.  Problema comisului voiajor - abordare procedurală......................... 11

1.10.  Problema comisului voiajor - abordare logică................................ 17

1.11.  Ξntrebări.................……………………………………………….. 19

1.12.  Probleme rezolvate.........................................................................   21

          1.12.1.  Limbaj morse...................................................................... 21

          1.12.2.  Problema pătratului magic..................................................   27

Cap.2  Funcţii definite de utilizator………………………………………....     33

2.1.  Construcţia deffunction................…………………………………..   33

2.2.  Construcţia defglobal………………………….……….....................  40

2.3.  Recursivitatea. Problema turnurilor din Hanoi...........................…… 44

2.4. Ξntrebari……………………….……….........................................…   47

2.5.  Probleme rezolvate.........................................................................    49

        2.5.1.  Forma poloneza.................................................................. 49

        2.5.2.  Text scris ξn ‘păsăreşte’.......................................................    54

        2.5.3.  Problema monezilor...............................................................   57

        2.5.4.  Problema damelor (rezolvare recursivă).................................    60

2.6.  Exemple de funcţii definite de utilizator….............………………    63

Cap.3 Optimizarea programelor.............………………………………….. 65

3.1.  Strategii de ordonare a regulilor ξn agenda……………….………... 65

3.2.  Problema turnurilor din Hanoi  (continuare)….…………………      67

3.3.  Simplificarea regulilor complexe...................................................... 75

3.4   Ξncărcarea şi salvarea faptelor ..……………………………………..   77

3.5.  Ξntrebări...................................................…………………………..   78

3.6.  Probleme rezolvate...............................……………………………..   80

       3.6.1.  Problemă aritmetică...........................………………………..    80

       3.6.2.  Căutare ξntr-o bază de cuvinte..............……………………...     83

Cap.4 Funcţii generice. Supraξncărcarea funcţiilor .............…………….. 88

4.1.  Construcţiile defgeneric şi defmrthod....…………………………..  88

4.2.  Avantajele oferite de supraξncărcarea funcţiilor.............................. 98

4.3.  Ξntrebări......…..…………………………………………………… 101

4.4.  Probleme rezolvate...............……………………………………… 103

        4.4.1.  Supraξncărcarea operatorului de ξmpărţire.......……………. 103

        4.4.2.  Operaţii cu numere lungi.....……………………………….. 109

        4.4.3.  Jocul de domino..................……………………………….. 112

Cap.5  Implementarea unui Sistem Expert.......………………………...... 119

5.1.  Noţiuni generale despre SE.........…………………………………. 119

5.2.  Construirea unui arbore sau a unui graf……………………........... 121

5.3.  Verificarea unui arbore.....................……………………………… 124

5.4.  Parcurgerea unui graf trecβnd prin toate arcele o singură dată....… 126

5.5.  Parcurgerea unui arbore ξn lăţime şi ξn adβncime...../...…………... 130

5.6.  Implementarea unui arbore de decizie......………………………… 134

5.7.  Sistem Expert pentru diagnosticarea unei imprimante…………….  139

5.8.  Sistem Expert de diagnosticarea a defecţiunilor unui calculator......  141

5.9.  Sistem Expert ξn Lingvistică.............................................................    145

5.10.  Sistem Expert ξn Medicină.............................................................    148