3 A C programozási nyelv szintaktikai egységei

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

Download "3 A C programozási nyelv szintaktikai egységei"

Átírás

1 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 hosszúságúak lehetnek, de implementációtól függően csak az első meghatározott számú karakterük vesz részt a megkülönböztetésben Helyes azonosítók például: Ez ezis es_meg_ez_is _a4 _3 Helytelen azonosítók például: 6ez /* mert számmal nem kezdődhet. */ ez is /* mert szóköz nem számít betűnek. */ És_ez /* mert az É nem szerepel az angol abc betűi közt. */ Ez[10] /* mert a [10] a deklaráció (típusmegadás) része, nem az azonosítóé (ld. tömbök). */ Ez-is /* mert a kötőjel sem számít betűnek. */ 3.2 Kulcsszavak Csak meghatározott célra használható azonosítók. Kisbetűvel kell írni. (Tehát int kulcsszó, INT vagy Int általános célú azonosító - bár nem illik használni.) 3.3 Állandók Egész állandók A számjegyek sorozatát tartalmazó, nem nullával kezdődő egész szám decimális állandó. Az egész állandó megadható még az alábbi alakokban: oktális, ha vezető 0-val kezdődik hexadecimális, ha 0X vagy 0x vezeti be. A ig terjedő számjegyek jelölésére az a-f vagy A-F karakterek használhatók Karakterállandó Aposztrófok között egy karakter. Értéke az adott karakter kódja. Bizonyos, nem nyomtatható karakterek helyett írható úgynevezett "Escape -szekvencia", az alábbiak szerint: \n újsor \t vízszintes tabulátor Lebegőpontos állandó Az vagy egészrész.törtrész E kitevő egészrész.törtrész e kitevő alakú konstans lebegőpontos számot jelent

2 3.4 Változók A változóknak van érték része, attribútumai (számunkra ez a típus), címe, és neve. A név egy azonosító. A változóra a nevével hivatkozhatunk a program szövegében. A cím az a memóriaterület, amelyen a változó értéke elhelyezkedik. Az érték pedig a változó típusához tartozó tartomány egy eleme. Mielőtt használunk egy változót, deklarációs utasításban a nevéhez típust kell rendelnünk. A deklarációs utasításban lehetőségünk van kezdőértéket adni a változóknak. Pl. char c; int x; int tomb[10]; int x= 5, y= 6; //Karakter típusú változó //Egész típusú változó //Egészeket tartalmazó tömb típusú változó (a változónév: tomb) Az =-t értékadó operátornak nevezzük. Hatására a bal oldalán álló változó felveszi a jobb oldalán álló kifejezés értékét. Ezt követően ha a változó megjelenik a kódban, mindig az utoljára felvett értéket képviseli. A következőkben megnézzük, milyen műveleteket végezhetünk a változókkal és a konstansokkal. int x= 5, y= 6; //kezdőérték adás z= 3 + 4; //értékadó utasítás x= y + 2; A fenti utasítások kiadása után az x értéke 8 lesz. A változókban tárolt értékekkel és a kódban megjelenő literálokkal (számok) számos művelet végezhető. Az gyakorlatokon leggyakrabban használt műveletek a következők: int x = 5, y = 6, osszeg, kulonbseg, szorzat, hanyados, maradek; osszeg = x + y; kulonbseg = x - y; szorzat = x * y; hanyados = x / y; maradek = x % y; A műveleti jeleket operátoroknak nevezzük. Az utasítások lefutása után az osszeg, kulonbseg, szorzat, hanyados változók rendre az x és y változó értékeinek összegét, különbségét szorzatát és hányadosát tartalmazzák, míg a maradek változó az x változó értékét y értékével elosztva kapott maradékot tartalmazza. Egy változó értékét önmagához képest, relatívan is megváltoztathatjuk: int x= 5; x= x + 2; A következő példában adott 2 változónk, amelyek két számot tartalmaznak. A feladat: cseréljük meg a változók tartalmát. A megoldáshoz felhasználunk egy harmadik változót is, amelyben ideiglenesen fogunk tárolni egy értéket: int x= 3, y= 4, z; z= x; x= y; y= z; 3.5 Nevesített konstans Olyan konstans, amely névvel ellátott, és ezzel a névvel tudunk hivatkozni az értékére a program szövegében. Pl.: const int N = 4; //Itt az N egy nevesített konstans, értéke az egész program futása során 4

3 C-ben jellemző, hogy makrót használunk a konstans definiálására. Ezt a program elején a main függvényen kívül tehetjük meg. #define N 4 A makrózás annyit jelent, hogy a program szövegében előforduló név (itt: N) minden előfordulását az adott sor további részével (itt: 4) helyettesíti az előfordító. Figyeljük meg, hogy nincs pontosvessző a sor végén! 3.6 Kifejezés A kifejezések operandusokból, és operátorokból, valamint zárójelekből épülnek fel. Az operandus lehet konstans, nevesített konstans, változó, vagy függvényhívás Operátorok A C egyszerűsített precedencia táblázata a következő: ( ) []! * / % + - < > <= >= ==!= && = += -= *= /= %= A táblázat felső sorában lévő műveleti jelek kötnek legerősebben (vagyis a kiértékelés során ezek hajtódnak végre először), és soronként gyengülnek. Az azonos sorban lévő operátorok kiértékelése a nyíl által mutatott sorrendben történik. Az operátorok lehetnek prefixek, ami azt jelenti, hogy az operátor az operandus elé kerül, ilyenek például a matematikában az előjelek. Lehetnek infixek, ekkor az operátor két operandusa közé kerül, ilyen például az összeadás, és lehetnek postfixek, amikor az operandus mögött áll az operátor. A következőkben kifejezésekre láthatunk példákat: int x= 3, y= 2; a= (x + y) * (x + y); /* Vesd össze: a = x + y * x + y */ b= x*x + 2*x*y + y*y; c= x*x - 2*x*y + y*y; 3.7 Hasonlító és logikai operátorok Mivel a programozás során egy-egy feladat megoldásához, csak úgy, mint a matematikában, szükségünk lehet kikötések, feltételek megadására. Ilyen feltételeket változókra, vagy kifejezésekre adhatunk meg hasonító és logikai operátorok segítségével. A C nyelv hasonlító operátorai: numerikus értékek egyenlőségvizsgálata: == numerikus értékek nem egyenlőségének vizsgálata:! = numerikus értékek összehasonlítása: <, >, <=, >= Hasonlításokat literálok és változók között végezhetünk, a hasonlítás eredménye egy logikai érték. A C nyelvben kétértékű logika van, azaz egy logikai érték igaz, vagy hamis lehet. A C a logikai értékeket egész számokként kezeli a következő módon: ha egy egész típusú változó, vagy kifejezés értéke nem nulla, akkor azt igaznak tekintjük ha egy egész típusú változó, vagy kifejezés értéke nulla, akkor azt hamisnak tekintjük int a= 4, b= 5, c;

4 c= (a < b); /*c erteke igaz*/ c= (a > b); /*c erteke hamis*/ c= 10; /*c erteke igaz*/ c= 0; /*c erteke hamis*/ c= (a == b); /*c erteke hamis*/ c= (a == 4); /*c erteke igaz*/ c= (a!= 5); /*c erteke igaz*/ c= (a <= 10); /*c erteke igaz*/ Összetettebb feltételek megadására használhatóak a C logikai operátorai, amelyek a matematikából ismert konjukció, diszjunkció és negáció megfelelői: és-kapcsolat: && vagy-kapcsolat: tagadás:! A logikai operátorokkal tehát bonyolultabb logikai kifejezések is felépíthetőek: int a= 4, b= 5, c; c= (a < b) && (a == b); /*c erteke hamis*/ c= (a < b) (a == b); /*c erteke igaz*/ c= (((a < b) (a > 10)) && ((a!= 6) (a < 2))); /*c erteke igaz*/ c= a && 0; /*c erteke hamis*/; c= a && 1; /*c erteke igaz*/; c= a && 25; /*c erteke igaz*/; c=!a; /*c erteke hamis*/; c=! (a && 0 ); /*c erteke igaz*/; c=! (a && 25 ); /*c erteke hamis*/; Most lássunk néhány példát arra, hogy a hasonlító és logikai operátorok segítségével hogyan tudjuk változóknak bizonyos intervallumokba esését, és más speciális tulajdonságait vizsgálni (ezt a későbbiekben gyakran fogjuk használni): a kisebb, mint 10: a < 10; a 10 és 20 közé esik: 10 <= a && a <= 20; a 10 és 20 közé, vagy 30 és 40 közé esik: (10 <= a && a <= 20) (30 <= a && a <= 40); a osztható kettővel: (a % 2) == 0 a 100 osztója: (100 % a) == Szelekció Ahogy arról korábban már szó esett, az általunk írt programok futása szekvenciális, ami azt jelenti, hogy az utasítások egymás után kerülnek végrehajtásra,mindazonáltal nagyon gyakran kerülhetünk olyan helyzetbe, hogy egy kiszámított értéktől függően más és más kódot kellene végrehajtanunk. Például: gondoljunk arra, hogy egy nagyon egyszerű programot szeretnénk készíteni, ami kiszámítja egy szám abszolút értékét. Ha a szám pozitív, akkor önmaga az abszolút értéke, ha viszont negatív, akkor a -1-szerese. Érezhető, hogy már ezt a nagyon egyszerű feladatot sem tudjuk megoldani, anélkül, hogy a program futását ketté nem választanánk. Ugyanis attól függően, hogy a beolvasott szám negatív vagy pozitív, más-más utasításokat kell végrehajtanunk. Az ilyen esetek megoldására szerepel a C-ben a szelekciós (vagy elágaztató) utasítás: if(egesz_erteku_kifejezes) utasitas; [ else if(egesz_erteku_kifejezes) utasitas; ]... [ else utasitas; ]

5 Az utasítás szemantikája a következő: Az if alapszó után álló egész értékű kifejezés értéke meghatározásra kerül. Ha logikailag igaz, tehát nem 0, abban az esetben végrehajtódik az utána szereplő utasítás, és a program a szelekció utáni utasításon folytatódik, ha hamis, és van else if ág, akkor kiértékelődik az utána szereplő egész értékű kifejezés. Ha ez igaz, akkor végrehajtódik az utasítás, és a program a szelekció utáni utasításon folytatódik. Ha hamis, akkor és van még else if ág, akkor az is kiértékelésre kerül a fenti módon, ha nincs több else if ág, és nincs else ág sem, akkor a program a szelekció utáni utasításon folytatódik, ha van else ág, akkor végrehajtódik az else után álló utasítás, majd a program a szelekció utáni utasításon folytatódik. Példaként nézzük meg a fenti abszolútérték kiszámító programot, amely bemenete egy szám, kimenete pedig az abszolútértéke. int a,b; if(a >= 0) b= a; else b= (-1)*a; printf( %d\n, a ); Ebben a példában a beolvasott szám abszolútértékét egy külön változóba számítottuk ki, a b-be. Ha az a nem negatív, akkor a b egyszerűen értékül kapja a-t, ha negatív, akkor a -1-szeresét. Ugyanezt megoldhatjuk a b változó használata nélkül is: int a; if(a < 0) a= (-1)*a; printf( %d\n, a ); Válasszuk ki két változó közül azt, amelyik a kisebb értéket tartalmazza, és adjuk ezt értékül a min változónak! int a, b, min; scanf( %d %d, &a, &b ); if ( a < b ) min= a; else min= b; printf( %d\n, min ); Adott két változó a és b, változtassuk meg az értékeiket úgy, hogy a tartalmazza a kisebbet, és b a nagyobbat! int a, b, temp; scanf( %d %d, &a, &b ); if ( b < a ) { temp= a; a= b; b= temp; }

6 A következő példában olyan programot készítünk, amely beolvas egy számot, és a kimenete a beolvasott szám legkisebb olyan prím osztója, amely kisebb, mint 10. Ha nincs neki ilyen, akkor a kimenet -1 lesz. int a,b; if ( (a % 2) == 0 ) b= 2; else if ( (a % 3) == 0 ) b= 3; else if ( (a % 5) == 0 ) b= 5; else if ( (a % 7) == 0 ) b= 7; else b= -1; printf( %d\n, b ); 3.9 Iteráció A következő feladatot kell megoldanunk: beolvasunk egy számot, és számítsuk ki a faktoriálisát. Eddigi ismereteink alapján ezt a következő módon tehetjük meg: int a,b; if (a == 0) b= 1; else if (a == 1) b= 1; else if (a == 2) b= 1*2; else if (a == 3) b= 1*2*3; else if (a == 4) b= 1*2*3*4; else if (a == 5) b= 1*2*3*4*5;... printf( %d\n, b ); Ezzel a megoldással az a probléma, hogy nagyon hosszú, és egyáltalán nem hatékony. Észre lehet venni, hogy minden esetben ugyanazt a műveletet (szorzás) kell a bemenettől függően általában nagyon sokszor végrehajtanunk. Az ehhez hasonló problémák megoldására szerepel a C-nyelvben az iteráció, mint vezérlési szerkezet. Több formája van, most az előírt lépésszámú ciklussal (for-ciklus) ismerkedünk meg. Szintaktikája: for(utasitas_1;egesz_erteku_kifejezes;utasitas_2) utasitas_3; A for-ciklus szemantikája a következő: végrehajtásra kerül az utasitas_1. Ezt követően kiértékelődik az egesz_erteku_kifejezes, ami logikai feltételként szolgál. Amennyiben ez logikailag hamis, a vezérlés az iterációt követő utasítással folytatódik. Ha a feltétel igaz, akkor végrehajtódik az utasitas_3, majd lefut az utasitas_2, ezt követően ismét kiértékelődik az

7 egesz_erteku_kifejezes, és így tovább, egészen addig, amig az egesz_erteku_kifejezes hamissá nem válik. Ekkor a vezérlés az iteráció utáni utasítással folytatódik. Lássuk példaként a faktoriális számítást: int a,b,i; b= 1; for(i= 2; i <= a; ++i) b= b*i; printf( %d\n, b ); Hangsúlyozzuk, hogy egy programot nagyon sok módon meg lehet írni, például az alábbi program ugyanúgy faktoriálist számít: int a,b; b= 1; for(;a > 0; --a) b= b*a; printf( %d\n, b ); 3.10 Gyakorló feladatok Számítsuk ki a t változóba az a oldalú és m magasságú háromszög területét! t= a * m / 2; Számítsuk ki az a változóba az x1, x2, x3, x4, x5 változókban tárolt értékek számtani közepét: a= (x1 + x2 + x3 + x4 + x5) / 5; Írjunk fel egy logikai feltételt, amely akkor igaz, ha az x, y változókban tárolt koordinátájú pont benne van a A(0; 0);B(6; 0);C(6; 2);D(0; 2) csúcsokkal rendelkező téglalapban. b= ( 0 <= x ) && ( x <= 6 ) && ( 0 <= y ) && ( y <= 2 ); Írjunk fel egy logikai feltételt, amely akkor igaz, ha az x, y változókban tárolt koordinátájú pont nincs benne a A(0; 0);B(6; 0);C(6; 2);D(0; 2) csúcsokkal rendelkező téglalapban. b=!(( 0 <= x ) && ( x <= 6 ) && ( 0 <= y ) && ( y <= 2 )); Írjunk fel olyan utasítást, amely ha az a változó páros, megnöveli egy b változó értékét 1-el, ha a páratlan, csökkenti a b értékét 1-el. if ( (a \% 2) == 0 ) ++b; else --b; Írjunk fel egy olyan utasítást, amely ha az a változó értéke benne van a (1; 10) tartományban, megnöveli a b értékét 1-el, ha benne van a (11; 20) tartományban, akkor 2-vel, különben csökkenti b értékét 1-el. if ( ( 1 <= a && a <= 10 ) ) b+= 1; else if ( ( 11 <= a && a <= 20 ) ) b+= 2; else --b;

8 Írjunk olyan utasítást, amely 0-tól n-ig összeadja a számokat: int sum= 0, i; for ( i= 0; i <= n; ++i ) sum+= i; Írjunk olyan utasítást, amely 0-tól n-ig összeadja a páros számokat: int sum= 0, i; for ( i= 0; i <= n; ++i ) if ( (i % 2) == 0 ) sum+= i; Másik megoldás: int sum= 0, i; for ( i= 0; i <= n; i= i + 2 ) sum+= i; Írjunk programot, amely kiszámolja az egész számok összegét, és szorzatát (faktoriális) 1-tol n-ig. int sum= 0, fakt= 1, i; for ( i= 0; i <= n; ++i ) { sum+= i; fakt*= i; } 3.11 Tömb A C nyelvben adott m méretű egészekből álló t tömböt a következő módon hozhatunk létre: int t*m+, ahol m nem-negatív egész LITERÁL! Pl. int t[20]; A tömb elemeinek számozása 0-tól indul. A tömb első, második, harmadik, stb. elemeire a következő módon hivatkozhatunk: t*0+, t*1+, t*2+, A tömb i indexű elemére a következő módon hivatkozhatunk: t[i]. int t[10], a; t[0]= 0; t[1]= 1; t[2]= 1; t[3]= 2; t[4]= 3; t[5]= 5; t[6]= 8; t[7]= 13; t[8]= 21; t[9]= 34; a= t[0] + t[2] + t[4] + t[6] + t[8]; A fenti kódrészletben egy tíz elemből álló t tömböt töltöttünk fel a Fibonacci-sorozat első tíz elemével, majd a sorozat páratlan indexű elemeinek összegét értékül adtuk az a változónak. Figyeljük meg, hogy a 0-val kezdődő indexelés miatt a sorozat első eleme a tömb 0 indexű eleme lesz, míg a Fibonacci-sorozat tízedik eleme a tömb 9 indexű helyére kerül. A fenti módon, statikusan lefoglalt tömbökben negatív indexű elemre, illetve a tömb felső határán túl mutató elemre hivatkozni nem szabad, a program hibás működéséhez vezet.

9 3.12 Gyakorló feladatok Töltsünk fel egy 100 elemű tömböt az első száz természetes számmal: int t[100]; int i; for ( i= 1; i < 100; ++i ) t[i]= i; Töltsünk fel egy 100 elemű tömböt az első 100 páros számmal: int t[100]; int i,j; for ( i= 0; i < 100; ++i ) t[i]= i*2; Töltsünk fel egy 100 elemű tömböt az első száz olyan számmal, amelyek 3-al, és 7-el sem oszthatóak. int t[100]; int i= 0,j; for ( j= 0; 1; ++j ) { if ( ((j % 3)!= 0 ) && ((j % 7)!= 0 ) ) t[i++]= j; if ( i >= 100 ) break; } Bekérünk a standard input-ról 100 egész számot egy 100 elemű tömbbe. Adjuk össze a tömbben szereplő értékeket a sum változóba. int t[100]; int i,sum= 0; for ( i= 0; i < 100; ++i ) scanf( %d, &t[i] ); for ( i= 0; i < 100; ++i ) sum+= t[i]; printf( %d\n, sum ); Számold ki t átlagát, az atlag nevű változóba: int i, szum = 0; double atlag = 0.0; for(i=0; i<n; ++i) szum += t[i]; atlag = (double)szum/(double)n; Összegezd t-ben a hárommal osztható elemeket a szum nevű változóba: int i, szum = 0; for(i=0; i<n; ++i) if(t[i]%3 == 0) szum += t[i];

10 Add meg a t tömbben a páratlan indexű helyeken lévő, nullától különböző elemek szorzatát a szorzat változóba: int i, szorzat = 1; for(int i=1; i<n; i+=2) if(t[i]) szorzat *= t[i];

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

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

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

Részletesebben

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ás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},

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

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 Operátorok Műveletek Egy (vagy több) műveleti jellel írhatók le A műveletet operandusaikkal végzik Operátorok fajtái operandusok száma szerint: egyoperandusú operátorok (pl.:

Részletesebben

Vezérlési szerkezetek. Szelekció Ciklusok

Vezérlési szerkezetek. Szelekció Ciklusok Vezérlési szerkezetek Szelekció Ciklusok Szelekciós vezérlés A program egy feltétel teljesülése alapján választja ki, hogy mely műveleteket hajtsa végre. Alakja: if ( feltétel ) { műveletek, ha feltétel

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r

Részletesebben

BASH SCRIPT SHELL JEGYZETEK

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

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Elágazás Bevezetés a programozásba I. 2. gyakorlat, tömbök Surányi Márton PPKE-ITK 2010.09.14. Elágazás Elágazás Eddigi programjaink egyszer ek voltak, egy beolvasás (BE: a), esetleg valami m velet (a

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

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

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

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy

Részletesebben

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >; Rövid elméleti összefoglaló 1. Gyakorlat A C++ nyelv hatékony, általános célú programozási nyelv, amely hagyományos fejlesztőeszközként és objektum-orientált programozási nyelvként egyaránt használható.

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

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

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

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ó... 2 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 3 Minimum

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

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

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék Gyakorló feladatok Számrendszerek: Feladat: Ábrázold kettes számrendszerbe a 639 10, 16-os számrendszerbe a 311 10, 8-as számrendszerbe a 483 10 számot! /2 Maradék /16 Maradék /8 Maradék 639 1 311 7 483

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

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

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

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 3 Orosz szorzás...3 Minimum

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

1. gyakorlat Követelményrendszer Bevezetés a programozásba I. 1. gyakorlat Surányi Márton PPKE-ITK 2010.09.07. Követelményrendszer Követelményrendszer A gyakorlatokon a részvétel kötelező! Két nagyzárthelyi Röpzárthelyik

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

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O Programozás alapjai 3.Gy: C elágazások, ciklusok. P R O A L A G 1/39 B ITv: MAN 2018.10.08 Kövessük a kódot 1. 2. 3. 4. 5. 6. 7. 8. 9. void main() { int a, b, seged; printf("\nkerek ket egesz szamot: ");

Részletesebben

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA 1 ELSŐ GYAKORLAT SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA A feladat elvégzése során a következőket fogjuk gyakorolni: Számrendszerek közti átváltás előjelesen és előjel nélkül. Bináris, decimális, hexadexcimális számrendszer.

Részletesebben

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 2. gyakorlat Kifejezések, vezérlési szerkezetek, struktúrák Kifejezések Mit ír ki az alábbi program? #include int main() { int a = 20, b = 40; printf("%d\n", a > b);

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezés versus utasítás C/C++: kifejezés plusz pontosvessző: utasítás kiértékeli a kifejezést jellemzően: mellékhatása is van például: értékadás Ada: n = 5;

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

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

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

C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre.

C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre. C memóriakezelés Ez a kis segédanyag az adatszerkezetek órán használt eszközök megértését hivatott elősegíteni. A teljesség igénye nélkül kerül bemutatásra a mutató típus és a dinamikus memóriakezelés.

Részletesebben

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor. Függvény pointer Több feladat közül futási időben döntöm el, hogy melyiket hajtom végre. A függvényre mutató pointer a függvény kódjának a címére mutat, azon keresztül meghívhatom a függvényt. A pointernek

Részletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t

Részletesebben

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

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

Részletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. gyakorlat Pointerek, dinamikus memóriakezelés 8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.

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

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa: 1. Tétel Az állomány két sort tartalmaz. Az első sorában egy nem nulla természetes szám van, n-el jelöljük (5

Részletesebben

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb 2004_02/4 Tegyél * jelet a táblázat megfelelő rovataiba! Biztosan Lehet hogy, de nem biztos Lehetetlen a) b) c) Négy egymást követő természetes

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

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt

Részletesebben

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I. Számelmélet I. DEFINÍCIÓ: (Osztó, többszörös) Ha egy a szám felírható egy b szám és egy másik egész szám szorzataként, akkor a b számot az a osztójának, az a számot a b többszörösének nevezzük. Megjegyzés:

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

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

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 futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás

Részletesebben

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

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

Részletesebben

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás 2. előadás Console I/O bővebben Lásd mintaprogram 2015.09.21. Számítástechnika I. 2. Előadás 2 Számábrázolásról

Részletesebben

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz 2018/2019 ősz Elérhetőségek Előadó: (safaro@math.bme.hu) Fogadóóra: hétfő 9-10 (H épület 3. emelet 310-es ajtó) A pontos tárgykövetelmények a www.math.bme.hu/~safaro/kalkulus oldalon találhatóak. A mátrix

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

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

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK, Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk

Részletesebben

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA 1. Tízes (decimális) számrendszerből: a. Kettes (bináris) számrendszerbe: Vegyük a 2634 10 -es számot, és váltsuk át bináris (kettes) számrendszerbe! A legegyszerűbb módszer: írjuk fel a számot, és húzzunk

Részletesebben

Programozás alapjai 8.Gy: Program struktúra

Programozás alapjai 8.Gy: Program struktúra Programozás alapjai 8.Gy: Program struktúra Elvarázsolt matekóra P R O A L A G 32/1 B ITv: MAN 2018.11.02 Programozás történelem Kezdetben egy program egyetlen kódsorozat volt (ún. monolitikus program)

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

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk. Osztók és többszörösök 1783. A megadott számok elsõ tíz többszöröse: 3: 3 6 9 12 15 18 21 24 27 30 4: 4 8 12 16 20 24 28 32 36 40 5: 5 10 15 20 25 30 35 40 45 50 6: 6 12 18 24 30 36 42 48 54 60 1784. :

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

GYAKORLATIAS JAVA MINTA

GYAKORLATIAS JAVA MINTA Java SE programozási alapok - alapelemek viszont a Javadoc-ban nem fog megjelenni. */ 4.2. Egyszerű és összetett típusok A programozás során az adatainkat (legyen az csak átmeneti is) ún. változókban tárolunk.

Részletesebben

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;... Egész számok természetes számok ( ) pozitív egész számok: 1; 2; 3; 4;... 0 negatív egész számok: 1; 2; 3; 4;... egész számok ( ) 1. Írd a következõ számokat a halmazábra megfelelõ helyére! 3; 7; +6 ; (

Részletesebben

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér Funkcionális programozás 2. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? Követelmények, osztályozás Programozási

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 2. gyakorlat Változók, típusok, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer - És Számítástudományi Tanszék Utolsó frissítés: September 21, 2009 1 tar@dcs.vein.hu

Részletesebben

Gyakorló feladatok Gyakorló feladatok

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

Részletesebben

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

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

Részletesebben

Programozás I gyakorlat. 10. Stringek, mutatók

Programozás I gyakorlat. 10. Stringek, mutatók Programozás I gyakorlat 10. Stringek, mutatók Karakter típus A char típusú változókat karakerként is kiírhatjuk: #include char c = 'A'; printf("%c\n", c); c = 80; printf("%c\n", c); printf("%c\n",

Részletesebben

Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény

Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény ELTE IK 1 Lexikális elemzés 1. Add meg reguláris nyelvtannal, reguláris kifejezéssel és véges determinisztikus automatával a következ lexikális elemeket!

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e:

1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e: 1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e: main() int number1, number2; printf("adjon meg két számot: "); scanf("%d %d", &number1, &number2); if ((number1 == 0)

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

A programozás alapjai 1 Rekurzió

A programozás alapjai 1 Rekurzió A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder

Részletesebben

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

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

Részletesebben

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

Bevezetés a programozásba I.

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

Részletesebben

SZÁMÍTÁSTUDOMÁNY ALAPJAI

SZÁMÍTÁSTUDOMÁNY ALAPJAI SZÁMÍTÁSTUDOMÁNY ALAPJAI INBGM0101-17 Előadó: Dr. Mihálydeák Tamás Sándor Gyakorlatvezető: Kovács Zita 2017/2018. I. félév 2. gyakorlat Az alábbi összefüggések közül melyek érvényesek minden A, B halmaz

Részletesebben

I. Specifikáció készítés. II. Algoritmus készítés

I. Specifikáció készítés. II. Algoritmus készítés Tartalomjegyzék I. Specifikáció készítés...2 II. Algoritmus készítés...2 Egyszerű programok...6 Beolvasásos feladatok...10 Elágazások...10 Ciklusok...1 Vegyes feladatok...1 1 I. Specifikáció készítés A

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 2. gyakorlat Változók, kiiratás, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24, 2007 1 tar@dcs.vein.hu

Részletesebben

Flex tutorial. Dévai Gergely

Flex tutorial. Dévai Gergely Flex tutorial Dévai Gergely A Flex (Fast Lexical Analyser) egy lexikáliselemz -generátor: reguláris kifejezések sorozatából egy C/C++ programot generál, ami szövegfájlokat képes lexikai elemek sorozatára

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Figyelem! A jegyzet fejlesztés alatt áll, ezért fokozott figyelmet kérek a használatánál. Bevezetés az informatikába Gyakorlati segédlet gazdasági informatikusok részére Készítette: Szeghalmy Szilvia Módosítva:

Részletesebben

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! valós adatokat növekvő sorrendbe rendezi és egy sorba kiírja

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

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

Megoldások. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) 1. Számítsd ki a következő kifejezések pontos értékét!

Megoldások. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) 1. Számítsd ki a következő kifejezések pontos értékét! Megoldások. Számítsd ki a következő kifejezések pontos értékét! 8 8 ( ) ( ) ( ) Használjuk a gyökvonás azonosságait. 0 8 8 8 8 8 8 ( ) ( ) ( ) 0 8 . Határozd meg a következő kifejezések értelmezési tartományát!

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

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

Hatványozás. A hatványozás azonosságai

Hatványozás. A hatványozás azonosságai Hatványozás Definíció: a 0 = 1, ahol a R, azaz bármely szám nulladik hatványa mindig 1. a 1 = a, ahol a R, azaz bármely szám első hatványa önmaga a n = a a a, ahol a R, n N + n darab 3 4 = 3 3 3 3 = 84

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

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

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

Részletesebben

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

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

Részletesebben

Elemi matematika szakkör

Elemi matematika szakkör Elemi matematika szakkör Kolozsvár, 2015. október 5. 1.1. Feladat. Egy pozitív egész számot K tulajdonságúnak nevezünk, ha számjegyei nullától különböznek és nincs két azonos számjegye. Határozd meg az

Részletesebben

Assembly programozás: 2. gyakorlat

Assembly programozás: 2. gyakorlat Assembly programozás: 2. gyakorlat Számrendszerek: Kettes (bináris) számrendszer: {0, 1} Nyolcas (oktális) számrendszer: {0,..., 7} Tízes (decimális) számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális

Részletesebben

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } Funkcionális és logikai programozás { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi ` 1 Jelenlét: Követelmények, osztályozás Az első 4 előadáson

Részletesebben