1.067.327

kiadvánnyal nyújtjuk Magyarország legnagyobb antikvár könyv-kínálatát

A kosaram
0
MÉG
5000 Ft
a(z) 5000Ft-os
szállítási
értékhatárig

Bevezetés a logikai programozásba

Oktatási segédlet

Szerző
Budapest
Kiadó: Számítástudományi és Információelméleti Tanszék
Kiadás helye: Budapest
Kiadás éve:
Kötés típusa: Tűzött kötés
Oldalszám: 190 oldal
Sorozatcím: Programozási paradigmák
Kötetszám:
Nyelv: Magyar  
Méret: 20 cm x 14 cm
ISBN:
Értesítőt kérek a kiadóról
Értesítőt kérek a sorozatról

A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról
A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról

Előszó

A Prolog programozási nyelv a logikai programozás (LP) irányzatának fő képviselője. A logikai programozás alapgondolata, hogy programjainkat a (matematikai) logika nyelvén, állítások formájában... Tovább

Előszó

A Prolog programozási nyelv a logikai programozás (LP) irányzatának fő képviselője. A logikai programozás alapgondolata, hogy programjainkat a (matematikai) logika nyelvén, állítások formájában írjuk meg. Míg a funkcionális nyelvek a matematikai függvényfogalomra, addig a logikai nyelvek a reláció fogalmára építenek. Vissza

Tartalom

1. Bevezetés 1
2. A logikai programozás alapelvei 3
2.1. Mi a logikai programozás? 3
2.2. A logikai programozás előzményei 3
2.3. A logikai programozás sémája 5
2.4. A logikai programozástól a Prolog programnyelvig 5
A Prolog nyelv alapjai 11
3.1. A Prolog programok elemei 11
3.1.1. Tényállítások 11
3.1.2. Szabályok 15
3.1.3. Predikátum definiálása több szabállyal 17
3.1.4. Diszjunkciók 18
3.2. Prolog programok végrehajtása 18
3.2.1. A végrehajtási mechanizmus alapelemei 19
3.2.2. Paraméter-átadás - egyesítés 19
3.2.3. A redukciós lépés 20
3.2.4. A Prolog végrehajtási algoritmusa 21
3.2.5. Egy végrehajtási példa 22
3.3. Összetett adatstruktúrák 25
3.3.1. Listák 25
3.3.2. Listaelemek keresése 26
3.3.3. Listák összefűzése 28
3.3.4. Körmentes út keresése 31
3.3.5. Rekord-struktúrák 32
3.3.6. Az egyesítési algoritmus 33
3.3.7. Operátorok 34
3.4. A Prolog szintaxis összefoglalása 36
3.5. Típusok Prologban 38
4. Programozási módszerek 41
4.1. Aritmetika 41
4.2. Nyomkövetés ? 44
4.3. Rekord-struktúrák 45
4.4. Operátorok - 48
4.5. Jobbrekurzió, akkumulátorok 49
4.6. Listakezelő eljárások 50
4.7. Egy teljes példa 54
4.8. Különbséglisták 58
4.9. Bináris fák 59
4.10. Gyakorló feladatok 60
5. A legfontosabb beépített eljárások 63
5.1. A predikátumleírások formátuma 63
5.2. A vágó eljárás 64
5.3. Vezérlési eljárások 67
5.4. Dinamikus adatbáziskezelés 71
5.5. Aritmetika 73
5.5.1. Prolog kifejezések mint aritmetikai kifejezések kiértékelése 73
5.5.2. Összetett aritmetikai kifejezések 73
5.5.3. Aritmetikai eljárások 74
5.6. Kifejezések osztályozása 75
5.7. Kifejezések összehasonlítása és egyesítése 76
5.8. Listakezelés 80
5.9. Kifejezések szétszedése és összerakása 81
5.9.1. Struktúrák szétszedése és összerakása 81
5.9.2. Konstansok szétszedése és összerakása 83
5.10. összes megoldás keresése 86
5.11. Kiírás 88
5.12. Beolvasás 92
5.13. Bevitel/kiírás szervezése 94
5.14. Programfejlesztés 97
5.15. Hibakezelés (kivételkezelés) 102
5.15.1. Hibakifejezések 103
6. Fordítóprogram-írás Prologban 105
6.1. A forrásnyelv és a célnyelv 105
6.2. A fordítóprogram szerkezete és adatstruktúrái 108
6.2.1. A fordítás fázisai 108
6.2.2. A forrásnyelv absztrakt szintaxisa 108
6.2.3. A (becímzetlen) tárgykód struktúrája 110
6.2.4. A szótár struktúrája 111
6.3. Kódgenerálás 112
6.3.1. Értékadás fordítása 112
6.3.2. Kifejezések fordítása 114
6.3.3. Feltételes utasítások fordítása: 115
6.3.4. További utasítások fordítása 115
6.4. Becímzés 116
6.5. Nyelvtani elemzés 116
6.5.1. A Prolog elemzőre épülő nyelvtani elemző 116
6.5.2. Definite Clause Grammars 117
6.6. Lexikai elemzése 119
6.7. Kiírás 119
7. Fejlettebb nyelvi és rendszerelemek 121
7.1. Modularitás 121
7.1.1. Név-alapú modell (pl. MProlog, LPA Prolog) . . 122
7.1.2. Eljárás-alapú modell (pl. SWI, SICStus, Quintus) 123
7.1.3. A SICStus modulfogalma 123
7.2. Külső nyelvi interfész 123
7.3. Füzérek (string) kezelése 125
7.4. Gyors klózválasztás (indexing) 125
7.5. Hasznos további lehetőségek SICStus Prologban
7.6. Fejlett vezérlési lehetőségek SICStusban
7.6.1. Blokk-deklaráció 127
7.6.2. Korutinszervező eljárások 130
7.7. SICStus könyvtárak 130
8. Új irányzatok a logikai programozásban 133
8.1. Párhuzamos megvalósítások 133
8.2. Az Andorra-I rendszer rövid bemutatása 134
8.2.1. Basic Andorra Model 134
8.2.2. Egy egyszerű interpreter az Andorra alapmodellre 135
8.2.3. Az Andorra interpreter 136
8.3. A Mercury nagyhatékonyságú LP megvalósítás 137
8.4. CLP (Constraint Logic Programming) 140
8.4.1. CLP végrehajtási mechanizmus 140
8.4.2. Példa-párbeszéd a SICStus clpr kiterjesztésével 141
8.4.3. CLP végrehajtás véges tartományokon alapuló rendszerekben 144
8.4.4. Példa-párbeszéd a SICStus clpfd kiterjesztésével 144
8.4.5. Két egyszerű clpfd példaprogram 145
A. A példa-fordítóprogram kódja 147
A.l. Keretprogram (main.pl) 147
A.2. A fordítóprogram magja (comp.pl) 147
A.3. Kiírás (output.pl) 150
A.4. A DCG elemző (parse_dg.pl) 151
A.5. Lexikai elemző (rdtok.pl) 152
A.6. Operátoros elemző (parse_op.pl) 154
A.7. A fordítóprogram egy futása 155
B. A gyakorló feladatok megoldásai 157
GY1. feladat 157
GY2. feladat 157
GY3. feladat 158
GY4. feladat 160
GY5. feladat 161
GY6. feladat 162
GY7. feladat 164
GY8. feladat 165
GY9. feladat 167
GY10. feladat 169
GY11. feladat 171
GY12. feladat 172
GY13. feladat 174
GY14. feladat 175
GY15. feladat 176
GY16. feladat 178
C. A logikai programozás történetéről 181
C.1. Bevezetés 181
C.2. Mi a logikai programozás 181
C.3. A logikai programozás első évtizede, a Prolog születése 182
C.4. A logikai programozás második évtizede, a japán 5. generációs projekt 184
C.5. A logikai programozás ma 185
Irodalomjegyzék 187
Tárgymutató 133
Megvásárolható példányok

Nincs megvásárolható példány
A könyv összes megrendelhető példánya elfogyott. Ha kívánja, előjegyezheti a könyvet, és amint a könyv egy újabb példánya elérhető lesz, értesítjük.

Előjegyzem