| Bevezetés | 1 |
| Az algoritmus és a program | 5 |
| Mielőtt számítógépet programoznánk | 5 |
| A program megtervezése | 5 |
| A programozás alapjai | 5 |
| A program folyamatábrája | 6 |
| A számítógépes program készítése | 7 |
| Mintafeladat | 11 |
| A Pascal nyelvről röviden | 15 |
| A Pascal program szerkezete | 15 |
| A Turbo Pascal fejlesztői környezet | 16 |
| Az első Pascal program | 18 |
| A változók deklarálása | 20 |
| Adatbevitel a billentyűzetről | 21 |
| Kiírás a képernyőre | 24 |
| Számítások | 27 |
| A Turbo Pascal nyelv elemei | 35 |
| A bináris és a hexadecimális számok | 35 |
| A nyelv jelkészlete | 37 |
| A foglalt szavak | 38 |
| Azonosítók | 39 |
| Számok | 40 |
| Szövegkonstansok | 42 |
| Címkék | 43 |
| Operandusok | 43 |
| Operátorok | 43 |
| Kifejezések | 44 |
| Megjegyzések | 44 |
| A Turbo Pascal program szerkezete | 47 |
| Adattípusok és deklarációk | 51 |
| Egyszerű adattípusok | 52 |
| Numerikus adatok tárolása | 52 |
| Logikai információk tárolása | 55 |
| Szöveges információk tárolása | 55 |
| Sorszámozott típusok | 57 |
| Mutatótípusok | 59 |
| Strukturált típusok | 60 |
| Tömbtípusok | 60 |
| Rekordtípusok | 64 |
| Halmaztípusok | 67 |
| Állománytípusok | 67 |
| Objektumtípusok | 68 |
| Típusnevek létrehozása (type) | 68 |
| A type használata felsorolt típus esetén | 69 |
| A type használata résztartománytípus esetén | 69 |
| A type használata tömbök esetén | 70 |
| A type használata rekordok esetén | 71 |
| A type használata halmazok esetén | 72 |
| Objektumok létrehozása | 72 |
| Konstansnevek létrehozása (const) | 73 |
| Típusos konstansok | 75 |
| Azonos és kompatibilis típusok | 78 |
| Típusok azonossága | 78 |
| Típusok kompatibilitása | 79 |
| Értékadási kompatibilitás | 80 |
| Típuskonverzió | 81 |
| Pascal kifejezések | 87 |
| Egy- és kétoperandusú műveletek | 87 |
| Elsőbbségi szabályok | 87 |
| A műveletek csoportosítása | 88 |
| Aritmetikai műveletek | 89 |
| Logikai műveletek | 96 |
| Bitenként elvégzett logikai műveletek | 99 |
| Összehasonlító (relációs) műveletek | 103 |
| Műveletek mutatókkal | 107 |
| Sztringek összekapcsolása | 108 |
| Halmazműveletek | 108 |
| A Turbo Pascal szabványos függvényei és eljárásai | 113 |
| Matematikai függvények és eljárások | 114 |
| Sorszámozott típusú adatokra használható függvények és eljárások | 114 |
| Sztringek (karakterláncok) kezelését segítő függvények és eljárások | 115 |
| Alapvető I/O műveletek | 121 |
| Írás képernyőre - a write és a writeln eljárások | 121 |
| Szöveg kiírása a képernyőre | 125 |
| Egész típusú adatok megjelenítése | 126 |
| Valós értékek kiírása | 128 |
| Logikai értékek kiírása | 131 |
| Olvasás billentyűzetről - a read és a readln eljárások | 132 |
| Számok beolvasása | 133 |
| Karakterek és szövegek bevitele | 136 |
| A Pascal nyelv utasításai | 141 |
| Egyszerű utasítások | 142 |
| Az üres utasítás | 142 |
| Az értékadó utasítás | 142 |
| A goto utasítás | 147 |
| Eljáráshívás | 148 |
| Strukturált utasítások | 148 |
| Összetett utasítás (blokk) | 148 |
| Feltételes utasítások | 149 |
| Ciklusutasítások | 157 |
| A with utasítás | 167 |
| Eljárások és függvények | 175 |
| Az alprogramok helye a Pascal programban | 177 |
| Eljárások | 180 |
| Az eljárás paraméterei | 181 |
| A lokális deklarációk | 188 |
| Az eljárás törzse | 189 |
| Előzetes (forward) deklaráció | 190 |
| Függvények | 196 |
| A függvények és az eljárások összehasonlítása | 197 |
| A függvények eljárásszerű hívása | 198 |
| A függvények előzetes deklarációja | 200 |
| Rekurzív alprogramok | 201 |
| A Pascal program blokkszerkezete | 206 |
| Az azonosítók érvénességi tartománya | 207 |
| A változók élettartama | 209 |
| Még egyszer a paraméterekről | 210 |
| Az érték- és a változó-paraméterek összehasonlítása | 210 |
| Konstans (const) paraméterek (7.0.) | 211 |
| Típus nélküli paraméterek | 212 |
| Eljárás- és függvény-paraméterek | 213 |
| Nyitott (open) paraméterek (7.0) | 216 |
| Speciális alprogramok készítése | 220 |
| Tárgykód beszerkesztése a Pascal programba | 220 |
| Gépi kód beépítése a Pascal programba | 221 |
| Assembly utasításblokk a Pascal programban (6.0.) | 223 |
| Assembler eljárások és függvények (6.0.) | 224 |
| Sztringkezelő függvények és eljárások | 224 |
| Modulok a Turbo Pascal-ban | 237 |
| A Turbo Pascal modulok felépítése | 238 |
| A modulok fejléce - hivatkozás a modulokra | 238 |
| Az interface rész | 239 |
| Az implementation rész | 240 |
| Az inicializációs rész | 242 |
| A Turbo Pascal moduljainak áttekintése | 243 |
| Adatállományok kezelése | 251 |
| A fájlkezelés általános lépései | 252 |
| Nulladik lépés: előkészületek | 252 |
| Első lépés: fájlnyitás | 254 |
| Második lépés: fájlműveletek | 256 |
| Harmadik lépés: a fájl lezárása | 256 |
| Szöveges állományok | 257 |
| Szövegfájl deklarálása és megnyitása | 259 |
| A szöveges állományok I/O műveletei | 259 |
| A szövegfájl lezárása | 262 |
| Az input és az output szabványos szövegfájlok | 263 |
| Szöveges állományok használatát bemutató példaprogramok | 267 |
| Típusos fájlok | 271 |
| Típusos fájl deklarálása és megnyitása | 273 |
| Fájlműveletek | 275 |
| A fájl lezárása | 277 |
| Példák típusos fájlok használatára | 277 |
| Típus nélküli fájlok | 283 |
| Típus nélküli fájlok kezelése | 285 |
| Példák típusos fájlok használatára | 286 |
| Eszközök használata | 289 |
| Állományok törlése és átnevezése | 291 |
| Könyvtárak kezelése | 291 |
| Memóriahasználat | 295 |
| A mutató típus és a dinamikus változók | 295 |
| Tömb a halomterületen | 299 |
| Mutatótömb használata | 300 |
| A lista tárolási szerkezet | 301 |
| Saját veremszerkezet kialakítása | 304 |
| További lehetőségek a memória elérésére | 305 |
| Amit a 8086 mikroprocesszorról tudni kell | 306 |
| A Turbo Pascal és a szegmentált memória | 307 |
| A Mark és a Release eljárások | 309 |
| A GetMem és a FreeMem eljárások | 310 |
| A mutatókról bővebben | 312 |
| Az absolute deklaráció | 318 |
| A memória és a portok közvetlen elérése | 319 |
| Még egyszer a típus nélküli paraméterekről | 321 |
| A nulla-végű sztringek használata (7.0.) | 323 |
| Területfoglalás és -felszabadítás, értékadás | 324 |
| A pchar típusú mutatók használata | 326 |
| A nulla-végű sztringek és a Pascal szabványos alprogramjai | 327 |
| A Strings modul sztringkezelő eljárásai és függvényei | 327 |
| Objektum-orientált programozás | 339 |
| Az egységbezárás | 339 |
| Az objektum típus | 339 |
| Az adatrejtés elve | 343 |
| Az objektumpéldányok létrehozása | 345 |
| Az öröklődés | 353 |
| A rekordok egymásba ágyazása és az objektumok öröklése | 354 |
| Objektumok hierarchiája | 355 |
| Statikus metódusok, az objektumok zártsága | 359 |
| A sokalakúság | 361 |
| Virtuális metódusok | 361 |
| Absztrakt metódusok | 364 |
| Dinamikus metódusok (7.0.) | 365 |
| Objektum-orientált grafikus példaprogramok | 367 |
| A szöveges képernyő kezelése | 375 |
| A szöveges mód képernyőablaka | 376 |
| A Crt modul lehetőségeinek áttekintése | 378 |
| A szöveges mód konstansai | 378 |
| A szöveges mód változói | 379 |
| A szöveges mód alprogramjainak csoportosítása | 381 |
| A szöveges mód programozása | 382 |
| A Crt modul használatát bemutató példaprogramok | 382 |
| Ellenőrzött adatbevitel | 384 |
| Menükezelés a szöveges képernyőn | 386 |
| A grafikus képernyő kezelése | 389 |
| Néhány szóban a grafikus vezérlőkről | 389 |
| A Turbo Pascal grafikus rendszere | 391 |
| A BGI vezérlőprogramok | 392 |
| A Graph modul | 393 |
| A grafikus könyvtár alprogramjainak áttekintése | 395 |
| Grafikus programok készítése | 399 |
| A grafikus üzemmód bekapcsolása | 399 |
| Rajzolás a grafikus képernyőre | 401 |
| A grafikus üzemmód kikapcsolása | 402 |
| A különböző vezérlők grafikus üzemmódjai | 403 |
| Grafikus példaprogramok | 406 |
| Szöveg kiírása grafikus módban | 406 |
| A szöveges és a grafikus mód váltása | 409 |
| A BGI és a CHR állományok beépítése a programba | 410 |
| A grafikus kurzor mozgatása | 412 |
| Alakzatok mozgatása | 412 |
| A képernyő torzításának kiküszöbölése | 413 |
| Alakzatok rajzolása | 413 |
| Képrészlet elmentése és visszatöltése | 413 |
| Nem szabványos grafikus vezérlő és karakterkészlet használata | 414 |
| A Turbo Pascal speciális lehetőségei | 417 |
| Az overlay technika alkalmazása | 417 |
| Rendszerprogramozási eszközök | 423 |
| A lemezek állapotának lekérdezése | 424 |
| Könyvtárműveletek (WinDos) | 424 |
| Fájlkezelő eljárások és függvények | 425 |
| MS-DOS információk és beállítások | 433 |
| A DOS környezet használata | 434 |
| Rendszerhívások | 435 |
| Megszakításkezelő eljárások készítése, tárrezindens programok | 439 |
| Programok indítása | 444 |
| A Turbo Pascal fordítási deriktívái | 447 |
| A kapcsoló direktívák | 448 |
| Paraméter direktívák | 456 |
| Feltételes fordítás | 457 |
| Feltételes szimbólumok | 458 |
| Feltételes direktívák | 459 |
| A Turbo Pascal szabványos eljárásai és függvényei (System modul) | 461 |
| Matematikai függvények | 462 |
| Sorszámozott típusú adatokra alkalmazható függvények | 464 |
| Sztringek kezelése | 466 |
| Halmazok kezelése | 467 |
| Alacsony szintű műveletek | 468 |
| A program paraméterei és futásának vezérlése | 469 |
| Könyvtárak kezelése | 471 |
| Állományok (fájlok) kezelése | 471 |
| Mutatók kezelése | 479 |
| A Dos és a WinDos modulok | 483 |
| Az Overlay modul | 497 |
| A Printer modul | 501 |
| A Strings modul | 503 |
| A CRT modul | 507 |
| A Graph modul | 513 |
| Összefoglaló táblázatok | 535 |
| A Turbo Pascal futásidejű hibaüzenetei | 535 |
| IBM PC billentyűkódok | 538 |
| IBM karakterkódok táblázata | 540 |
| A lemezmelléklet használata | 543 |
| Irodalomjegyzék | 545 |
| Tárgymutató | 547 |