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)

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

Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az

Részletesebben

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

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

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

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

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

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

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

Algoritmizálás + kódolás C++ nyelven és Pascalban Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban

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

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

Occam 1. Készítette: Szabó Éva Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti

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

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

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

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

Közismereti informatika 2.zh T-M szakirány 1. feladat: Az alábbi algoritmus egy szövegnek meghatározza a leghosszabb szavát és annak hosszát. Írja át időben hatékonyabbra! Írja meg az időben hatékonyabb Pascal programot! Eljárás Maxkiv(S:Szöveg;

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

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt

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

Szoftvertervezés és -fejlesztés I.

Szoftvertervezés és -fejlesztés I. Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik.

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

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

Apple Swift kurzus 3. gyakorlat

Apple Swift kurzus 3. gyakorlat Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()

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

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

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

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

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből

Részletesebben

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Felvételi vizsga mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív

Részletesebben

7. fejezet: Mutatók és tömbök

7. fejezet: Mutatók és tömbök 7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata

Részletesebben

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

sallang avagy Fordítótervezés dióhéjban Sallai Gyula sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?

Részletesebben

Programozás alapjai Free Pascal

Programozás alapjai Free Pascal Programozás alapjai Free Pascal Az általános célú programozási nyelvek közé tartozik. Sok helyen még mindig ezt használják. A programnyelv jól használható, közel áll az emberi gondolkodáshoz és könnyen

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

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3 Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás

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

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

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

Részletesebben

6. A Pascal nyelv utasításai

6. A Pascal nyelv utasításai 6. A Pascal nyelv utasításai Írjunk programot, amely beolvas két valós számot és a két szám közül a kisebbikkel osztja a nagyobbikat! (felt0) program felt0; szam1, szam2, eredmeny : real; writeln('kérek

Részletesebben

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futá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

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

Programozás alapjai. 8. előadás 8. előadás Wagner György Általános Informatikai Tanszék Azonosítók érvényességi köre Kiindulási alap: a blokkszerkezetű programozási nyelvek (C, FORTRAN, PASCAL, ) Egy program szerkezete: Fejléc Deklarációsrész

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

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14. Informatika 1 2011 Második előadás, vezérlési szerkezetek Szabó Adrienn 2011. szeptember 14. Tartalom Algoritmusok, vezérlési szerkezetek If - else: elágazás While ciklus For ciklus Egyszerű típusok Összetett

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

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

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

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás alapjai gyakorlat. 2. gyakorlat C alapok Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel

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

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

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 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28

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

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

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

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

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva! A PL/SQL alapelemei Karakterkészlet Az angol ABC kis- és nagybetűi: a-z, A-Z Számjegyek: 0-9 Egyéb karakterek: ( ) + - * / < > =! ~ ^ ; :. ' @ %, " # $ & _ { }? [ ] Szóköz, tabulátor, kocsivissza A kis-

Részletesebben

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

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

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

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

Bevezetés a programozásba. 8. Előadás: Függvények 2.

Bevezetés a programozásba. 8. Előadás: Függvények 2. Bevezetés a programozásba 8. Előadás: Függvények 2. ISMÉTLÉS Helló #include using namespace std; int main() cout

Részletesebben

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

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa

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

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

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok

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

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu

Részletesebben

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök Dr. Bécsi Tamás 4. Előadás A?: operátor Nézzük meg a következő kifejezést: if (a>b) z=a; else z=b; Ez felírható

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

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

Gregorics Tibor Modularizált programok C++ nyelvi elemei 1

Gregorics Tibor Modularizált programok C++ nyelvi elemei 1 Gregorics Tibor Modularizált programok C++ nyelvi elemei 1 Függvények és paraméterátadás A függvény egy olyan programblokk, melynek végrehajtását a program bármelyik olyan helyéről lehet kezdeményezni

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet

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énzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító

Részletesebben

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

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék Programozás alapjai 6. előadás Wagner György Általános Informatikai Tanszék Record A valós életben a nyilvántartásra kerülő adatok nem azonos típusúak. Pl.: Név Cím Telefon GySz Fiz Kis Béla Miskolc Török

Részletesebben

NAGYPONTOSSÁGÚ EGÉSZ-ARITMETIKA TARTALOM

NAGYPONTOSSÁGÚ EGÉSZ-ARITMETIKA TARTALOM NAGYPONTOSSÁGÚ EGÉSZ-ARITMETIKA TARTALOM 0. A feladat... 2 1. Az Egész számok ábrázolásai... 2 2. A műveletek szignatúrája... 3 3. A keretprogram... 4 4. Technikai tanácsok... 7 5. Elegancianövelő lehetőségek

Részletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért

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

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

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3

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

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

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

A Pascal programozási nyelvben minden programnak a következő szerkezete van: Pascal program alapszerkezete A Pascal programozási nyelvben minden programnak a következő szerkezete van: program program_neve; var változók deklarálása; parancsok, amit a program végrehajtson; Kiírás

Részletesebben

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

Programozás alapjai. 2. előadás 2. előadás Általános Informatikai Tanszék A számítógépes feladatmegoldás eszközei Adatok (Amiken utasításokat hajtunk végre) Utasítások (Amiket végrehajtunk) Program struktúra Adatok Konstans (a programon

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

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók Haskell 1. Alapok tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók elég jól elkerülhetők így a mellékhatások könnyebben

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)

Részletesebben

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

Rendezések. A föltöltés nemcsak az r-re vonatkozik, hanem az s-re is. Ez használható föl a további rendezések Rendezések Feladat Rendezési algoritmusok kipróbálása, hatékonysági viselkedésének vizsgálata. A rendezések egy ElemSzam méretü r tömben történik. Többféle föltöltés közül lehet választani: o a növekvően

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

Objektumorientált Programozás III.

Objektumorientált Programozás III. Objektumorientált Programozás III. Vezérlési szerkezetek ismétlés Matematikai lehetőségek Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 4. előadás Algoritmizálás és adatmodellezés tanítása 4. előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: skalár (más szóval elemi vagy strukturálatlan) összetett (más szóval strukturált)

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

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

14. Mediánok és rendezett minták

14. Mediánok és rendezett minták 14. Mediánok és rendezett minták Kiválasztási probléma Bemenet: Azonos típusú (különböző) elemek H = {a 1,...,a n } halmaza, amelyeken értelmezett egy lineáris rendezési reláció és egy i (1 i n) index.

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

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

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a

Részletesebben