1 / 75

Programozási nyelvek

Programozási nyelvek. P áll Boglárka. Programozási nyelvek. Az algoritmus gép által ismert nyelvre való átírása a programozási nyelvvekkel történik. Ismerünk: Nem strukturált nyelveket ( pl. BASIC ) Strukturált nyelveket ( pl. C, PASCAL )

tiger
Download Presentation

Programozási nyelvek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programozási nyelvek Páll Boglárka

  2. Programozási nyelvek Az algoritmus gép által ismert nyelvre való átírása a programozási nyelvvekkel történik. Ismerünk: • Nem strukturált nyelveket ( pl. BASIC ) • Strukturált nyelveket ( pl. C, PASCAL ) • Objektum orientált nyelveket ( pl. C++, C#, Delphi )

  3. A Pascal programozási nyelv alapjai Megalkotója: Niklaus Wirth (Svájc, 1968) 1973 – ban a legelterjettebb programozási nyelvek közé tartozott. Ismertsége a könnyen tanulható beszédes szintaktikájának köszönhető.

  4. A Pascal program szerkezete Három különálló részből áll: • Programfej – program nevét tartalmazza • Deklarációs rész – változók felsorolása • Programtörzs – utasítások sora, melyekből a program áll

  5. A program szerkezete Pascal nyelvben: programprogramnev; Programfej var valtozo deklaraciok; Deklarációs rész egyeb deklaraciok ; begin utasitasok;Programtörzs end. Fontos!!! Minden utasítást pontosvessző (;) zár, kivételt a“begin”,“end.”, elseés “var” kulcsszavak !!!

  6. Példa: programhellovilag; var szoveg:string; begin szoveg:=‘Hello vilag!’; writeln(szoveg); readln; end.

  7. A Pascal nyelv építő elemei: • Szimbólumok:( ) { } [ ] < > + - * / := .. stb. • Foglalt szavak:program, var, begin, end … stb. • Megjegyzés:(* *) , { } • Azonosítók:az angol abc kis és nagybetűiből, számokból és aláhúzásjelből állhatnak de nem kezdődhetnek számmal

  8. A változók • Változók a Pascal nyelvben:rendelkeznek névvel, értékkel, típussaléscímmel. • Használatuk: var <változónév> : <típus>; • Pl: var a:byte;

  9. Struktúrált típusok Egyszerű típusok A változók típusai Programozó által definiált típus

  10. Egész típusok:

  11. Valós típusok Megjegyzés: -2.9e-39= -2.9*10-39

  12. Karakter Típus (Char)

  13. Logikai Típus (Boolean)

  14. Példa struktúrált adattípusra* Karakterlánc típus (String) • Több karakterből áll. • Maximális hossza 255 karakter, a nulladik karakter tartalmazza a lánc hosszát. Példa:

  15. Adatok beolvasása: • read (változó1, ... ,változón); • readln(változó1, ..., változón); • A változó1 ... változón értékeit a billentyűzetről kéri be az általunk megírt program • A különbség köztük, hogy a readln a beolvasás után új sorba lépteti a kurzort • Ha elhagyjuk a zárójelet a paraméterekkel akkor a program egy bármilyen billentyű lenyomásáig vár

  16. { Példa: Beolvasásra} programbeolvas; var a, b :integer; c, d :real; begin readln(a, b); read(c); read(d); readln; end.

  17. Adatok kiírása: • write (kifejezés1, ... ,kifejezésn); • writeln(kifejezés1, ..., kifejezésn); • A kifejezés1 ... kifejezésn értékeit a Pascal kiértékeli és kiírja a képernyőre • A különbség köztük, hogy a writeln a kiírás után új sorba lépteti a kurzort • Az egész típusú változók kiírásánál meg lehet adni, hogy hány számjegyen, hány tizedesnyi pontossággal történjen a kiírás

  18. { Példa: Kiírásra} programkiiras; var a, b :integer; c, d :real; begin readln(a, b); read(c); read(d); write(‘Az a szam’, a); write(a+b); writeln(c); writeln(d:6:3) {valós szám 6 karakteren 3 tizeses pontossággal} readln; end.

  19. { Példa feladat: Olvassunk be két egész számot, írjuk ki az összegüket!! } programosszeadas; var a, b, osszeg:integer; begin write(‘Add meg az első számot: ’); readln(a) ; write(‘Add meg a második számot: ’); readln(b); osszeg:=a+b; write(‘A két szám összege: ’); writeln(osszeg); readln; end.

  20. Kifejezések a Pascalban • A kifejezések a Pascal nyelvben operátorokból és operandusokból állnak. Pl: 10*2 div 3*3 div 2 (x mod y=0) and (y mod x=0) and (x*y>0) • A műveletek prioritásának megváltoztatása érdekében használhatunk zárójeleket is.

  21. Műveletek Prioritása

  22. Relációs műveletek • A relációk segítségével különböző, egymással kompatibilis típusú kifejezéseket hasonlíthatunk össze. • A műveletek eredménye mindig logikai típusú érték. (igaz vagy hamis) • A programokban a relációs operátorokat feltételek leírásához használjuk. • A relációkat gyakran logikai operátorok és zárójelek segítségével kapcsoljuk össze

  23. Példa • Értékek: • i:=2; • j:=6; • y:=1.2; • x:=4.5;

  24. Logikai művelet táblázat

  25. Szabványos függvények a Pascalban • Pascalban a függvények feladata, hogy a bemenő paraméterekből előállítsák a függvényértékeket • Függvényeket általában • kifejezésekben, • értékadásokban, • kiirásokban használunk

  26. Matematikai Függvények • Abs(x) abszolút érték: Pl: x:=-12 x:= Abs(x)-> x=12 • Cos(x) koszinusz: Pl: x:=3.14 x:=cos(x)-> x=1 • Sin(x)szinusz: Pl: x:=3.14 x:=sin(x)-> x=0

  27. Matematikai Függvények • Frac(x) egy szám törtrésze Pl: x:=12.34 x:=frac(x) -> x=0.34 • Int(x) egy szám egész része (valós típusként) Pl: x:=12.34 x:=int(x) -> x=12.0 • Round(x) legközelebbi egész értékre kerekít Pl: x:=12.8 x:=round(x) -> x=13 • Trunc(x)egy szám egész része (egész típusként) Pl: x:=12.8 x:=trunc(x) -> x=12

  28. Matematikai Függvények • Sqr(x) egy szám négyzete Pl: x:=5 x:=sqr(x) -> x=25 • Sqrt(x) egy szám négyzetgyöke Pl: x:=38 x:=sqrt(x) -> x=6.16 • Inc(x) növeli a számot eggyel Pl: x:=38 x:=inc(x) -> x=39 • Dec(x) csökkenti a számot eggyel Pl: x:=70 x:=dec(x) -> x=69

  29. Egyéb függvények: • Pi Pl: x:=Pi -> x=3.1415926536 • Random(x) véletlenszámot generál [0..x-1] intervallumból Pl: x:=random(5) -> x=3 véletlen szám [0..4] intervallumból

  30. Példa:

  31. Döntések a Pascal nyelvben • A program végrehajtása során sokszor szükségünk van arra, hogy bizonyos feltételektől függően a számítógép a program különböző részeit hajtsa végre. • Ha a feltétel teljesül akkor a program bizonyos műveletsort végez különben másikat.

  32. Algoritmikában: Ha feltétel akkor Utasítások 1 Különben Uasítások 2 Ha vége feltétel NEM IGEN Utasítások 2 Utasítások 1

  33. Egyágú döntés iffeltételthen utasítások; Kétágú döntés iffeltételthen utasítások 1 else utasítások 2; a feltétel egy logikai kifejezés az else előtt nem szerepelhet pontosvessző! A döntéshozó utasítás általános formája

  34. Példa • Olvassunk be két egész számot, majd írjuk ki a nagyobbikat:

  35. Összetett utasítás • Az összetett utasítás a begin és az end kulcsszavak között megadott utasítások sorozatából áll. • akkor használjuk, ha egynél több utasítás végrehajtására van szükség, de a program szintaxisa csak egy utasítás használatát engedélyezi.

  36. Az összetett utasítás általános szintaxisa: begin Utasítás1; Utasítás2; Utasítás3; ... Utasításn; end;

  37. Példa: Adott egy téglalap hosszúsága és szélessége. Számítsuk ki a téglalap kerületét és a területét.

  38. Ciklusok: Számlálós ciklus Segíts Bartnak leírni Pascal programmal 1000-szer azt, hogy: „I will use Google befor asking dumb questions.”

  39. A számlálós ciklus • Az adott utasításokat előre meghatározott számszor hajtja végre a rendszer. Szintaxisa: for i:=kezdérttovégsőértdo utasítás; for i:=végsőértdowntokezdértdo utasítás;

  40. Megjegyzések: • i –t ciklusváltozónak nevezzük. • a ciklusváltozó, a kezdetiérték és a végsőérték csak sorszámozott típusú lehet.

  41. Bart Pascal Programja: Program ezerszer; Var i:byte; Begin for i:=1to1000do writeln(‘I will use Google ...’); readln; End.

  42. Ciklusok: Előltesztelő ciklus Amíg naponta leírod az összes házi feladatot kapsz vacsorát!!

  43. Az előltesztelő ciklus • Az adott utasításokat addig hajtja végre a rendszer amíg a belépési feltétel teljesül. (Akkor állunk meg ha a feltétel nem teljesül (hamis)) Szintaxisa: while feltétel do begin utasítás_1; utasítás_2; ... utasítás_n; end; while feltétel do utasítás;

  44. Megjegyzések: • a ciklushoz tartozó utasításokat ciklusmagnak nevezzük. • ha a belépési feltétel logikai értéke igaz, akkor a rendszer végrehajtja az utasításokat és addig ismétli amíg a feltétel hamissá nem válik. • Vigyázni kell arra hogy a ciklusban a feltétel értéke megváltozzon!!!

  45. Feladat Amíg szám nagyobb mint 0, oszd el az adott számot 10-el! Program osztok; Var sz:byte; Begin while sz > 0do begin sz:= sz div 10; writeln(‘sz: ’,sz); end readln; End.

  46. Ciklusok: Hátultesztelő ciklus Kapsz vacsorát ameddig nincs meg az összes házi feladat!!

  47. A hátultesztelő ciklus • Az adott utasításokat addig hajtja végre a rendszer amíg a kilépési feltétel igazzá nem válik. (Akkor állunk meg ha a feltétel teljesül (igaz)) Szintaxisa: repeat utasítás_1; utasítás_2; ... utasítás_n; until feltétel;

  48. Megjegyzések: • a ciklushoz tartozó utasításokat ciklusmagnak nevezzük. • a rendszer egyszer mindenképpen végrehajtja az utasításokat és addig ismétli amíg a kilépésifeltétel igazzá nem válik. • Vigyázni kell arra hogy a ciklusban a feltétel értéke megváltozzon!!!

  49. Feladat Ameddig a szám egyenlő nem lesz 0-val oszd el az adott számot 10-el Program osztok; Var sz:byte; Begin readln(sz); repeat sz:= sz div 10; writeln(‘sz: ’,sz); until sz=0; readln; End.

  50. Egydimenziós tömbök

More Related