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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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 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

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

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

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

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

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

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

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

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

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

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

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

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

Tartalomjegyzék Algoritmusok - pszeudókód... 1 42

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

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

1. Előadás Matlab lényeges vonásai,

1. Előadás Matlab lényeges vonásai, 1. Előadás Matlab lényeges vonásai, adattípusok. Salamon Júlia Előadás I. éves mérnök hallgatók számára A Matlabról A MATLAB (MATrix LABoratory = mátrix laboratórium) egy interaktív, tudományos és műszaki

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

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

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott. Szigorlati témakörök az Informatika (szigorlat) (BMEVIAU0181) c. tantárgyat felváltó Informatika (BMEGERIEEIS) tantárgyból az okleveles energetikai mérnökképzés (2N-0E) hallgatói számára 1. tantárgy: Programozás

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

É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

Széchenyi István Szakképző Iskola

Széchenyi István Szakképző Iskola A SZAKKÖZÉPISKOLAI SZAKMACSOPORTOS ALAPOZÓ OKTATÁS EMELT SZINTŰ ISKOLAI PROGRAMJA 11-12. évolyam Érvényes a 2003-2004-es tanévtől felmenő rendszerben Átdolgozva, utolsó módosítás: 2004. április 26. Az

Részletesebben

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb 1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb #include main() { int a, b; printf( "a=" ); scanf( "%d", &a ); printf( "b=" ); scanf( "%d", &b ); if( a< b ) { inttmp = a; a =

Részletesebben

Delphi programozás III.

Delphi programozás III. Delphi programozás III. A Delphi for ciklusa II. A Delphi újabb verziói egy olyan for ciklust vezettek be, amely a régebbi Delphi-verziókban vagy pl. a Turbo Pascalban még nem voltak ismertek. A for-element-in-collection

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. Dr. Iványi Péter Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 5. gyakorlat Surányi Márton PPKE-ITK 2010.10.05. C++ A C++ egy magas szint programozási nyelv. A legels változatot Bjarne Stroutstrup dolgozta ki 1973 és 1985 között, a C nyelvb

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

Bevezetés a programozásba. 6. Előadás: C++ bevezető

Bevezetés a programozásba. 6. Előadás: C++ bevezető Bevezetés a programozásba 6. Előadás: C++ bevezető ISMÉTLÉS PLanG features Utasítások Értékadás, KI:, BE: Programkonstrukciók Elágazás Ciklus Típusok Egész, valós, logikai, szöveg, karakter, fájl Típuskonstrukciók

Részletesebben

Programzás I. - 1. gyakorlat

Programzás I. - 1. gyakorlat Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)

Részletesebben

C# gyorstalpaló. Készítette: Major Péter

C# gyorstalpaló. Készítette: Major Péter C# gyorstalpaló Készítette: Major Péter Adattípusok Logikai változó Egész szám (*: előjel nélküli) Lebegőponto s szám Típus Típusnév másképpen (egyenértékű) Helyigény (bit) Példa bool Boolean 8 (!) true,

Részletesebben

PROGRAMOZÁSMÓDSZERTAN II

PROGRAMOZÁSMÓDSZERTAN II PROGRAMOZÁSMÓDSZERTAN II A programozás természetesen ugyan úgy fejlődik mint az informatika egyéb területei. Az új hardver és szoftver elemek maguk után vonták a programozás és a programozási nyelvek fejlődését.

Részletesebben

SZÁMÍTÓGÉPI GRAFIKA VÁGÁS

SZÁMÍTÓGÉPI GRAFIKA VÁGÁS SZÁMÍTÓGÉPI GRAFIKA VÁGÁS FELADAT: Ha az alakzat nagyobb, mint a képtartomány, amelyben megjelenítendő, akkor a kívül eső részeket el kell hagyni, azaz az alakzatról le kell vágni, röviden szólva: az alakzatot

Részletesebben

Programozás 1. Dr. Iványi Péter

Programozás 1. Dr. Iványi Péter Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására

Részletesebben

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3) Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index

Részletesebben

Internet programozása. 3. előadás

Internet programozása. 3. előadás Internet programozása 3. előadás Áttekintés Hogyan használjuk az if szerkezetet arra, hogy bizonyos sorok csak adott feltételek teljesülése mellett hajtódjanak végre? Hogyan adhatunk meg csak bizonyos

Részletesebben

2.6. Utasítások használata

2.6. Utasítások használata 2.6. Utasítások használata 1. Két pont távolsága: Rekord1 2. A kör területének és kerületének számítása: Rekord2 3. A körgyűrűk területének számítása és a maximális terület megkeresése: Rekord3 4. Milliméterben

Részletesebben

Szelekció. Döntéshozatal

Szelekció. Döntéshozatal Szelekció Döntéshozatal Elágazásos algoritmus-szerkezet Eddig az ún. szekvenciális (lineáris) algoritmust alkalmaztunk a parancsok egyenként egymás után hajtüdnak végre. Bizonyos esetekben egy adott feltételtől

Részletesebben

C programozás. 1 óra Bevezetés

C programozás. 1 óra Bevezetés C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}

Részletesebben

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus

Részletesebben

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel (record) tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel elemei mezők. Például tétel: személy elemei: név, lakcím, születési

Részletesebben

Irányítástechnika 1. 10. Elıadás. PLC-k programozása

Irányítástechnika 1. 10. Elıadás. PLC-k programozása rányítástechnika 1 10. Elıadás PLC-k programozása rodalom - Helmich József: rányítástechnika, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler ldikó: PLC programozás az EC 1131-3 szabvány szerint,

Részletesebben

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. Excel VII. Visual Basic programozás alapok A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

Részletesebben

5. Gyakorlat. struct diak {

5. Gyakorlat. struct diak { Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus

Részletesebben

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Könyvészet Kátai Z.: Programozás C nyelven Brian W. Kernighan, D.M. Ritchie: A C programozási

Részletesebben

7. Strukturált típusok

7. Strukturált típusok 7. Strukturált típusok 1. Mintafeladat a különböző tömbtípusok konstanssal való feltöltésére és kiíratására! (minta7_1) program minta7_1; fejlec:array[1..8] of char = 'Eredmény'; adatok:array[1..4] of

Részletesebben

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

Operációs Rendszerek II. labor. 2. alkalom Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C++ programozási nyelvbe Oktatási segédlet Összeállította: Ficsor Lajos 2001. 1. A C++ programozási nyelv története A C++ programozási nyelv

Részletesebben

A fizetendő összegből a 35 év fölötti tulajdonos 20 % kedvezményt kap.

A fizetendő összegből a 35 év fölötti tulajdonos 20 % kedvezményt kap. Elágazás Az elágazás, olyan vezérlési szerkezet, amely az utasítások egy adott csoportját attól függően hajtja végre, hogy egy adott logikai feltétel teljesül-e. Legegyszerűbb változata a kétirányú elágazás,

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.

Részletesebben

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv: 5. Gyakorlat 5.1 Hálós adatbázis modell műveleti része NDQL, hálós lekérdező nyelv: A lekérdezés navigációs jellegű, vagyis a lekérdezés megfogalmazása során azt kell meghatározni, hogy milyen irányban

Részletesebben

I. A FELADATMEGOLDÁS LÉPÉSEI ÉS MÓDSZEREI

I. A FELADATMEGOLDÁS LÉPÉSEI ÉS MÓDSZEREI I. A FELADATMEGOLDÁS LÉPÉSEI ÉS MÓDSZEREI Amikor olyan feladatot szeretnénk megoldani számítógépen, amelyeket a rendelkezésre álló felhasználói programok segítségével (szövegszerkesztők, táblázatkezelők,

Részletesebben

Programozás - Strukturált programozás a gyakorlatban

Programozás - Strukturált programozás a gyakorlatban Szabó Mária Programozás - Strukturált programozás a gyakorlatban A követelménymodul megnevezése: Informatikai ismeretek A követelménymodul száma: 1155-06 A tartalomelem azonosító száma és célcsoportja:

Részletesebben

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének 6. Függvények I. Elméleti összefoglaló A függvény fogalma, értelmezési tartomány, képhalmaz, értékkészlet Legyen az A és B halmaz egyike sem üreshalmaz. Ha az A halmaz minden egyes eleméhez hozzárendeljük

Részletesebben

Programozás I. - 11. gyakorlat

Programozás I. - 11. gyakorlat Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

1 A pascal program szerkezete

1 A pascal program szerkezete Pascal I. Pascal II. Delphi Linkek Fórum Bejelentkezés Pascal I. 01. A program szerkez... 01. Gyakorló feladatok 02. Változók használata 02. Gyakorló feladatok 03. A FOR ciklus 03. Gyakorló feladatok 04.

Részletesebben

A KÓDOLÁS TECHNIKAI ELVEI

A KÓDOLÁS TECHNIKAI ELVEI 1. A KÓDOLÁS FOGALMA A KÓDOLÁS TECHNIKAI ELVEI A kódolás a forrásnyelvű (pl. C#, Java) program elkészítését jelenti. Ha a megoldást gondosan megterveztük, akkor ez általában már csak rutinszerű, technikai

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

15. Programok fordítása és végrehajtása

15. Programok fordítása és végrehajtása 15. Programok fordítása és végrehajtása Programok fordítása és végrehajtása. (Fordítás és interpretálás, bytecode. Előfordító, fordító, szerkesztő. A make. Fordítási egység, könyvtárak. Szintaktikus és

Részletesebben

Programozás - Strukturált programozás a gyakorlatban

Programozás - Strukturált programozás a gyakorlatban Szabó Mária Programozás - Strukturált programozás a gyakorlatban A követelménymodul megnevezése: Informatikai ismeretek A követelménymodul száma: 1155-06 A tartalomelem azonosító száma és célcsoportja:

Részletesebben

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet) Fordítóprogramok. (Fordítóprogramok felépítése, az egyes komponensek feladata. A lexikáliselemző működése, implementációja. Szintaktikus elemző algoritmusok csoportosítása, összehasonlítása; létrehozásuk

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

Részletesebben

14.Cellaformátum. XVII. Az Excel XP. 14.1 Igazítás. 14.1.1 Igazítás ikonokkal

14.Cellaformátum. XVII. Az Excel XP. 14.1 Igazítás. 14.1.1 Igazítás ikonokkal 14.Cellaformátum Formátum, Cellák Helyi menü, Cellaformázás A cellaformátum egy nagyon összetett fogalom, többféle formázás is tartozik bele. Ezek egy részét korábban már tanultuk, más része viszont abszolút

Részletesebben

Matematikai alapok. Dr. Iványi Péter

Matematikai alapok. Dr. Iványi Péter Matematikai alapok Dr. Iványi Péter Számok A leggyakrabban használt adat típus Egész számok Valós számok Bináris számábrázolás Kettes számrendszer Bitek: 0 és 1 Byte: 8 bit 128 64 32 16 8 4 2 1 1 1 1 1

Részletesebben

Programozási alapismeretek 1. előadás

Programozási alapismeretek 1. előadás Programozási alapismeretek 1. előadás Tartalom A problémamegoldás lépései programkészítés folyamata A specifikáció Az algoritmus Algoritmikus nyelvek struktogram A kódolás a fejlesztői környezet 2/33 A

Részletesebben

Szakmai program 2015

Szakmai program 2015 2015 Célok és feladatok a szakközépiskolai képzésben A szakközépiskolában folyó nevelés-oktatás továbbépíti, kiszélesíti és elmélyíti az általános iskolai tantárgyi követelményeket. A szakközépiskolában

Részletesebben

500. AA Megoldó Alfréd AA 500.

500. AA Megoldó Alfréd AA 500. Programozás alapjai 2. NZH 2010.05.13. gyakorlat: / Hiány:0 ZH:0 MEGOLD IB.027/51. Hftest: 0 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden

Részletesebben

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben