Cap.2 Funcţii definite de utilizator
Cap.4 Funcţii generice. Supraξncărcarea funcţiilor
Cap.5 Implementarea unui Sistem Expert
CUPRINS
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
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.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
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