PROGRAMOZÁSI NYELVEK (ELMÉLET)

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "PROGRAMOZÁSI NYELVEK (ELMÉLET)"

Átírás

1 PROGRAMOZÁSI NYELVEK (ELMÉLET) A programozási nyelvekről általánosan már az előző részben beszéltünk. Megkülönböztettünk alacsony és magas szintű nyelveket. A legtöbb esetben elegendő a magas szintű nyelvek használata számunkra. A következő oldalakon keresztül megismerkedhetünk egy általánosan leírt és bemutatott strukturált nyelv szerkezetével és használatával. Mielőtt azonban részletesebben belevágnánk a munkába, nézzük meg a programozás egyik alaptételét: Böhm-Jacopini tétel: Minden program felépíthető három alkotóelemből, ezek : szekvencia, szelekció, iteráció. A tétel más szóval azt mondja ki, hogy gyakorlatilag strukturált programozási nyelv segítségével minden program elkészíthető. A következő fejezetekben erről szeretnénk bővebben is beszélni, de ehhez meg kell ismernünk számos fogalmat és modult. SZAKMAI INFORMÁCIÓTARTALOM 1. Elemi típusok ADATSZERKEZETEK Egy változóban, alapértelmezetten egy adat tárolható el. A változóknál már tanultuk, hogy fontos tulajdonsága a típusa. A következőkben ezeket a típusokat fogjuk megismerni. Megszámlálható típusok: a., egészek: Típus Méret Előjel Számtartomány Byte 1 Byte Nincs Word 2 Byte Nincs Shortint 1 Byte Van Integer 2 byte Van Longint 4 Byte Van ±2 milliárd A típuson végezhető műveletek: 1

2 Művelet Leírás + Összeadás - Kivonás DIV Egészrész osztás MOD Maradékos osztás INC Egyel növeli az értéket DEC Egyel csökkenti az értéket SHL Szám eltolása egyel balra SHR Szám eltolása egyel jobbra AND Logikai és OR Logikai vagy XOR Logikai kizáró vagy b., karakteres: Típus Méret Tartomány Char 1 Byte ASCII kódtábla A típuson végezhető műveletek: Chr Ord Művelet Leírás Kód alapján megadja a karaktert Lekérdezi a karakter kódját c., logikai: Típus Méret Tartomány Boolean 1 Byte {false..true} A típuson végezhető műveletek: Művelet Not AND OR XOR EQU NAND NOR Implikáció Leírás Logikai tagadás Logikai és Logikai vagy Logikai kizáróvagy Equivalencia Logikai nemés Logikai nemvagy Implikáció Hasonlító operátorok: =, >, <, <>, >=, <=, IN. d.,valós típusosztály: Típus Méret Számtartomány Real 5+1 Byte < N <

3 Single 3+1 Byte 8, < N <3, Double 6+2 Byte 4, < N <1, Extended 7+3 byte 3, < N <1, Ábrázolás: lebegőpontos számként: mantissza+karakterisztika Műveletei: minden matematikai művelet és függvény 2. Összetett típusok Egy változónév alatt több adat is eltárolható. a. Karaktersorozat: Stringnek nevezzük a zérus vagy véges számú karaktert tartalmazó karaktersorozatot. Az elemei karakterek és rendelkeznek is a char típus minden tulajdonságával. Alapértelmezésben egy string maximum 255 karakterből állhat. A típuson végezhető műveletek: b. Tömb: Művelet Hossz(s) RészSztring (s,n,m) Pozíció (s1,s2) Konkateráció(s1,s2) Leírás A s string hosszát adja vissza Az s string n elemétől m hosszúságú részt ad vissza h Megadja, az s1 stringben az s2 pozícióját Az s1 és s2 stringet összeolvasztja egy stringgé A típus neve: array. Egy tömbnek fix számú eleme van, és az összes elemnek ugyanaz a típusa. Az elemek típusát alaptípusnak nevezzük. Az elemek indexelhetők, mégpedig bármely sorszámozott típus egymás utáni értékével. A tömb gyakorlatilag egy matematikai vektorhoz hasonlítható. Többdimenziós tömbök is létrehozhatók. Ekkor értelemszerűen az indexei is többdimenziósak lesznek. c. Rekord: Egy rekord (record) különböző típusú elemeket fog össze. Általában akkor használjuk, amikor több, egymás melletti adatot egyszerre kell mozgatnunk, kezelnünk. A deklarált adatokat a rekord mezőinek nevezzük. A mezőkre a rekodnév.mezőnév formában szoktunk hivatkozni. 3. Definiált típusok a, Részintervallum: Részintervallum típusok beépített vagy előzőleg definiált megszámlálható típusból szűkíthetők le az értékkészlet részintervallumának kiválasztásával. A két határ is 3

4 beletartozik az intervallumba; a felső határ nem lehet kisebb az alsó határnál, azaz az intervallum nem lehet üres. b, Halmaz: A halmaz speciális adattípus, melyen a matematikai halmazelmélet műveletei végezhetők el. A halmaz elemei ugyanolyan típusúak. Az alaptípus csak sorszámozott lehet, melyben a lehetséges elemek sorszámai 0 és 255 közöttiek lehetnek. Egy halmazt megadhatunk úgy, hogy felsoroljuk elemeit, vagy egy intervallumot adunk meg. Az üres halmaz: [] c, Felsorolás A felsorolás típus értékei fix konstansokból állnak. A programozó adja meg a típus elemeit. Maga a felsorolás egyben az elemek sorszámát is megadja. A felsorolás típusban megadott értékek eleve típus definiációt adnak. d, Verem: A verem LIFO (last-in-first-out) szervezésű, azaz mindig az utoljára beletett elemet lehet kivenni. A legtöbbször olyan adathalmaz tárolásánál használjuk, ahol nem ismert mennyiségben kell rögzíteni adatot, majd azt fordított sorrendben vissza kell olvasnunk. e, Sor: A sor, vagy, más néven láncolt lista FIFO (first-in-first-out) szervezésű, vagyis az elsőnek beírt elemet fogjuk elsőre kivenni. A legtöbbször olyan adathalmaz tárolására használjuk, ahol nem ismert mennyiségben kell rögzíteni az adatokat, majd a felvitel sorrendjében kell kiolvasni. g, Gráf: Pontok és élek halmaza, ahol az élek ponttól pontig tartanak. Adattárolás szempontjából a sorok felhasználásával valósítjuk meg. Tipikus esete a Fa, mint speciális gráf. Fa adatszerkezetben igen sokféle keresési és rendezési algoritmus használatos. 4. Mutató típus: A mutatók (pointerek) olyan változók, amelyek egyes tárolási egységek (változók vagy függvények) memória címeit tartalmazzák. Az ilyen változók tehát az adott tárolási egységre nem közvetlenül utalnak, hanem közvetetten (indirekció). A pointerek használatával valósítható meg a verem, sor és gráf adattípus is. 5. Konstansok: Az attribútum azt mondja, hogy a típus konstans típus. Ez azt jelenti, hogy a típus értékek (objektumok) nem változtathatják meg az értéküket a program futása során. 4

5 SZAKMAI INFORMÁCIÓTARTALOM 1. Értékadás PROGRAMOZÁSI ESZKÖZÖK A változóknak adhatunk új értéket. A programvégrehajtás során a változók értékei változhatnak. Lényegében ezért kapták a változó nevet. A legtöbb programnyelv nem ad kezdőértéket a deklarált változóinak. A program során a programozónak kell biztosítani a változó értékadását. Pl.: A = Adatbevitel és adatkiírás Ezeknek az utasításoknak a segítségével a program és a külvilág közötti adatcserére nyílik lehetőségünk. A bevitel általában a billentyűzetről vagy háttértárolóról történik. A kivitel általában a monitor, a nyomtató vagy a háttértároló segítségével valósul meg. 3. Elágazások, feltételes programvégrehajtás A program elérkezik egy ponthoz, ahol az egyes programrészek végrehajtása egy feltételtől függ. Itt a logikai feltétel kiértékelése után dől el, hogy a program melyik ágon fog folytatódni, de csakis az egyik ág teljesülhet. Az elágazások feltétele egy logikai kifejezés, ami az összehasonlító operátorok (relációs jelek) és logikai műveletek illetve függvények használatával képezhető: <, >, <=, >=, <>, AND, OR, NOT. Pl.: Ha feltétel akkor utasítások1 különben utasítások2 4. Ciklusszervezés Ciklust akkor alkalmazunk a programokban, ha valamilyen tevékenységet ismételtetni szeretnénk. Ilyenkor nem kell többször megírni ugyanazt a programrészt, hanem elég egyszer. Előirt lépésszámú ciklus Ebben az esetben már a program írása során pontosan tudjuk, hogy hányszor szeretnénk ismételni a programrészletet. Mivel itt konkrét számról van szó, ezért a programba be is építjük, mint egy konstans értéket. A program addigi futásától függetlenül a ciklusmag mindig ugyanannyiszor fog ismétlődni. A ciklusmag utasításai a ciklusváltozó kezdő és végértékének, valamint a lépésköznek megfelelő számszor kerülnek végrehajtásra. Pl.: Ciklus ciklusváltozó = 1 től 100-ig 2 lépésközzel : 5

6 : Ciklusmag : Ciklus vége Elöltesztelő ciklus A ciklusmag utasításait addig kell végrehajtani, amíg a feltétel igaz. A feltétel kiértékelés a ciklusmag lefutása előtt történik, tehát előfordulhat olyan eset, amikor a ciklusmag egyszer sem fut le. Pl.: Ciklus amíg feltétel : : Ciklusmag : Ciklus vége Hátultesztelő ciklus Az előzőhöz hasonló, azzal a különbséggel, hogy a ciklusmag utasításait egyszer mindenképpen végre kell hajtani. Pl.: Ciklus : : Ciklusmag Amíg feltétel Ciklus vége 5. Függvények A függvények fő sajátossága, hogy nevük egy értéket képvisel. Típusuk pontosan meghatározott. A függvényekre nevük és paramétereik leírásával hivatkozhatunk. A függvény megadott paramétereken végrehajt egy utasítássorozatot és visszatér egy értékkel. Ezt a visszatérési értéket tekintjük a függvény eredményének és így értékadásban kell szerepelnie. Pl.: A= SIN(x) 6. Eljárások Az eljárások annyiban különböznek a függvényektől, hogy nem értéket, hanem valamilyen tevékenységet képviselnek. Ezekre nevükkel és paramétereikkel hivatkozhatunk. A programok során érdemes eljárásokban elhelyezni azokat az algoritmusokat, amiket többször is használunk különböző helyzetekben. Az eljárásokra tagolt program könnyebben áttekinthető, de nagyobb odafigyelést igényel a használatuk. Az eljárásoknál nagy szerepe van a paraméterátadásnak. 2

7 Összefoglalás Milyen egyszerű adatszerkezeteket ismer? Milyen összetett adatszerkezeteket ismer? Milyen definiált adatszerkezeteket ismer? Mit jelent, ha egy típus sorszámozott? Mi a LIFO? Mi a FIFO? Mire jók a függvények és eljárások? SZAKMAI INFORMÁCIÓTARTALOM PROGRAMOZÁSI ESZKÖZÖK MEGVALÓSÍTÁSA PASCAL NYELVEN A következő részben a PASCAL nyelvet segítségül hívva bemutatjuk a fentebb tanult programozási eszközök megvalósítását egy konkrét nyelven keresztül is. A PASCAL nem kifejezetten az a szakmai nyelv, amit a programozók a hétköznapi munka során szívesen alkalmaznak, de egy remek tanuló nyelv! Nagy előnye, hogy könnyen megjegyezhetőek az utasításai, és eléggé kötött a szintakszisa. Ez kifejezetten előny egy tanulás folyamán, de sajnos hátránnyá válik egy bonyolult fejlesztés alatt. Aki elsajátítja a PASCAL alapvető utasításait, annak könnyen megy majd az áttérés egy komolyabb nyelvre. A DELPHI például a PASCAL alapjaira épít. Ezektől függetlenül továbbra is hangsúlyoznám, hogy nem az számít, hogy ki milyen nyelven tanul meg programozni, hanem az, hogy megértse a programozás logikáját! Tudjon algoritmust tervezni egy problémára! Képes legyen elvonatkoztatni és megérteni egy feladat lényegét. Ha ebben gyakorlatot szerzünk, akkor nyelvektől függetlenül tudunk majd programozni és programozóként gondolkodni! Egy PASCAL program felépítése: Egy PASCAL programot három részre oszthatunk: 1. Programfej 2. Deklarációs rész 3. Programtörzs program program_neve; 3

8 Uses unitok neve; var változók deklarálása; begin parancsok,utasítások amiket a program végrehajtson; End. Programfej: A programunk első sora a programfej. A PROGRAM szó után álló azonosító lesz a programunk neve. Ez célszerűen megegyezhet a program mentett nevével is. Mindez elhagyható, de használata javasolt a későbbi azonosítás megkönnyítésére. Figyeljünk rá, hogy az adott név ne szerepeljen a program többi részében azonosítóként! Unitok: A program második sorában a USES kulcsszó után a programunk által használt egységeket, más szóval UNITokat soroljuk fel. A System unit, amely a leggyakrabban használt deklarációkat, konstansokat, változókat, eljárásokat, függvényeket tartalmazza, automatikusan hozzászerkesztődik a programunkhoz. Unitokat mi is készíthetünk az általunk sokat használt saját függvényeinkből és eljárásainkból. A PASCAL legtöbbet használt unitjai a következők: Deklarációs rész: A harmadik sorban a Var kulcsszó után álló változódeklarációs szakaszban a programblokkban használt összes változót fel kell sorolni, és típusát megadni. A típusmegadás történhet áttételesen, a Type utáni típusdeklaráció segítségével (ld. tömb). A konstansok használata programozói munkánkat könnyítheti meg (Const). Példa a deklarációra: Var x,y,z:integer; Programtörzs (végrehajtandó rész): BEGIN [utasítások..] END. A PASCAL szabad formátumú nyelv, azaz több utasítás is szerepelhet egy sorban vagy akár egy utasítást több sorra is tördelhetünk. Célszerű a program olvashatóságára, áttekinthetőségére törekedni, ezért tagolhatjuk tabulátorokkal és behúzásokkal is a 4

9 programunkat. Ezeket az üres részeket a compiler figyelmen kívül fogja hagyni a fordítás során. Az egyes utasításokat pontosvesszővel választjuk el egymástól! A PASCAL nyelv nem különbözteti meg a kis és nagy betűket Programunkban korlátlan hosszúságú megjegyzést, más szóval kommentet helyezhetünk el a {... } illetve a (*... *) jelek között. Ezeket célszerű használni, hiszen így a későbbiekben saját magunk is könnyebben eligazodunk az utasítások között. Begin-end blokk A PASCAL utasításai Begin és end közé zárt blokkokban helyezhetjük el. A program szerkezetéből is láthattuk, hogy maga az utasítás rész is egy ilyen blokkban szerepel. Itt a végső end utasítást egy pont zárja, ami a program zárását is jelenti. Ezen a fő blokkon belül alkalmazhatunk tetszőleges számú alblokkot, amit szintén Beginend utasítások közé zárva tehetünk meg. Figyelnünk kell rá, hogy minden Begin utasításnak legyen End párja! Ezekben az esetekben az End mögött pontosvesszőt használunk. Példa a használatra: Program elso; Uses crt; Var Begin Clrscr; For K:=1 To 100 Do Begin Writeln( Hello ); End; Readln; End. 5

10 A példa programban piros és zöld színekkel jelöltem az egymásba ágyazott blokkokat. 1.Értékadás A PASCAL nyelvben az értékadás a := karakterkombinációval történik. Ezt legyen egyenlő - nek szoktuk mondani a matematikai értékadásokhoz hasonlóan. Bármilyen deklarált változónak adhatunk értéket a típusának megfelelően a program utasításrészében. Pl: A:=2345; 2. Adatbevitel és adatkiírás Az adatbevitel és a kiíratás utasításai paraméterezhetőek. A paraméterek határozzák meg, hogy honnan, vagy pedig hová történjen a művelet. Alapvető beviteli eszköz a billentyűzet. Alapértelmezett kimenet pedig a monitor. Példa bevitelre: Readln(A); Read(A); /Sort olvas be /Egy adatot olvas be Példa kimenetre: Writeln( Helló Világ! ); /Sort irat ki Write(A); /Egy adatot ír ki 3. Elágazások, feltételes programvégrehajtás Az elágazások teszik lehetővé, hogy a program változói értékétől függően különböző tevékenységeket hajtson végre. Tipikus hiba PASCAL-ban, ha az Else elé pontosvesszőt teszünk, ez ugyanis kettévágná az elágazás utasítást! Általánosan: If feltétel Then utasítás1 Else utasítás2 Nézzük meg egy konkrét példán keresztül: If A<0 Then Writeln( Negatív ) Else Writeln( Pozitív ); 4. Ciklusszervezés A PASCAL nyelv mind a három fajta ciklust alkalmazza. Nézzük meg sorban a használatukat! Előirt lépésszámú ciklus Itt előre meghatározzuk az ismétlések számát. Gyakorlatilag egy változó segítségével a program számlálja, hogy hányadik ismétlésnél tartunk. 6

11 Az I (iteráció=ismétlés) változó értéke k kezdőértéktől v végső értékig egyesével nő (Downto esetén csökken). Szokásos módon Begin... End blokkban adunk meg több utasításból álló ciklusmagot. Ez a ciklus akkor használható, ha ugyanazt a tevékenységet megadott számú esetben akarjuk lefuttatni. Általánosan: For i:=k To v Do ciklusmag For i:=k Downto v Do ciklusmag Konkrét esetben: For K:=1 To 100 Do Begin Writeln( Hello ); End; Elöltesztelő ciklus Ebben a ciklusban a ciklusmag előtt található egy feltétel, aminek a kiértékelésétől függ a ciklus lefutása. Amíg a feltétel igaz addig fut a ciklus. Általánosan: While feltétel Do ciklusmag Konkrét példán keresztül: While A<100 do Begin Wrilten(A); A:=A+1; End; Hátultesztelő ciklus Itt a feltétel a ciklus végén van, de van még egy érdekesség is. Az Until után található feltétellel úgy határozzuk meg a ciklus működési feltételét, hogy akkor marad abba az ismétlés, amikor a feltétel igazzá válik. Szokás az UNTIL utasítást mígnem -nek fordítani is ezért. Általánosan Repeat ciklusmag Until feltétel Konkrét példán keresztül: Repeat Writeln(A); A:=A+1; Until A>100; 7

12 5. Függvények A függvények segítségével olyan algoritmusokat készíthetünk, amik meghívásukkor paraméterezhetőek és visszatérésükkor egy értéket adnak. Vagyis egy visszatérési értékkel adnak eredményt. A visszatérési értéket egy értékadással tudjuk a függvény utasítás részében megadni. A függvény nevének, mint egy változónak adunk értéket. A függvények kifejezésekben használhatóak csak. Egy függvényt a nevével hívunk meg. Először deklarálnunk kell a függvényt: Általánosan: Function Függvénynév(paraméterek):típus Begin Utasítások; függvénynév := kifejezés; End Konkrét példában: Function Proba(x,y:integer):Integer Begin Proba:=x+y; End A függvény a deklarációs részben lett deklarálva. A neve utáni zárójelben a paraméterei fel vannak sorolva a típus deklarációjukkal egyben. A zárójel mögött található típus a visszatérési érték típusa. Utána a program utasítás részében a neve segítségével bármikor meg lehet hívni a függvényt egy kifejezésben, de arra ügyelni kell, hogy a függvény típusa ne ütközzön a kifejezésben betöltött szerepével! 6. Eljárások Az eljárások annyiban különböznek a függvényektől, hogy nem értéket, hanem valamilyen tevékenységet képviselnek. Ezekre is nevükkel és paramétereikkel hivatkozhatunk. Az eljárások bárhol meghívhatóak a nevükkel. Gyakorlatilag úgy viselkednek, mint egy általános paraméterezett utasítás. Először deklarálnunk kell az eljárást: Általánosan: Konkrét példa: Procedure Eljárásnév(paraméterek) Begin utasítások ; End Procedure Minta(x:integer) Begin Writeln( Hello,x); 8

13 End Paraméter átadás Az eljárások és függvények lényeges tulajdonsága a paraméter átadás. Mivel a meghívásuk paraméterekkel történik és a működésük során is a paraméterek befolyásolják a tevékenységüket, ezért erről kicsit részletesebben kell szólnunk. A paraméterek az eljárás és az őt hívó programrész közötti adatcserét, kommunikációt szolgálják. A formális paraméterekkel írjuk le az alprogram tevékenységét. Híváskor ezek helyére konkrét objektumokat, aktuális paramétereket írunk. Alapvetően PASCAL-ban kétféle paraméterátadás ismeretes: a, Érték szerinti paraméter átadás A deklarációban a formális paraméter előtt nincs VAR! Ekkor az aktuális paraméter értéke kerül át a formális paraméterbe. Az eljárás minden egyes hívásakor a rendszer tárterületet rendel a verem memóriában a formális paraméterekhez, és ide másolja be az aktuális paraméterek értékeit. Az eljárás végeztével ez a terület felszabadul. Az aktuális paraméter értékét az eljárás nem változtathatja meg, így ez csak bemenő paraméter. Az aktuális paraméter csak változó lehet. Példa a deklarációra: Procedure Minta(x,y:integer) Begin x:=x+y; Writeln(x); End Példa a használatra: Begin a:=10; b:=13; Minta(a,b); Writeln (a,b); End; Az eljárás lefutása után az a és b változó értékei nem módosulnak. Ugyan azok maradnak mint az eljárás futatása előtt, holott az eljárásban az a értékét módosítottuk. Ez a módosítás csak az eljárás futásának idejére volt érvényes. b, Cím szerinti paraméter átadás 9

14 A deklarációban a formális paraméter elé VAR -t írunk) Az aktuális paraméter címe kerül át a formális paraméterhez, ha változik a formális paraméter, akkor az aktuális ugyancsak változik. Ezáltal egyaránt használhatjuk be- és kimenő paraméterként is. Az eljárás vagy függvény lefutása után megváltozhatnak a paraméterként megadott változók értékei. Az aktuális paraméter csak változó lehet. Példa a deklarációra: Procedure Minta(var x:integer,y:integer) Begin x:=x+y; Writeln(x); End Példa a használatra: Begin a:=10; b:=13; Minta(a,b); Writeln (a,b); End; Az eljárás deklarációja során az X paraméter elé VAR utasítást írtunk, amivel deklaráltuk a cím szerinti paraméter átadást számára. Az eljárás meghívása során az a változó lett behelyettesítve az x helyére. Az eljárás gyakorlatilag az a változó memóriacímén dolgozott. Az eljárás futásának végén így az a változó értéke megváltozik. Gyakorlatilag az a és b változó értéke kerül a helyére, mivel az eljárásban történt egy értékadás a címén. TANULÁSIRÁNYÍTÓ A fent ismertetett tananyag egy iránymutató. A programozást igazán soha nem lehet megtanulni. Ezt csak tanulni lehet! Minden egyes új probléma megoldása során az ember új ismeretekre tesz szert. Mindig jobb és gyorsabb programokat tud írni az, aki ezt szívvel lélekkel teszi. Ha valaki az ismertetett tananyag után kedvet kapott a programozás részletesebb megismerésére, akkor ajánlom a gyakorlati rész áttekintését is! A tanulás során javaslok egy olyan sorrendet betartani, ami a tananyag ismertetésekor is történt. Ha tisztában vagyunk az alapfogalmakkal és a leíró rendszerekkel, akkor érdemes gyakorolni a használatukat pár feladaton keresztül, ami a következő részben megtalálható lesz! 10

15 11

16 ÖNELLENÖRZŐ FELADATOK Ebben a részben találunk néhány feladatot, ami segít elmélyíteni a fenti ismereteket. A feladatokat itt kell megoldani a kijelölt helyen. Segítségképpen nyugodtan lapozzunk vissza kezdetben a tananyaghoz, de az lenne a végső cél, hogy teljesen önállóan tudjuk megoldani a feladatokat! 1. feladat Írjon programot a páros és páratlan számok kiválogatására! Használja segítségképpen a Programozásmódszertan 1 anyagot! 12

17 2. feladat Írjon programot a szökőévek kiválogatására! Használja segítségképpen a Programozásmódszertan 1 tananyagot! 13

18 3. feladat Írjon programot a prímszámok megkeresésére! Használja segítségképpen a Programozásmódszertan 1 anyagot! 14

19 MEGOLDÁSOK 1. feladat Program kivalogat; Uses crt; Var i:integer; t: array [1..10] of integer; Begin Clrscr; For i:=1 to 10 do begin Writeln( Add meg az,i,. számot! ); Readln(t[i]); End; For i:=1 to 10 do begin If (t[i]/2)=int(t[i/2) then writeln( Pozitív:, t[i]) else writeln ( Negatív:,t[i]); End; Readln; End. 15

20 2. feladat Program szokoev; Uses crt; Var e:integer; Begin Clrscr; Writeln( Add meg az ellenőrzendő évszámot! ); Readln(e); If ((e/4)=int(e/4)and ((e/100)<>(int(e/100)) then Writeln( Szökőév ) Readln; End. else Writeln( Nem szökőév ); 16

21 3. feladat program PRIM; var i,n:longint; k:boolean; begin Write('N:');ReadLn(n); i:=2;k:=true; repeat if n mod i=0 then k:=false; i:=i+1; until (i>sqrt(n)) or not k; if k then WriteLn('Prím') else WriteLn('Nem prím'); end. 17

22 IRODALOMJEGYZÉK FELHASZNÁLT IRODALOM KUROS, A. G. : Felsőbb algebra. Budapest (Tankönyvkiadó) KNUTH, Donald, E.: A számítógép-programozás művészete I-III. Budapest (Műszaki) OBÁDOVICS J. Gyula: Matematika. Budapest (Műszaki) REIMANN József: Matematika. Budapest WIRTH, Niklaus: Algoritmusok + Adatstruktúrák = Programok. Budapest (Műszaki)

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

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

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

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin 1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy

Részletesebben

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

Programozás alapjai. 7. előadás 7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való

Részletesebben

PASzSz. Dr. Kotsis Domokos

PASzSz. Dr. Kotsis Domokos PASzSz Készítette: Dr. Kotsis Domokos Első témakör: Lazarus terminál alkalmazás készítése. Lazarus terminál alkalmazás készítése. Egyszerű algoritmusok leírása, megvalósítása. Free Pascal A Turbo Pascal

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

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

1. Egyszerű (primitív) típusok. 2. Referencia típusok II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget

Részletesebben

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

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

Eljárások és függvények

Eljárások és függvények Eljárások és függvények Jegyzet Összeállította: Faludi Anita 2012. Bevezetés Ez a jegyzet elsősorban azoknak a diákoknak készült, akiket tanítok, ezért a jegyzet erőteljesen hiányos. Az olvasó egy percig

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

Adatszerkezetek 1. Dr. Iványi Péter

Adatszerkezetek 1. Dr. Iványi Péter Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk

Részletesebben

Vezérlési szerkezetek

Vezérlési szerkezetek Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását

Részletesebben

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

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok

Részletesebben

Nézzük tovább a lexikai egységeket!

Nézzük tovább a lexikai egységeket! Utasítások Osztályozásuk: Nézzük tovább a lexikai egységeket! - értékadó utasítások - ugró utasítások[vezérlő utasítások (a program vezérlési szerkezetét adják meg)] - feltételes utasítások - ciklusszervező

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok

Részletesebben

Eljárások, függvények

Eljárások, függvények Eljárások, függvények Tartalomjegyzék Az alprogramok...2 Kérdések, feladatok...2 Kérdések, feladatok...3 Eljárások...3 Kérdések, feladatok...4 Érték és cím szerinti paraméterátadás...5 Kérdések, feladatok...6

Részletesebben

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

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis I. ALAPALGORITMUSOK 1. Prímszámvizsgálat Adott egy n természetes szám. Írjunk algoritmust, amely eldönti, hogy prímszám-e vagy sem! Egy számról úgy fogjuk eldönteni, hogy prímszám-e, hogy megvizsgáljuk,

Részletesebben

3 A C programozási nyelv szintaktikai egységei

3 A C programozási nyelv szintaktikai egységei 3 A C programozási nyelv szintaktikai egységei 3.1 Azonosítók Betűk és számjegyek sorozata, betűvel vagy _ (aláhúzás) karakterrel kell kezdődnie. A nagy- és kisbetűk különbözőek. Az azonosítók tetszőleges

Részletesebben

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

Algoritmusok - pszeudókód... 1

Algoritmusok - pszeudókód... 1 Tartalomjegyzék Algoritmusok - pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 1 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 2 Minimum

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

Gyakorló feladatok az 1. nagy zárthelyire

Gyakorló feladatok az 1. nagy zárthelyire Gyakorló feladatok az 1. nagy zárthelyire 2012. október 7. 1. Egyszerű, bevezető feladatok 1. Kérjen be a felhasználótól egy sugarat. Írja ki az adott sugarú kör kerületét illetve területét! (Elegendő

Részletesebben

PROGRAMOZÁSI NYELVEK (GYAKORLAT)

PROGRAMOZÁSI NYELVEK (GYAKORLAT) PROGRAMOZÁSI NYELVEK (GYAKORLAT) A következő részben olyan szabványos algoritmusokkal fogunk foglalkozni, amelyek segítségével a későbbiekben sok hétköznapi problémát meg tudunk majd oldani. MUNKAHELYZET-

Részletesebben

Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans

Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans Témakörök: k: Rekord adattípus Egymásba ágyazott rekordok With utasítás Változó rekord Rekord konstans 1. A rekord adattípus Sokszor találkozunk lkozunk olyan feladattal, melyben összetartozó adatokat,

Részletesebben

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

Egyszerű programok készítése... 56 Kifejezések... 57 Bitszintű műveletek... 57 Relációs műveletek... 58 Tartalomjegyzék Algoritmusok - pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 1 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 3 Minimum

Részletesebben

A C# PROGRAMOZÁSI NYELV

A C# PROGRAMOZÁSI NYELV A C# PROGRAMOZÁSI NYELV 2010.02.23. Bevezetés C# nyelv jellemzői 2 Kis és NAGY betű érzékeny Minden utasítást pontos vessző zár. Utasítás zárójel a:,. .NET Framework keretrendszerek 3 Microsoft.NET Framework

Részletesebben

Delphi programozás I.

Delphi programozás I. Delphi programozás I. Konzol alkalmazások készítése Delphiben A Delphi konzol alkalmazása (console application) olyan 32 bites program, amely nem grafikus felületen, hanem egy szöveges konzol ablakban

Részletesebben

A JavaScript főbb tulajdonságai

A JavaScript főbb tulajdonságai JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén

Részletesebben

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

1. Jelölje meg az összes igaz állítást a következők közül! 1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.

Részletesebben

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

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 4. KÓDOLÁS...31 4.1. A PASCAL PROGRAMOZÁSI NYELV...32 4.2. ÁTÍRÁSI SZABÁLYOK...33 4.2.1. A program...33 4.2.2. Deklarációk...33

Részletesebben

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla 1. Az adatbázistábla létrehozása a, Ha még nem hoztunk létre egy adatbázistáblát sem, akkor a jobb egérrel a DDIC-objekt. könyvtárra kattintva, majd a Létrehozás és az Adatbázistábla menüpontokat választva

Részletesebben

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

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

PROGRAMOZÁSMÓDSZERTAN I

PROGRAMOZÁSMÓDSZERTAN I PROGRAMOZÁSMÓDSZERTAN I A számítógépek programozása szorosan összefügg a gépek építésével. Kezdetben maguk a gépek készítői voltak a programozói, szerelői és felhasználói is egyben. Az első és egyben talán

Részletesebben

Programozási alapismeretek 3. előadás

Programozási alapismeretek 3. előadás Programozási alapismeretek 3. előadás Tartalom Ciklusok specifikáció+ algoritmika +kódolás Egy bevezető példa a tömbhöz A tömb Elágazás helyett tömb Konstans tömbök 2/42 Ciklusok Feladat: Határozzuk meg

Részletesebben

Az algoritmusok alapelemei

Az algoritmusok alapelemei Az algoritmusok alapelemei Változók Olyan programozási eszközök, amelynek négy komponense van: - Név - Egyedi azonosító, a program szövegében a változó mindig a nevével jelenik meg, ez hordozza a komponenseket.

Részletesebben

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

Sztringkezelő függvények. A string típusú változók kezelése, használata és szerepük a feldolgozás során Sztringkezelő függvények A string típusú változók kezelése, használata és szerepük a feldolgozás során Mi string? Röviden: karakterek tárolására alkalmas típus A karakterek betűk, számok, vagy tetszőleges,

Részletesebben

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

Részletesebben

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Programozási nyelvek a közoktatásban alapfogalmak II. előadás Programozási nyelvek a közoktatásban alapfogalmak II. előadás Szintaxis, szemantika BNF szintaxisgráf absztrakt értelmező axiomatikus (elő- és utófeltétel) Pap Gáborné. Szlávi Péter, Zsakó László: Programozási

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István Operátorok Műveletek Egy (vagy több) műveleti jellel írhatók le A műveletet operandusaikkal végzik Operátorok fajtái operandusok száma szerint: egyoperandusú operátorok (pl.:

Részletesebben

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

Részletesebben

Bevezetés a C++ programozásba

Bevezetés a C++ programozásba Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek

Részletesebben

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

hatására hátra lép x egységgel a toll

hatására hátra lép x egységgel a toll Ciklusszervező utasítások minden programozási nyelvben léteznek, így például a LOGO-ban is. LOGO nyelven, (vagy legalábbis LOGO-szerű nyelven) írt programok gyakran szerepelnek az iskola számítástechnikai

Részletesebben

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

Gyakorló feladatok Gyakorló feladatok

Gyakorló feladatok Gyakorló feladatok Gyakorló feladatok előző foglalkozás összefoglalása, gyakorlató feladatok a feltételes elágazásra, a while ciklusra, és sokminden másra amit eddig tanultunk Változók elnevezése a változók nevét a programozó

Részletesebben

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char

Részletesebben

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Bánsághi Anna 2014 Bánsághi Anna 1 of 68 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

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

REKURZIÓK SZÁMÍTÓGÉPES PROGRAMOK SEGÍTSÉGÉVEL EÖTVÖS LORÁND TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR REKURZIÓK SZÁMÍTÓGÉPES PROGRAMOK SEGÍTSÉGÉVEL -SZAKDOLGOZAT- Készítette: Csapó Zsuzsanna (Matematika Bsc, Tanár) Témavezető: Gémes Margit (Analízis

Részletesebben

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,

Részletesebben

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?

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? Bevezetés 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 Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii

Részletesebben

Amortizációs költségelemzés

Amortizációs költségelemzés Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új

Részletesebben

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

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Algoritmusok Tervezése 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Bevezetés A BASIC (Beginner s All-purpose Symbolic Instruction Code) programnyelvet oktatási célokra hozták létre 1964-ben. Az általános

Részletesebben

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával Algoritmusok Algoritmus fogalma Mi az algoritmus? Egy adott probléma megoldásának leírása elemi lépések sorozatával HF: Al Khwarizmi Követelmények Véges: nem állhat végtelen sok lépésből Teljes: teljes

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk

Részletesebben

SZAKDOLGOZAT. Kiss Albert

SZAKDOLGOZAT. Kiss Albert SZAKDOLGOZAT Kiss Albert Debrecen 2009 Debreceni Egyetem Informatikai Kar A VIZUÁLIS PROGRAMOZÁS TANÍTÁSA A DEBRECENI MECHWART ANDRÁS GÉPIPARI ÉS INFORMATIKAI SZAKKÖZÉPISKOLÁBAN Témavezető: Nyakóné dr.

Részletesebben

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3) Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Bánsághi Anna 2014 Bánsághi Anna 1 of 33 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Algoritmusok. Dr. Iványi Péter

Algoritmusok. Dr. Iványi Péter Algoritmusok Dr. Iványi Péter Egyik legrégebbi algoritmus i.e. IV század, Alexandria, Euklidész két természetes szám legnagyobb közös osztójának meghatározása Tegyük fel, hogy a és b pozitív egész számok

Részletesebben

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

Részletesebben

Programozási tételek. Dr. Iványi Péter

Programozási tételek. Dr. Iványi Péter Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,

Részletesebben

Megoldott feladatok. Informatika

Megoldott feladatok. Informatika Megoldott feladatok Informatika I.81. Egy autóbuszjegyen az n*n-es négyzethálóban összesen k lyukasztás lehet. Ha a buszjegyet fordítva helyezzük a lyukasztóba, akkor a jegy tükörképét kapjuk. (Csak egyféleképpen

Részletesebben

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)

Részletesebben

Programozas 1. Strukturak, mutatok

Programozas 1. Strukturak, mutatok Programozas 1 Strukturak, mutatok Strukturak Tömb: több egyforma típusú változó együttese Struktúra: több különböző típusú de logikailag egybetartozó változó együttese, amelyet az egyszerű kezelhetőség

Részletesebben

SZÁMÍTÁSOK A TÁBLÁZATBAN

SZÁMÍTÁSOK A TÁBLÁZATBAN SZÁMÍTÁSOK A TÁBLÁZATBAN Az Excelben az egyszerű adatok bevitelén kívül számításokat is végezhetünk. Ezeket a cellákba beírt képletek segítségével oldjuk meg. A képlet: olyan egyenlet, amely a munkalapon

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 0812 ÉRETTSÉGI VIZSGA 2011. október 17. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

3. Gyakorlat Ismerkedés a Java nyelvvel

3. Gyakorlat Ismerkedés a Java nyelvvel 3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az

Részletesebben

BASH SCRIPT SHELL JEGYZETEK

BASH SCRIPT SHELL JEGYZETEK BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

FELADATGYÜJTEMÉNY. 9.évfolyam...

FELADATGYÜJTEMÉNY. 9.évfolyam... INCZÉDY GYÖRGY KÖZÉPISKOLA, SZAKISKOLA ÉS KOLLÉGIUM 54 481 04 INFORMATIKAI RENDSZERGAZDA SZAKKÉPESÍTÉSHEZ FELADATGYÜJTEMÉNY KÖVETELMÉNYMODUL 10817-12 Hálózatok, programozás és adatbázis-kezelés Adatbázis-

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

Forráskód formázási szabályok

Forráskód formázási szabályok Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más

Részletesebben

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

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 3. gyakorlat Operátorok, típuskonverziók, matematikai függvények Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24,

Részletesebben

Delphi programozás IV.

Delphi programozás IV. Delphi programozás IV. Szöveg konvertálása egész számmá A Turbo Delphi többféle lehetőséget biztosít arra, hogy egy szöveges változó tartalmát egész számmá konvertáljunk. A konvertálandó szövegnek egy

Részletesebben

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente

Részletesebben

ELEMI PROGRAMOZÁSI TÉTELEK

ELEMI PROGRAMOZÁSI TÉTELEK ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk

Részletesebben

Bevezetés a programozásba

Bevezetés a programozásba Bevezetés a programozásba 1. Előadás Bevezetés, kifejezések http://digitus.itk.ppke.hu/~flugi/ Egyre precízebb A programozás természete Hozzál krumplit! Hozzál egy kiló krumplit! Hozzál egy kiló krumplit

Részletesebben

0.1. Mi az a standard be- és kimenet?... 1. 0.2. A két mintafeladat leírása

0.1. Mi az a standard be- és kimenet?... 1. 0.2. A két mintafeladat leírása KöMaL Technikai tanácsok az I- és S-jelű pontversenyhez A standard be- és kimenet kezelése Tartalomjegyzék 0.1. Mi az a standard be- és kimenet?............................. 1 0.2. A két mintafeladat leírása.................................

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_01-1 - E jegyzet másolata

Részletesebben

Adatbázis- és szoftverfejlesztés elmélet

Adatbázis- és szoftverfejlesztés elmélet Adatbázis- és szoftverfejlesztés elmélet Informatikai rendszergazda 10. évfolyam Készítette: Nagy Zsolt Készült: 2015 Tartalom Bevezető... 4 Futtatható program elkészítése.... 5 IDE... 5 Adattípusok jellemzői...

Részletesebben

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán

Részletesebben

Python tanfolyam Python bevezető I. rész

Python tanfolyam Python bevezető I. rész Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények

Részletesebben