TARTALOMJEGYZÉK BEVEZETÉS 1 1. ALGORITMUS ÉS A PROGRAM 3 1.1. Mielőtt számítógépet programoznánk 3 1.2. A program megtervezése 3 1.2.1. A programozás alapja 3 1.2.2. A program folyamatábrája 4 1.2.3. A számítógépes program készítése 6 1.3. Mintafeladat 9 2. GONDOLATOK A PASCAL NYELVRŐL 13 2.1. A programokról általában 13 2.2. A Pascal nyelvről röviden 13 2.3. A Pascal program szerkezete 14 2.4. Az első Pascal program 15 2.4.1. A változók deklarálása 17 2.4.2. Olvasás billentyűzetről 20 2.4.3. Kiírás képernyőre 22 2.4.4. Számítás 26 3. A TURBO PASCAL NYELV ELEMEI 35 3.1. A nyelv jelkészlete 37 3.2. A foglalt szavak 37 3.3. A program sorai 38 3.4. Azonosítók 39 3.5. Számok 40 3.6. Sztringek - karaktersorozatok 41 3.7. Cimkék 42 3.8. Operandusok 43 3.9. Operátorok 43 3.10. Kifejezések 43 3.11. Megjegyzések 44 4. A TURBO PASCAL PROGRAM SZERKEZETE 47 5. ADATTIPUSOK ÉS DEKLARÁCIÓK 51 5.1. Egyszerű adattípusok 52 5.1.1. Numerikus információ tárolása 53 5.1.1.1. Egész típusok 53 5.1.1.2. Valós típusok 54 5.1.2. Logikai információ tárolása 54 5.1.2.1. Logikai típus 55 5.1.3. Szöveges információ tárolása 55 5.1.3.1. Karakter típus 55 5.1.3.2. String típus 55 5.1.4. Sorszámozott típus 56 5.1.4.1. Felsorolt típus 57 5.1.4.2. Résztartomány típus 58 5.1.5. Mutató típus 59 5.2. Struktúrált típusok 59 5.2.1. Tömb típus 59 5.2.2. Rekord típus 61 5.2.3. Halmaz típus 63 5.2.4. File típus 63 5.3. Felhasználói típus létrehozása (type) 64 5.3.1. A type használata felsorolt típus esetén 64 5.3.2. A type használata résztartomány típus esetén 65 5.3.3. A type használata tömb esetén 65 5.3.4. A type használata record esetén 66 5.3.5. A type használata halmaz esetén 67 5.4. Konstansok deklarálása 67 5.4.1. Típusos konstansok 68 5.5. Típuskonverzió 70 6. PASCAL KIFEJEZÉSEK 75 6.1. Operátorok 75 6.2. Elsőbbségi szabály 76 6.3. Operátorok csoportosítása 76 6.3.1. Aritmetikai operátorok 77 6.3.2. Bitenkénti logikai operátorok 83 6.3.3. Boolean operátorok 85 6.3.4. Relációs (összehasonlító) operátorok 89 6.3.5. Pointer operátorok 90 6.3.6. Sztring összekapcsolás operátora 91 6.3.7. Halmaz műveleti operátorok 91 6.3.7.1. Halmazokra vonatkozó vizsgálatok 94 6.4. Standard (szabványos) függvények használata 95 7. ALAPVETŐ I/O MŰVELETEK 105 7.1. Œrás képernyőre: Write és Writelen eljárás 105 7.1.1. Szöveg kiírása a képernyőre 106 7.1.2. Egész típusú eredmények kiiratása 108 7.1.3. Valós típusú eredmények kiiratása 110 7.1.4. Boolean típusú eredmények kiiratása 112 7.2. Olvasás billentyűzetről: Read, Readln eljárások 117 8. A PASCAL NYELV UTASŒTÁSAI 127 8.1. Egyszerű utasítások 128 8.1.1. Üres utasítás 128 8.1.2. Értékadó utasítás 128 8.1.2.1. Aritmetikai értékadás 129 8.1.2.2. Logikai értékadás 133 8.1.3. Goto utasítás 134 8.1.4. Eljáráshívás 135 8.2. Struktúrált utasítások 135 8.2.1. A blokk utasítás 135 8.2.2. Feltételes utasítások 135 8.2.2.1. If utasítás 136 8.2.2.2. Case utasítás 141 8.2.3. Ciklusutasítások 144 8.2.3.1. For utasítás 144 8.2.3.2. While utasítás 147 8.2.3.3. Repeat utasítás 149 8.2.4. With utasítás 150 9. ELJÁRÁSOK ÉS FÜGGVÉNYEK 157 9.1. Függvények 164 9.2. Eljárások 168 9.3. Típusdefiníció használata a paraméterlistán 178 9.4. Eljárás paramétere: függvény 179 9.5. Forward deklaráció - előre hivatkozó 182 9.6. Rekurzív alprogramok 182 9.6.1. A rekurzív alprogramok csoportosítása 186 9.7. Globális és lokális változók, az azonosítók érvényességi köre 188 9.8. Sztring használata Turbo Pascal-ban 191 9.8.1. Szabványos eljárások és függvények a sztringek kezelésére 192 10. MODULOK HASZNÁLATA A TURBO PASCAL-BAN 205 10.1. A Turbo Pascal modulok felépítése 205 10.1.1. A modulok fejléce - a modulok közötti kapcsolat 206 10.1.2. Az interface rész 207 10.1.3. Az implementation rész 208 10.1.4. Az inicializációs rész 210 10.2. A modulok használatát bemutató példaprogram 211 10.3. Szabványos modulok 213 11. FILE-KEZELÉS 217 11.1. Turbo Pascal szöveges file-ok 217 11.1.1. A szöveg file azonosítása 220 11.1.2. A szöveg file megnyitása 220 11.1.3. A szöveg file I/O műveletei 223 11.1.4. Szöveg file lezárása 225 11.1.5. A szabványos szöveg file-ok: input és output 226 11.1.6. Példaprogramok text típusú file-ok használatára 230 11.2. Típusos file-ok 234 11.2.1. Típusos file deklarálása és megnyitása 236 11.2.2. File-műveletek 238 11.2.3. A file lezárása 240 11.2.4. Példák típusos file-ok használatára 240 11.3. Típus nélküli file-ok 248 11.4. Eszközök (device) használata 252 11.5. File-ok törlése, átnevezése 255 11.6. Könyvtárak kezelése 255 12. A TURBO PASCAL MEMÓRIAHASZNÁLATA 259 12.1. A mutató típus - dinamikus változók 259 12.1.1. Tömb a halomterületen 261 12.1.2. Mutatótömb használata 262 12.1.3. A lista tárolási szerkezet 263 12.1.4. A saját verem kialakítása 267 12.2. További lehetőségek a memória elérésére 269 12.2.1. Amit a 8086 mikroprocesszorról tudni kell 269 12.2.2. A Turbo Pascal és a szegmentált memória 271 12.2.3. Speciális lehetőségek a memória elérésére 274 12.2.3.1. A Mark és a Release eljárások használata 274 12.2.3.2. A Getmem és a Freemem eljárások használata 275 12.2.3.3. A mutatókról bővebben 277 12.2.3.4. Az absolute deklaráció 282 12.2.3.5. A memória és a portok közvetlen elérése 283 12.2.3.6. Típus nélküli paraméterek használata 284 13. A CRT UNIT HASZNÁLATA 289 13.1. A szöveges üzemmód 289 13.2. Szöveges mód változói, konstansai, függvényei és eljárásai 291 13.2.1. Szöveges mód változói 291 13.2.2. Szöveges mód konstansai 293 13.2.3. Szöveges mód eljárásai és függvényei 295 13.3. A szöveges mód programozása 296 13.3.1. Mintaprogramok a Crt unit használatára 296 13.3.2. Adat beolvasása és ellenőrzése 299 13.3.3. Menükezelés 302 14. GRAPH UNIT HASZNÁLATA 305 14.1. Grafikus mód 305 14.2. Graph unit 305 14.3. Grafikus vezérlők típusa 306 14.4. A grafikus könyvtár eljárásainak és függvényeinek csoportosítása 309 14.5. Grafikus programok készítése 319 14.5.1. Színkezelés különböző vezérlők esetén 319 14.5.2. Jelentősebb mód konstansok 319 14.5.3. Grafikus program felépítésének vázlata 320 14.5.4. Grafikus üzemmód hibajelzései 324 14.6. Grafikus mintafeladatok 325 14.6.1. Szöveg kiírása grafikus módban 325 14.6.2. Szöveges és grafikus mód váltása 329 14.6.3. CGA.BGI és a LITT.CHR programba fordítása 330 14.6.4. Grafikus kurzor mozgatása 332 14.6.5. Alakzat mozgatása 334 14.6.6. Képernyő torzításának kiküszöbölése 334 14.6.7. Alakzatok rajzolása 335 14.6.8. Kép kivágása és újrahelyezése 336 15. MINTAFELADATOK 339 15.1. Másodfokú egyenlet megoldása 339 15.2. Adatok rendezése 347 15.2.1. Rendezés cserével 348 15.2.2. Sztring típusú adatok rendezése 351 15.2.3. Különféle rendező algoritmusok 353 16. A TURBO PASCAL SPECIÁLIS LEHETŐSÉGEI 361 16.1. Overlay használata 361 16.2. Rendszerhívások 367 16.3. Megszakítási rutinok készítése - TSR programok 370 16.4. A DOS unit file-kezelési lehetőségei 375 16.5. Programok indítása 378 17. JÁTÉKPROGRAMOK KÉSZŒTÉSE 381 17.1. Számkirakó játékprogram 381 17.2. Memória játék 384 17.3. Türelem tüske játékprogram 387 17.4. Rex játékprogram 391 17.5. Játékok keretprogramja 397 FÜGGELÉK F1. A TURBO PASCAL SZABVÁNYOS ELJÁRÁSAI ÉS FÜGGVÉNYEI 399 F1.1. Matematikai függvények 399 F1.2. Függvények a megszámlálható típusokra 402 F1.3. String kezelések 404 F1.4. Byte és regiszter műveletek 407 F1.5. Könyvtárak kezelése 408 F1.6. File kezelések 412 F1.7. DOS és rendszer paraméterek kezelése 423 F1.8. Overlay kezelés 432 F1.9. Pointerek kezelése 435 F2. A CRT UNIT ELJÁRÁSAI ÉS FÜGGVÉNYEI 441 F3. A GRAPH UNIT ELJÁRÁSAI ÉS FÜGGVÉNYEI 447 F4. A TURBO PASCAL FORDŒTÓ DIREKTŒVÁI 473 F4.1. A kapcsoló direktívák 474 F4.2. Paraméter direktívák 482 F4.3. Feltételes fordítás 483 F4.3.1. Feltételes szimbólumok 484 F4.3.2. Feltételes direktívák 485 F5. ÖSSZEFOGLALÓ TÁBLÁZATOK 487 F5.1. A Turbo Pascal futás közbeni hibaüzenetei 487 F5.2. A funkcióbillentyűk visszatérési kódjai 490 F5.3. IBM karakterkódok táblázata 492 IRODALOMJEGYZÉK 493 TÁRGYMUTATÓ 494