|
|
| A könyv előszava | A könyv tartalomjegyzéke | Vissza a listához |
Jelen könyv a Pascal programozási nyelvet ismerteti.
1968-ban Niklaus Wirth, a Zürichi Műszaki
Egyetem tanára készítette el a Pascal
nyelv vázlatát az ALGOL-60 programozási
nyelv filozófiájának felhasználásával.
Munkatársai segítségével 1970-ben
létrehozta a nyelv első fordítóprogramját.
A nyelvet Blaise Pascal-ról, a XVII. század
jelentős francia tudósáról nevezte
el, aki több tudományban is kiemelkedő eredményeket
ért el. Sorelméleti kutatásaival megalkotta
a Pascal-háromszöget, a Pascal-tételben
rögzítette a nyomás egyenletes terjedésének
törvényeit, kidolgozta a barometrikus magasságmérés
módszerét, melynek emlékét a róla
elnevezett mértékegység is őrzi. A
valószínűségszámítás
és a filozófia is a nagyjai között tartja
számon. Egy programnyelv névadójává
mégis talán azért lett, mert ő készítette
az első működő mechanikus számológépet.
1973-ban definiálták a szabványos (standard)
Pascal nyelvet. A nyelv gyorsan elterjedt és
hamarosan az egyik legnépszerűbb magas szintű
programozási nyelvvé vált az egész
világon. Népszerűségét és
hatékonyságát nagyban növelte az amerikai
Borland cég által az IBM PC-re 1983-ban
elkészített Turbo Pascal változat,
mely a szövegszerkesztő és fordítóprogram
összekapcsolásával illetve számos más
kiegészítéssel igen kényelmes fejlesztőeszközt
adott a programozók kezébe. A Turbo Pascal az évek
folyamán egyre kiforrottabb nyelvvé vált.
Megjelentek Windows alatt működő
(Turbo Pascal for Windows, 1991), illetve a védett
módú programozást is támogató
(Borland Pascal, 1992) változatai is. Ez
a nyelv az őse az Object Pascal nyelvnek is, amelyre
a Borland Delphi vizuális fejlesztői
környezet épül (1995).
Könyvünkben a Turbo Pascal 5.0, 5.5, 6.0 és
7.0 változatainak ismertetését tűztük
ki célul, amelyek segítségével a DOS
operációs rendszer alatt futtatható programok
készíthetők. A magyarázatokban az
egyes verziók sajátosságaira külön
felhívjuk a figyelmet.
Könyvünk elsősorban azokhoz szól, akik
segítségünkkel kívánnak megismerkedni
a Pascal nyelv rejtelmeivel és szépségeivel.
A nyelv leírása mellett az alapvetőbb programozással
kapcsolatos fogalmakat is tisztázzuk. A Pascal nyelv
szintaktikájával és szabályaival foglalkozó
fejezetek példákon keresztül magyarázzák
az elméletet.
A könyv felépítése olyan, hogy segítségével
a még egészen kezdő programozók, akik
ez ideig semmilyen programozási nyelvvel sem foglalkoztak,
minden egyéb külső segítségség
nélkül is megtanulhatják a Pascal nyelvet.
Különösen nekik szántuk a könyv első
két fejezetét, melynek áttanulmányozása
után már egyszerűbb programok is készíthetők.
A tapasztaltabb Olvasók, akik már használtak
valamilyen más programozási nyelvet vagy kezdő
szinten ismerik a Pascalt, el is eltekinthetnek az első
két fejezet feldolgozásától. (Bár
a második fejezetet azonban számukra is jó
kiindulási pont lehet a könyv további részeihez.)
A gyakorlott Olvasók tanulási stratégiája
a példaprogramok áttanulmányozására
és megértésére épülhet.
Amikor már megismerték az utasítások
helyes használatát és a Pascal program
szerkezeti sajátosságait, hozzáláthatnak
a könyvben közölt feladatok önálló
megoldásához. (Ha elsőre nem is koronázza
teljes siker a próbálkozást, nem kell kétségbeesni,
hiszen a feladatok megoldása megtalálható
a lemezmellékleten.)
Sok érdekeset és hasznosat találnak könyvünkben
azon Olvasók is, akik ugyan már használják
egyszerűbb feladatok megoldására a Pascal
nyelvet, de még nem ismerik a Turbo Pascal rendszer
által nyújtott lehetőségek teljes
tárházát.
Hasznos ismereteket nyújt a könyv mindazoknak, akik
idáig nem értették meg a rekurzív
rutinok és a mutatók használatát.
Részletesen ismertetjük a nagyobb programok készítéséhez
elengedhetetlenül szükséges modulok felhasználását
és készítését. Kiemelést
érdemel a Turbo Pascal fájlkezelési
lehetőségeit bemutató fejezet. Napjaink követelményeivel
összhangban egy teljes fejezetet szenteltünk az objektum-orientált
programkészítés elveinek és fogásainak
bemutatására.
Külön fejezetben tárgyaljuk a komolyabb programok
felhasználói felületének kialakításához
szükséges szöveges és grafikus könyvtárak
alkalmazását.
A könyvhöz csatolt CD-melléklet azon túlmenően,
hogy megkíméli az Olvasót a példák
időt rabló begépelésétől,
a kitűzött feladatok megoldását is tartalmazza.
Az új ismeretek felhasználásához,
alkalmazásához, önellenőrzéshez
a fejezetek végén található kérdések
és proramozási feladatok és
az interaktív CD-mellékleten Windows98/2000/Xp alatt
működő tesztprogramok nyújtanak
segítséget.
A CD mellékleten (TP7javít) két
javítóprogram is van ( Tppatch.exe, T7tpfix.exe),
melyek segítenek a Turbo/Borland Pascal7
redszerekben a mai, gyorsabb számítógépeken
jelentkező "runtime error 200"
futásközbeni hiba kiküszöbölésében.
A hiba okozója a Pascal forrásprogramban alkalmazott
Delay() várakozó eljárás hívása.
Mielőtt számítógépet programoznánk...
A program megtervezése
A programozás alapjai
A program folyamatábrája
A számítógépes program készítése
Mintafeladat
A Pascal program szerkezete
A Turbo Pascal fejlesztői környezet
Az első Pascal program
A változók deklarálása
Adatbevitel a billentyűzetről
Kiírás a képernyőre
Számítások
A bináris és a hexadecimális számok
A nyelv jelkészlete
A foglalt szavak
Azonosítók
Számok
Szövegkonstansok
Címkék
Operandusok
Operátorok
Kifejezések
Megjegyzések
Egyszerű adattípusok
Numerikus adatok tárolása
Logikai információk tárolása
Szöveges információk tárolása
Sorszámozott típusok
Mutatótípusok
Strukturált típusok
Tömbtípusok
Rekordtípusok
Halmaztípusok
Állománytípusok
Objektumtípusok
Típusnevek létrehozása (type)
A type használata felsorolt típus esetén
A type használata résztartománytípus
esetén
A type használata tömbök esetén
A type használata rekordok esetén
A type használata halmazok esetén
Objektumok létrehozása
Konstansnevek létrehozása (const)
Típusos konstansok
Azonos és kompatibilis típusok
Típusok azonossága
Típusok kompatibilitása
Értékadási kompatibilitás
Típuskonverzió
Egy- és kétoperandusú műveletek
Elsőbbségi szabályok
A műveletek csoportosítása
Aritmetikai műveletek
Logikai műveletek
Bitenként elvégzett logikai műveletek
Összehasonlító (relációs) műveletek
Műveletek mutatókkal
Sztringek összekapcsolása
Halmazműveletek
A Turbo Pascal szabványos függvényei és
eljárásai
Matematikai függvények és eljárások
Sorszámozott típusú adatokra használható
függvények és eljárások
Sztringek (karakterláncok) kezelését segítő
függvények és eljárások
Írás képernyőre - a write és
a writeln eljárások
Szöveg kiírása a képernyőre
Egész típusú adatok megjelenítése
Valós értékek kiírása
Logikai értékek kiírása
Olvasás billentyűzetről - a read és
a readln eljárások
Számok beolvasása
Karakterek és szövegek bevitele
Egyszerű utasítások
Az üres utasítás
Az értékadó utasítás
A goto utasítás
Eljáráshívás
Strukturált utasítások
Összetett utasítás (blokk)
Feltételes utasítások
Ciklusutasítások
A with utasítás
Az alprogramok helye a Pascal programban
Eljárások
Az eljárás paraméterei
A lokális deklarációk
Az eljárás törzse
Előzetes (forward) deklaráció
Függvények
A függvények és az eljárások
összehasonlítása
A függvények eljárásszerű hívása
A függvények előzetes deklarációja
háromszög kerületének számítása
háromszög területének meghatározása
Rekurzív alprogramok
A Pascal program blokkszerkezete
Az azonosítók érvényességi
tartománya
A változók élettartama
Még egyszer a paraméterekről
Az érték- és a változó-paraméterek
összehasonlítása
Konstans (const) paraméterek (7.0)
Típus nélküli paraméterek
Eljárás- és függvény-paraméterek
Nyitott (open) paraméterek (7.0)
Speciális alprogramok készítése
Tárgykód beszerkesztése a Pascal programba
Gépi kód beépítése a Pascal
programba
Assembly utasításblokk a Pascal programban (6.0)
Assembler eljárások és függvények
(6.0)
Sztringkezelő függvények és eljárások
A Turbo Pascal modulok felépítése
A modulok fejléce - hivatkozás a modulokra
Az interface rész
Az implementation rész
Az inicializációs rész
A Turbo Pascal moduljainak áttekintése
A fájlkezelés általános lépései
Nulladik lépés: előkészületek
Első lépés: fájlnyitás
Második lépés: fájlműveletek
Harmadik lépés: a fájl lezárása
Szöveges állományok
Szövegfájl deklarálása és megnyitása
A szöveges állományok I/O műveletei
A szövegfájl lezárása
Az input és az output szabványos szövegfájlok
Szöveges állományok használatát
bemutató példaprogramok
Típusos fájlok
Típusos fájl deklarálása és
megnyitása
Fájlműveletek
A fájl lezárása
Példák típusos fájlok használatára
Típus nélküli fájlok
Típus nélküli fájlok kezelése
Példák típusos fájlok használatára
Eszközök használata
Állományok törlése és átnevezése
Könyvtárak kezelése
A mutató típus és a dinamikus változók
Tömb a halomterületen
Mutatótömb használata
A lista tárolási szerkezet
Saját veremszerkezet kialakítása
További lehetőségek a memória elérésére
Amit a 8086 mikroprocesszorról tudni kell
A Turbo Pascal és a szegmentált memória
A Mark és a Release eljárások
A GetMem és a FreeMem eljárások
A mutatókról bővebben
Az absolute deklaráció
A memória és a portok közvetlen elérése
Még egyszer a típus nélküli paraméterekről
A nulla-végű sztringek használata (7.0)
Területfoglalás és -felszabadítás,
értékadás
A pchar típusú mutatók használata
A nulla-végű sztringek és a Pascal szabványos
alprogramjai
A Strings modul sztringkezelő eljárásai és
függvényei
Az egységbezárás
Az objektum típus
Az adatrejtés elve
Az objektumpéldányok létrehozása
Az öröklődés
A rekordok egymásba ágyazása és az
objektumok öröklése
Objektumok hierarchiája
Statikus metódusok, az objektumok zártsága
A sokalakúság
Virtuális metódusok
Absztrakt metódusok
Dinamikus metódusok (7.0)
Objektum-orientált grafikus példaprogramok
A szöveges mód képernyőablaka
A Crt modul lehetőségeinek áttekintése
A szöveges mód konstansai
A szöveges mód változói
A szöveges mód alprogramjainak csoportosítása
A szöveges mód programozása
A Crt modul használatát bemutató példaprogramok
Ellenőrzött adatbevitel
Menükezelés a szöveges képernyőn
Néhány szóban a grafikus vezérlőkről
A Turbo Pascal grafikus rendszere
A BGI vezérlőprogramok
A Graph modul
A grafikus könyvtár alprogramjainak áttekintése.
Képernyő- és ablakkezelés
Grafikus programok készítése
A grafikus üzemmód bekapcsolása
Rajzolás a grafikus képernyőre
A grafikus üzemmód kikapcsolása
A különböző vezérlők grafikus
üzemmódjai
Grafikus példaprogramok
Szöveg kiírása grafikus módban
A szöveges és a grafikus mód váltása
A .BGI és a .CHR állományok beépítése
a programba
A grafikus kurzor mozgatása
Alakzatok mozgatása
A képernyő torzításának kiküszöbölése
Alakzatok rajzolása
Képrészlet elmentése és visszatöltése
Nem szabványos grafikus vezérlő és
karakterkészlet használata
Az overlay technika alkalmazása
Rendszerprogramozási eszközök
A lemezek állapotának lekérdezése
Könyvtárműveletek (WinDos)
Fájlkezelő eljárások és függvények
MS-DOS információk és beállítások
A DOS környezet használata
Rendszerhívások
Megszakításkezelő eljárások
készítése, tárrezidens programok
Programok indítása
A kapcsoló direktívák
Paraméter direktívák
Feltételes fordítás
Feltételes szimbólumok
Feltételes direktívák
Matematikai függvények
Sorszámozott típusú adatokra alkalmazható
függvények
Sztringek kezelése
Halmazok kezelése
Alacsony szintű műveletek
A program paraméterei és futásának
vezérlése
Könyvtárak kezelése
Állományok (fájlok) kezelése
Mutatók kezelése
A Turbo Pascal futásidejű hibaüzenetei
IBM PC billentyűkódok
IBM karakterkódok táblázata