Programozás alapjai Free Pascal

Hasonló dokumentumok
A Pascal programozási nyelvben minden programnak a következő szerkezete van:

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

PASzSz. Dr. Kotsis Domokos

Algoritmizálás és adatmodellezés tanítása 1. előadás

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Algoritmizálás + kódolás C++ nyelven és Pascalban

Delphi programozás I.

Programozás alapjai. 5. előadás

1. Alapok. #!/bin/bash

Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben)

Rendezések. A föltöltés nemcsak az r-re vonatkozik, hanem az s-re is. Ez használható föl a további rendezések

6. A Pascal nyelv utasításai

Informatika terméktervezőknek

A C# programozási nyelv alapjai

Megoldott feladatok. Informatika

BASH script programozás II. Vezérlési szerkezetek

Delphi programozás IV.

INFORMATIKAI ALAPISMERETEK

DOKUMENTÁCIÓ KÉSZÍTETTE: Naszári László I. évf. levelező Informatika tanári szak 2003.

Programozás alapjai. 2. előadás

Programozás alapjai. 7. előadás

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Delphi programozás III.

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Mintavételes szabályozás mikrovezérlő segítségével

Java II. I A Java programozási nyelv alapelemei

Egyszerű programok készítése Kifejezések Bitszintű műveletek Relációs műveletek... 58

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Algoritmusok - pszeudókód... 1

Operációs rendszerek gyak.

Operációs Rendszerek II. labor. 2. alkalom

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Occam 1. Készítette: Szabó Éva

Szkriptnyelvek. 1. UNIX shell

Programozási nyelvek (ADA)

Programozás alapjai. 10. előadás

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Webprogramozás szakkör

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

SZÁMÍTÓGÉPI GRAFIKA MARKEREK

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

AWK programozás, minták, vezérlési szerkezetek

PROGRAMOZÁSI NYELVEK (ELMÉLET)

LibreOffice Makró Basic

A C programozási nyelv I. Bevezetés

Bevezetés a C++ programozásba

A C programozási nyelv I. Bevezetés

Sztringkezelő függvények. A string típusú változók kezelése, használata és szerepük a feldolgozás során

S z á m í t ó g é p e s a l a p i s m e r e t e k

A JavaScript főbb tulajdonságai

BASH SCRIPT SHELL JEGYZETEK

Gyakorló feladatok Gyakorló feladatok

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

C programozás. 1 óra Bevezetés

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Programozás alapjai. 8. előadás

1 A pascal program szerkezete

Python bevezető foglalkozás Python bevezető foglalkozás

Bevezetés a programozásba I.

1. Jelölje meg az összes igaz állítást a következők közül!

1. gyakorlat

BME MOGI Gépészeti informatika 13.

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

NAGYPONTOSSÁGÚ EGÉSZ-ARITMETIKA TARTALOM

INFORMATIKAI ALAPISMERETEK

ABB Teach Pendant programozás segédlet

AWK programozás, minták, vezérlési szerkezetek

Bevezetés a programozásba I.

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

VBA. Visual Basic for Applications

Egyszerű példaprogramok gyakorláshoz

A legfontosabb DOS parancsok

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Közismereti informatika 2.zh T-M szakirány

Programozás I. gyakorlat

Programzás I gyakorlat

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

A C# PROGRAMOZÁSI NYELV

Szoftvertervezés és -fejlesztés I.

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Baran Ágnes. Gyakorlat Függvények, Matlab alapok

Szoftvertechnológia alapjai Java előadások

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Programozás alapjai 9.Gy: Struktúra 2.

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Pénzügyi algoritmusok

Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Irányítástechnika és Informatika Tanszék. Önálló laboratórium

Adatbázis és szoftverfejlesztés elmélet

REKURZIÓK SZÁMÍTÓGÉPES PROGRAMOK SEGÍTSÉGÉVEL

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Átírás:

Programozás alapjai Free Pascal Az általános célú programozási nyelvek közé tartozik. Sok helyen még mindig ezt használják. A programnyelv jól használható, közel áll az emberi gondolkodáshoz és könnyen elsajátítható. Segítségével bármilyen programot el lehet készíteni. Feleletválasztós vagy nyilakkal irányítható játékot, számoló és ügyintéző programokat. A nyelvet 1970-ben Niklaus Wirth professzor fejlesztette ki Zürichben. A Pascal maga az Algol programozási nyelven alapul. Nevét Blaise Pascalról, a nagy 17. századi francia matematikusról és filozófusról kapta. Az egymással konkuráló szoftvercégek Pascal változatai közül kétségtelenül a Borland cégé lett a legsikeresebb. Az évek során a Turbo Pascal verziók között ma a 7.0-nál tartanak. Sőt megjelent a Delphi nevű, szintén Pascal-kódú Windows-os fejlesztőrendszer. A Pascal program nyelvezete erősen emlékeztet a programstruktúra mondatszerű leírására. Az angolul tudók a parancs- és utasításnevek ismeretében - a nyilvánvaló kötöttségekkel - szinte szabályos mondatokat fogalmazva írhatják meg programjaikat. Természetesen az angol nyelvet nem ismerők számára sem jelent problémát a programozás Pascal nyelven. A program fontosabb kiterjesztései: PAS, EXE (lefordítás után compiler) A megírt program egyetlen forrásfájlból áll, melynek kiterjesztése PAS. Ahhoz, hogy ez futtatható legyen EXEvé kell alakítani, a programban található compiler segítségével (F9, Ctrl+F9). PASCAL PROGRAM FELÉPÍTÉSE: Egy általános program 5 részből épül fel: 1. programfej 2. használati unitok (fejezetek) 3. deklarációs rész 4. eljárások és függvények 5. programtörzs, vagy főprogram Mindegyik résznek saját értelme van, ezért fontos, hogy mit hová és hogyan írunk. Nézzük sorba az egységeket: 1. Programfej Nem kötelező. A forráskód a program kulcsszóval kezdődik, amelyet a program neve (azonosítója) követ. Nem tartalmazhat ékezetet, speciális karaktereket (!? + # @ -) és szóközt sem! Jó, ha programnévként olyan nevet adunk, ami utal a program feladatára, és célszerű a programot ezen a néven is menteni. program Eva_jateka; 2. Használati unitok (fejezetek) megadása A program alap nyelvkészletét unitokkal lehet bővíteni. A képernyő törlése, a betűk színe, a dátum kiírása, vagy a fájlok kezelése ezekben a unitokban van eltárolva, így a program kicsi marad és csak azokat a parancskészleteket tartalmazza, amire szükségünk van. Ilyen unitokat természetesen a programozó is készíthet, de ez inkább csak a nagyméretű programok esetén indokolt. A unitokat vesszővel lehet felsorolni a uses kulcsszó után. uses system, crt, graph, printer, dos; system: alapvető parancsok, amiket a program alapból, beírás nélkül is csatol crt: szöveges képernyő kezelése (szín, hely) és hang generálása dos: a Pascal - DOS kapcsolat elemei graph: a rajzolás (grafikai objektumok és szövegek) elemei printer: a nyomtatóra írást teszi lehetővé 1

A Crt unit parancsai ClrScr; Képernyő törlés. TextColor(szám); A parancs futtatása után megváltozik a betű színe. A szám értéke 0-15-ig adható meg, vagy helyettesíthető angol szóval. 0 Black fekete 8 DarkGray sötétszürke 1 Blue kék 9 LightBlue világoskék 2 Green zöld 10 LightGreen világoszöld 3 Cyan türkiz 11 LightCyan világos türkiz 4 Red piros 12 LightRed világospiros 5 Magenta lila 13 LightMagenta világos lila 6 Brown barna 14 Yellow sárga 7 LightGray világosszürke 15 White fehér TextBackGround(szám); A szöveg háttérszínét határozza meg a TextColor-hoz hasonlóan. gotoxy(oszlop, sor); Adott koordinátába küldi a kurzort a képernyőn. A karakteres felbontás általában 80x25-ös. gotoxy(12,4); A kurzor a 12-es oszlop 4. sorába ugrik. ReadKey; A program arra vár, hogy leüss egy billentyűt. Előnye, hogy nem kell entert nyomni, mint a readln parancsnál és a lenyomott billentyű akár változóban is tárolható. readkey; a:= readkey; ilyenkor a lenyomott billentyűt az a változó (ami char típusú) tárolja KeyPressed; Értéke igaz, vagy hamis, attól függően, hogy nyomtál-e le billentyűt. Ez ciklusoknál lehet fontos, mert például addig ismétlődik a ciklus, amíg le nem nyomsz egy billentyűt. A lenyomott billentyűt a z alábbi trükkel tudod eltárolni: repeat writeln ( Sokat írok! ); until keypressed; gomb:= readkey; delay(szám); Szünetet tart a számnak megfelelő ezred másodpercig. delay(1000); 1 másodperces szünet a futás közben cursoron; cursoroff; Be- és kikapcsolja a kurzor villogását, így nem zavarja a felhasználót. Nagyon hasznos, ha nyíllal irányított programot készítesz. 3. Deklarációs rész Ide állandókat, változókat és saját típusokat készíthetünk. Saját típusokat a type, állandókat a const, változókat a var kulcsszó után lehet deklarálni (megadni). Ennek nevet adsz és megnevezed a típusát. Változók típusai: Egész típusok Valós típusok byte 0 és 255 közötti egész szám shortint -128 és 127 közötti egész szám word 0 és 65 535 közötti egész szám integer -32 768 és 32 767 közötti egész szám longint -2 147 483 648 és 2 147 483 647 közötti egész szám single real Egyéb típusok string -1,5. 10 45 és 3,4. 10 38 közötti valós szám vagy a single vagy a double értékét veszi fel számítógéptől függően double -5,0. 10 324 és 1,7. 10 308 közötti valós szám char egy karakter (betű) karaktersor (szöveg), maximum 255 betűkarakter boolean logikai változó, igaz, vagy hamisértéket ad (true/false) 2

var szuletesihonap, tomeg: byte; szuletesiev : word; napizsebpenz : integer; bankszamla, osztas : real; nev, becenev : string; fiu, esikazeso : boolean; gomb, betu, szambetu, nyil : char; 4. Eljárások és függvények Önálló, apró programok, vagy olyan függvények, amiket a főprogramból lehet meghívni és tetszőleges értékkel társíthatók. Például készítesz egy fagyi függvényt, amit ha meghívsz a vanília és 3 paranccsal, akkor a 3 gombócos vanília fagylalt árát és tömegét adja eredményül. procedure (fagyi:string, gomboc:byte); 5. Programtörzs, vagy főprogram Ebben a részben kezdődik a program. A parancsokat, utasításokat a Begin és End. kulcsszavak közé kell írni. Minden parancssort pontosvesszővel kell lezárni. Alap parancsok és jelentésük A program, vagy programrész kezdete end A program befejezése (pont áll utána), vagy programrész vége (pontosvessző áll utána). write Kiír egy szöveget egymás után egy sorba. A részeket mindig vesszővel kell elválasztani, csak a szöveget kell aposztrófok közé tenni! write ( szöveg ); write ( elvál, asztott, szöveg és egy változó, valtozo); write( A megoldás:, 2*a+b); writeln Hasonló a write parancshoz, de itt a kiírt szöveg után új sorba ugrik a kurzor. read Karakterek beolvasása billentyűzetről. Ha önmagában szerepel, akkor sehol sem tárolja a beolvasott karaktereket. A változókat zárójelbe írva kell utána tenni. Nagyon figyelj arra, hogy a beolvasás típusa és a változó típusa egyenlő legyen (ha szám a változó, hibával lép ki a program, ha szöveget írsz be)! read; read (szuletesiev); read (szoveg); readln Hasonló a read parancshoz, de úgy, mint a writeln parancsnál, itt is új sorba ugrik a kurzor a beolvasás után. randomize; A véletlenszám-generátort (random) összeköti az órával, így mindig véletlen számot kaphatunk a random paranccsal. random(szám); Véletlen számot generál (ha előtte szerepel a randomize parancs), 0-tól számig. randomize; a:=random(100); a értéke véletlen szám lesz 0 és 100 között upcase(a); Az a char típusú változót nagybetűvé alakítja. a:=upcase(a); halt; A program futásának megszakítása. {szöveg} Megjegyzés beszúrása a programozói felületbe. A {} jelek közötti szöveg nem kerül végrehajtásra. Nagyobb programokban érdemes magyarázatokat használni. {Az adatbeolvasás kezdete} 3

ÉRTÉKADÁS Egy változónak értékadással adhatunk értéket. Az értékadás operátora a := jel, aminek a jelentése legyen egyenlő. Az értékadó operátor bal oldalán egy változó áll, jobb oldalán pedig egy kifejezés. Nézzünk néhány példát: a:= n ; Az a változó, ami betű (char) vagy szöveg (string), értéke legyen n. b:=3; A b változó, ami egész szám (byte), értéke legyen 3. c:=a; A c változó érétke legyen az a változó értéke. Figyelj, hogy a típusaik megegyezzenek! d:= 3n ; A d változó, ami szöveg (string), értéke legyen 3n. e:=3*b; Az e változó, ami valós szám (real), értéke legyen háromszorosa a b változónak. f:=5+2; Az f változó, ami egész szám (byte), értéke legyen 5+2, vagyis 7. g:= ; A g változó, ami betű (char) vagy szöveg (string), értéke legyen szóköz (üres). h:=true; A h változó, ami logikai (boolean), értéke legyen igaz. (hamis=false) i:=readkey; Az i változó, ami betű (char), értéke legyen a leütött billentyű. j:=random(10); A j változó, ami egész szám (byte) vagy valós szám (real), értéke legyen egy véletlen szám 0 és 10 között. k:=k+1; A k változó, ami egész szám (byte) vagy valós szám (real), értéke legyen 1-gyel több. Ezt szoktuk a ciklusoknál használni. FELTÉTELVIZSGÁLAT Segítségével a program tud döntést hozni, a feltételektől függően más irányba terelni a programot. if a<3 then write( ok ) else write ( baj van ); Ha a feltétel teljesül, akkor ez legyen, különben pedig ez legyen. Ha az a értéke kisebb, mint 3, akkor írja ki, hogy ok. Ha ez nem igaz, akkor írja ki, hogy baj van. Több parancs és műveletk használata: if (b>=10) and (b<=100) then writeln( A szám 10 és 100 közé esik! ); writw( Írj be egy számot: ); readln(szam1); end else writeln( Sajnos a szám nem esik 10 és 100 közé. ); writw( Adj meg egy új értéket! ); readln(szam2); Elágazás: Hasonló a feltételvizsgálathoz, de itt a változó értékétől függően hajt végre parancsot a program, nem pedig feltételt vizsgál, és azt eldöntve teljesíti a parancsot. case a of 1 : writeln ( Az a értéke 1 ); 2 : writeln ( Az a értéke 2 ); readln(b); else writeln ( Az a nem 1 és nem 2 ); Abban az esetben, ha az a értéke 1, írja ki, hogy Az a értéke 1 értéke 2, írja ki, hogy Az a értéke 2, majd kérje be b értékét Különben ha egyik értéket sem vette fel az a, akkor írja ki, hogy Az a nem 1 és nem 2 4

Hátul tesztelős ciklus: Segítségével addig tudsz egy programrészt futtatni, míg a benne megadott feltétel nem teljesül. Így várathatod a felhasználót, míg a helyes számot, szöveget, vagy billentyűt nem írja be. a:=0; repeat a:=a+1; writeln(a); until(a>=10); Ismételd mindaddig, míg az a értéke nagyobb, vagy egyenlő nem lesz, mint 10. Elől tesztelős ciklus: Hasonló a hátul tesztelős ciklushoz, de feltétel vizsgálat az elején történik meg, tehát a program nem hajtja végre a ciklust egyszer sem, ha a feltétel nem igaz. Illetve addig hajtja végre a ciklust, míg a feltétel igaz. a:=0; while (a<10) do a:=a+1; writeln(a); Amíg a értéke kisebb, mint 10, addig csináld. RELÁCIÓK ÉS MŰVELETEK: < kisebb <= kisebb vagy egyenlő > nagyobb >= nagyobb vagy egyenlő = egyenlő <> nem egyenlő and és (a>3) and (a<5) az a 3 és 5 között van or vagy (a<3) or (a=5) az a kisebb, mint 3, vagy egyenlő 7-tel A KÉPERNYŐ FELÉPÍTÉSE F1 F2 F3 F5 Alt+F5 F6 F9 Ctrl+F9 Ctrl+C Alt+Backspace Ctrl+Y Alt+Enter segítség mentés megnyitás belső ablak teljes mérete váltás a program és a lefutott program képernyője között megnyitott programok közti váltás program lefordítása és ellenőrzése program ellenőrzése, majd futtatása futó program megszakítása visszavonás sor törlése ablak teljes képernyőre váltása 5