Programozás alapjai
Adat: a világban előforduló objektumok számunkra fontos tulajdonságai. Információ: az az adathalmaz, ami számunkra új ismeretet tartalmaz. Algoritmus:egy feladat megoldását eredményező véges számú lépésben véget érő, egyértelmű szabályokkal megfogalmazható műveletsorozat.
Program: a számítógép számára érthető instrukciók sorozata, mely az adatok megfelelő számításaival és mozgatásaival egy feladat megoldását célozza. Ha egy algoritmust a számítógép által értelmezhető és végrehajtható lépésekből építünk fel, programnak nevezzük. Az elemi lépéseket utasításnak nevezzük.
Algoritmus tulajdonságai (I) Lépésekből áll. Végrehajtása lépésenként történik. Minden lépésnek egyértelműen végrehajthatónak kell lennie. A végrehajtásnak mindig van valamilyen tárgya (objektuma). A végrehajtandó instrukciónak valamilyen célja van. Az algoritmusnak általában vannak bemenő adatai, melyeket felhasznál.
Algoritmus tulajdonságai (II) Az algoritmusnak legalább egy kimenő adatot produkálnia kell. Az algoritmus véges számú lépésből áll. Legyen az algoritmus hatékony! Az algoritmus legyen megbízható. A felhasználó szempontjait maximálisan vegye figyelembe. Legyen a program felhasználóbarát!
Algoritmusok felépítése Egy tetszőleges algoritmus felépíthető a következő elemekből: Szekvencia :egymás után végrehajtandó tevékenységek sorozata. Szelekció : választás megadott tevékenységek közül. Iteráció : megadott tevékenységek ismételt végrehajtása. Feltétel nélküli ugrás: vezérlés átadása a program egy megadott pontjára.
A folyamatábra jelölésrendszere Tevékenység-csomópont: Tevékenység A tevékenység-csomóponton áthaladva a tevékenység végrehajtódik. Döntéscsomópont: Igaz Nem F Döntéscsomóponthoz érkezve az F feltételtől függően a vezérlés az igaz vagy hamis ágon folytatódik.
A folyamatábra jelölésrendszere Gyűjtőcsomópont: A nyilak az algoritmus végrehajtása során összefuthatnak. A gyűjtőcsomóponton áthaladva a végrehajtás ugyanazzal a tevékenységgel folytatódik, függetlenül attól, mi történik a csomópont előtt.
A folyamatábra jelölésrendszere Részletezés: tevékenység A részletezéssel jelölt tevékenység nem elemi tevékenység, az egy külön folyamatábrán kifejtésre kerül. Kapcsolódási pontok: A A
A folyamatábra jelölésrendszere Program eleje: start Program vége: stop
A folyamatábra jelölésrendszere Adatbevitel: változó Adatkiírás: adatok
Szelekciók Egyágú szelekció (IF…THEN) IF kif. igaz utasítás hamis
Szelekciók Kétágú szelekció (IF…THEN…ELSE…) igaz IF kif. hamis Utasítás 2 Utasítás 1
Szelekciók Egymásba ágyazott szelekció igaz hamis IF f1 hamis IF f2 Utasítás 1 igaz Utasítás 2
Szelekciók Többágú szelekció igaz IF f1 utasítás1 hamis igaz IF f2
Szelekciók Többágú szelekció (CASE) CASE = ESET Case fifejezés Of érték1: utasítás1; érték2: utasítás2; érték3: utasítás3; … else utasítás end;
Iterációk Előltesztelő ciklus (WHILE) - a ciklus mindaddig ismétli a hozzá tartozó utasítást (a ciklus törzsét), amíg a vizsgált kifejezés értéke igaz. Kif. hamis a ciklus utáni utasítás igaz utasítás
Iterációk Hátultesztelő ciklus -mindig az utasítás végrehajtását követi a feltétel kiértékelése, és mindaddig ismétli a ciklus magját, amíg a vizsgált kifejezés értéke igaz. ciklus magja felt. hamis igaz a ciklus utáni utasítás
Iterációk Növekményes ciklus (FOR) - a ciklusmagot egy előre meghatározott számszor hajtjuk végre. Inicializáló kifejezés Ciklus magja a ciklus utáni utasítás
Algoritmusok felépítése Egy tetszőleges algoritmus felépíthető a következő elemekből: Szekvencia :egymás után végrehajtandó tevékenységek sorozata. Szelekció : választás megadott tevékenységek közül. Iteráció : megadott tevékenységek ismételt végrehajtása. Feltétel nélküli ugrás: vezérlés átadása a program egy megadott pontjára.
Strukturált program Szekvencia Szelekció Iteráció A strukturált programozásban ismeretlen a feltétel nélküli ugrás fogalma.
A Pascal program felépítése Fejléc Típus deklarációja Adatok leírása Eljárások és függvények leírása Főprogram
A Pascal program felépítése Program azonosító; Var változóazonosító: típus; Begin Parancssor (algoritmus leírása); End Mire utal a Type Mismatch hibaüzenet? Mire utal a „ ; ” expected hibaüzenet?
A program építőelemei Szimbólumok (pl. :;<*>()=/ ) Fenntartott szavak (pl. begin, var, if, function) Azonosítók - programelem azonosítására használják Címkék Számkonstansok (pl 4,6,3) Szövegkonstansok (aposztróf közé zárt karakter(ek) ) Elválasztójelek (szóköz, megjegyzés)
Típusok csoportosítása A típus az objektumban tárolt érték értelmezését határozza meg. Skalár (egyszerű) típusok: shortint (8 bit) -128 … 127 Byte (8 bit) 0…255 Integer (16 bit) -32768…32767 Word (16 bit) 0…65535 Longint (32 bit) -2.147.483.648…2.147.483.647 Real (6 bájt) 2,9*10-39...1,7*1038 Single (4 bájt) 1.5*10-45...3,4*1038 Double (8 bájt) 5.0E-324 … 1.7E+308 Extended (10 bájt) 3.4E-4932 … 1.1E+4932 Boolean Char String Mutatók
Típusok csoportosítása Összetett típusok: Tömb típus (array) Rekord típus (record) Halmaz Állománytípus (file)
Tömbtípus Type azonosító=array[k1..k2] of típus Var Jellegzetes hibák?
Szelekció If feltétel then parancs1; If feltétel then parancs1 else parancs2; Melyek a sűrűn előforduló hibák?
Iteráció Melyek a sűrűn előforduló hibák? For számláló:=kezdőérték to végsőérték do parancs; Melyek a sűrűn előforduló hibák?
Iteráció Melyek a sűrűn előforduló hibák? While feltétel do Begin Parancsok; End; Melyek a sűrűn előforduló hibák?
Beépített függvények readln (); Readln; Write(); Writeln(); Melyek a legsűrűbben előforduló hibák a kíratásnál?
Eljárások (procedure) Függvények (function) Változók típusai: - lokális - globális