Feladatgyűjtemény a C programozási nyelvhez

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Feladatgyűjtemény a C programozási nyelvhez"

Átírás

1 Feladatgyűjtemény a C programozási nyelvhez Smidla József november 7.

2 2

3 Tartalomjegyzék I. Nyelvi alapok 5 1. Kimenet, bemenet 7 2. Változók, operátorok Vezérlési szerkezetek Programozási tételek Csere Lineáris keresés Eldöntés Megszámlálás Minimum kiválasztás Rendezés Feladatok Függvények Függvényhívások Rekurzió Feladatok Mutatók Struktúrák File kezelés A standard könyvtár Az előfeldolgozó 57 II. Fejlettebb technikák Láncolt listák Fák Bitműveletek Memóriakezelés 67 3

4 4 TARTALOMJEGYZÉK 14.Parancssori paraméterek 69

5 I. rész Nyelvi alapok 5

6

7 1. fejezet Kimenet, bemenet A következő feladatokat úgy oldja meg, hogy az alábbi programot egészítse ki: 1 #include <s t d i o. h> 2 3 int main ( ) { 4 int i 1 = 10, i 2 = 8, i 3 = 3 ; 5 double d = ; 6 f loat f = ; 7 char ch = M ; 8 char s t r [ ] = " ez egy szoveg " ; 9 10 // Ide i r j a a megoldast! return 0 ; 13 } Az alábbi feladatok mindegyikében látható 1-1 példa kimenet olyan formában, hogy az egyes karaktereket (például a szóközöket) jól láthatóan elkülöníthessük egymástól. Ott, ahol tabulátort kell használni, az átláthatóság kedvéért a példában 3 szóköz található, a valóságban ez több is lehet feladat Írassa ki az i1 változó értékét minimum 5 karakter széles mezőben, jobbra igazítva: feladat Írassa ki az i1 változó értékét minimum 5 karakter széles mezőben, balra igazítva: feladat Írassa ki az i1 változó értékét minimum i2 karakter széles mezőben, jobbra igazítva: 1 0 7

8 8 1. Kimenet, bemenet feladat Írassa ki az i1 változó értékét minimum 5 karakter széles mezőben, jobbra igazítva, a mező üres karaktereinek helyén 0 legyen: feladat Írassa ki az i1 változó értékét, ha a szám pozitív, akkor legyen előtte egy szóköz: feladat Írassa ki a d változó értékét minimum 8 karakter széles mezőben, 3 tizedesjegy pontossággal: feladat Írassa ki a d változó értékét minimum i1 karakter széles mezőben, 3 tizedesjegy pontossággal: feladat Írassa ki a d változó értékét minimum 8 karakter széles mezőben, i1 tizedesjegy pontossággal: feladat Írassa ki a d/2.0 értékét minimum 8 karakter széles mezőben, 3 tizedesjegy pontossággal: feladat Írassa ki a d változó értékét minimum i3 karakter széles mezőben, i1 tizedesjegy pontossággal: feladat Írassa ki az f változó értékét minimum 8 karakter széles mezőben, 3 tizedesjegy pontossággal: feladat Írassa ki az f változó értékét minimum i1 karakter széles mezőben, 3 tizedesjegy pontossággal: feladat Írassa ki az f változó értékét minimum 8 karakter széles mezőben, i1 tizedesjegy pontossággal: feladat Írassa ki az f/4.0 értékét minimum 8 karakter széles mezőben, 3 tizedesjegy pontossággal: feladat Írassa ki az f változó értékét minimum i3 karakter széles mezőben, i1 tizedesjegy pontossaggal:

9 feladat Írassa ki, hogy a 40 hány százaléka a 90-nek, a kimenetben jelenjen meg a % jel is: % feladat Írassa ki a d változó értékét minimum 7 karakter széles mezőben, normál alakban: e feladat Írassa ki az i1 változó értékét oktálisan: 1 2 a feladat Írassa ki az i1 változó értékét hexadecimálisan: feladat Írassa ki az i1 változó értékét oktálisan, 6 karakter széles mezőben, a mező üres helyein legyen 0: feladat Írassa ki az i1 változó értékét hexadecimálisan, 6 karakter széles mezőben, a mező üres helyein legyen 0: a feladat Írassa ki az i1 változó értékét oktálisan, 6 karakter széles mezőben, a szám 0-val kezdődjön, jelezve, hogy oktális számot írunk ki: feladat Írassa ki az i1 változó értékét hexadecimálisan, 6 karakter széles mezőben, a mező üres helyein legyen 0, a kiírt érték pedig 0x-el kezdődjön, jelezve, hogy hexadecimális számot írunk ki: 0 x a feladat Írassa ki az str stringet: e z e g y s z o v e g feladat Írassa ki az str stringet -k között: e z e g y s z o v e g feladat Írassa ki az str stringet "-k között: " e z e g y s z o v e g " feladat Írassa ki az str stringet \ -k között: \ e z e g y s z o v e g \ feladat Írassa ki az str stringet, majd az utolsó előtti karakter helyére írasson ki 1-et : e z e g y s z o v 1 g feladat Írassa ki az str stringet, majd az elejét írja felül i1 értékével : 1 0 e g y s z o v e g

10 10 1. Kimenet, bemenet feladat Írassa ki az str stringet, majd utána egy tabulátornyi távolságra i1 értékét 4 széles mezőbe, a mező üres helyeire 0-kat rakva: e z e g y s z o v e g M feladat Írassa ki a ch karaktert: feladat Írassa ki a ch karakter ASCII kódját decimálisan: feladat Írassa ki a ch karakter ASCII kódját hexadecimálisan, az A-F betűket kisbetűsen: 4 d feladat Írassa ki a ch karakter ASCII kódját hexadecimálisan, az A-F betűket nagybetűsen: 4 D feladat Írassa ki a ch karakter ASCII kódját hexadecimálisan, az A-F betűket kisbetűsen, a kiírt érték 0x-el kezdődjön: 0 x 4 d feladat Írassa ki a ch karakter ASCII kódját hexadecimálisan, az A-F betűket nagybetűsen, a kiírt érték 0X-el kezdődjön: 0 X 4 D feladat Írassa ki a ch karakter ASCII kódját hexadecimálisan, az A-F betűket nagybetűsen, a kiírt érték 0x-el kezdődjön: 0 x 4 D feladat Írassa ki a d értékét 2 tizedesjegy pontossággal, de úgy, hogy a tizedespont helyett vessző legyen: 6 6 6, feladat Írassa ki az i1, i2 és i3 értékét, az egyes számok között legyen 1-1 tabulátornyi távolság: feladat Írassa ki az str string legfeljebb első 7 karakterét "-k közé: " e z e g y " feladat Írassa ki az str string legfeljebb első i1-2 karakterét -k közé: e z e g y s feladat Írassa ki az str string legfeljebb első 5 karakterét egy 8 széles mezőbe, a mezőt határolják " karakterek: " e z e g "

11 feladat Írassa ki az str string legfeljebb első 5 karakterét egy 8 széles mezőbe, balra igazítva, a mezőt határolják " karakterek: " e z e g " feladat Írassa ki az str string legfeljebb első i2 karakterét egy 8 széles mezőbe, a mezőt határolják " karakterek: " e z e g y s " feladat Írassa ki az str string legfeljebb első i2 karakterét egy i2 + i3 széles mezőbe, balra igazítva, a mezőt határolják " karakterek: " e z e g y s " feladat Írassa ki az első sorba a " karaktert, majd a következőbe egy tabulatorral beljebb a -t és végül a harmadik sor elejére a \ -t: " \ feladat Írassa ki a d értékét úgy, hogy a tizedesjegyeket cserélje ki az i1 értékére: feladat Rajzoltasson ki a képernyőre egy 3*3-as mátrixot, amely minimum 5 karakter széles mezőben 1 tizedes pontossággal lebegőpontos számokat tartalmaz: feladat Írassa ki az -i1 értékét, mintha előjel nélküli változó lenne: feladat Írassa ki az i1*10000 értékét, majd a következő sorba mintha short int típusú lenne: feladat Írassa ki a d*i1 értékét egy i1 széles mezőbe, 2 tizedesjegy pontossággal, a mezőt határolják " karakterek, a tizedespont helyén legyen pontosvessző, ha a szám pozitív, akkor is jelenjen meg az előjel, a mező üres helyeire kerüljenek 0 karakterek: " ; 6 6 "

12 12 1. Kimenet, bemenet A következő feladatokat úgy oldja meg, hogy az alábbi programot egészítse ki: 1 #include <s t d i o. h> 2 3 int main ( ) { 4 int a = 0, b = 0, c = 0, d = 0 ; 5 char ch1, ch2 ; 6 7 // Ide i r j a a megoldast! 8 9 return 0 ; 10 } feladat A getchar segítségével olvasson be egy karaktert a billentyűzetről a ch1 változóba, majd írja ki a képernyőre a beolvasott karaktert: Kerek egy karaktert: t A beolvasott karakter: t feladat A getchar segítségével olvasson be a billentyűzetről 2 karaktert ( ch1, ch2), majd írja ki őket a képernyőre: Kerem az elso karaktert: r Kerem a masodik karaktert: t A beolvasott karakterek: r es t feladat Olvassa be az a változó értékét billentyűzetről scanf segítségével, majd a beolvasott értéket írja ki a képernyőre: Kerek egy szamot: 53 A beolvasott szam: feladat Olvasson be a billentyűzetről egyetlen scanf segítségével kettő számot az a és b változókba, majd írja ki a két számot a képernyőre: Kerek ketto szamot :34 54 A szamok: 34, feladat Olvasson be a billentyűzetről 4 számot, egymástól 1-1 ponttal elválasztva, az a, b, c és d változókba, majd írja ki a beolvasott számokat a képernyőre: Kerek negy szamot, ponttal elvalasztva: A szamok: 1, 2, 3, 4

13 2. fejezet Változók, operátorok Az alábbi feladatokat az alábbi kódot néhány scanf-el és egyetlen printf-el kiegészítve, és a printf paramétereként megadott összetett kifejezéssel oldja meg! 1 #include <s t d i o. h> 2 #include <s t d l i b. h> 3 4 int main ( ) { 5 int a, b, c ; 6 char ch1, ch2 ; 7 8 // Ide i r j a a megoldast! 9 10 return 0 ; 11 } feladat Írja ki a képernyőre, hogy az első szám nagyobb-e mint a második: Kerem az elso szamot: 5 Kerem a masodik szamot: 5 Az elso szam nagyobb-e mint a masodik: nem Kerem az elso szamot: 10 Kerem a masodik szamot: 5 Az elso szam nagyobb-e mint a masodik: igen feladat Írja ki a képernyőre a 2 szám közül a legnagyobb értékét: Kerem az elso szamot: 5 Kerem a masodik szamot: 15 A legnagyobb szam: feladat Írja ki a képernyőre a 3 szám közül a legnagyobb értékét: 13

14 14 2. Változók, operátorok Kerem az elso szamot: 5 Kerem a masodik szamot: 15 Kerem a harmadik szamot: 10 A legnagyobb szam: feladat Írja ki a képernyőre a 3 szám közül a legkisebb értékét: Kerem az elso szamot: 5 Kerem a masodik szamot: 15 Kerem a harmadik szamot: 10 A legkisebb szam: feladat Írja ki a képernyőre a két legnagyobb szám értékét: Kerem az elso szamot: 25 Kerem a masodik szamot: 15 Kerem a harmadik szamot: 30 A ket legnagyobb szam: 25, feladat Írja ki a képernyőre a legkisebb és legnagyobb szám összegét: Kerem az elso szamot: 25 Kerem a masodik szamot: 15 Kerem a harmadik szamot: 30 Az osszeg: feladat Írja ki, hogy az első szám negatív-e: Kerem az elso szamot: 25 A szam nem negativ Kerem az elso szamot: 0 A szam nem negativ Kerem az elso szamot: -5 A szam negativ feladat Írja ki, hogy az első szám negatív-e, majd növelje meg az első szám értékét a kiíratás után, most a növelés ellenőrzésére használhat egy második printf hívást is: Kerem az elso szamot: 25 A szam nem negativ Az elso szam erteke az elozo kiiratas utan: 26 Kerem az elso szamot: 0 A szam nem negativ Az elso szam erteke az elozo kiiratas utan: 1

15 15 Kerem az elso szamot: -5 A szam negativ Az elso szam erteke az elozo kiiratas utan: feladat Írja ki a képernyőre, hogy igaz-e az, hogy az első szám kettővel nagyobb, mint a második: Kerem az elso szamot: 7 Kerem a masodik szamot: 5 Igen, az elso 2-vel nagyobb, mint a masodik Kerem az elso szamot: 7 Kerem a masodik szamot: 6 Nem, az elso nem 2-vel nagyobb, mint a masodik feladat Írja ki a képernyőre, hogy igaz-e az, hogy az első szám kettővel nagyobb, mint a második, vagy a harmadik 3-al kisebb, mint az első: Kerem az elso szamot: 7 Kerem a masodik szamot: 5 Kerem a harmadik szamot: 6 A harom szam megfelel a feltetelnek Kerem az elso szamot: 7 Kerem a masodik szamot: 6 Kerem a harmadik szamot: 4 A harom szam megfelel a feltetelnek Kerem az elso szamot: 7 Kerem a masodik szamot: 6 Kerem a harmadik szamot: 5 A harom szam nem felel meg a feltetelnek feladat Írja ki a képernyőre, hogy igaz-e az, hogy az első szám a másodiknál nagyobb, és a harmadiknál kisebb: feladat Írja ki a képernyőre, hogy igaz-e az, hogy az első és a második szám különbsége 5-nél nagyobb: feladat Írja ki a képernyőre, hogy igaz-e az, hogy az első és a második szám különbsége 5-nél nagyobb, vagy 5-el egyenlő: feladat Írja ki a képernyőre, hogy igaz-e az, hogy az első szám osztható a másodikkal, de a harmadikkal nem:

16 16 2. Változók, operátorok feladat Írja ki a képernyőre, hogy igaz-e az, hogy az első szám osztható a másodikkal, és a harmadikkal osztva a maradék 4 lesz: feladat Írja ki a képernyőre, hogy igaz-e az, hogy az első szám osztható a másodikkal, és a harmadikkal osztva a maradék nagyobb-e mint 5, és a három szám összege 50 és 100 között van-e: feladat Írja ki a képernyőre, hogy igaz-e az, hogy ha az első számot bitenként balra 2-vel, majd a másodikat jobbra 3-al eltoljuk, és a két számot összeadjuk, akkor az eredmény osztható-e a harmadik számmal: feladat Írja ki a 3 szám közül a legkisebb szám értékét a képernyőre, majd a kiírás után nőjön egyel a változó értéke: feladat Írja ki a képernyőre, hogy igaz-e az, hogy a ch1 karakter az angol ABC kisbetűi közül valamelyik: feladat Írja ki a képernyőre, hogy igaz-e az, hogy a ch1 karakter számjegy-e: feladat Írja ki a képernyőre, hogy igaz-e az, hogy a ch1 karakter szerepelhet-e egy lebegőpontos szám kiírása közben (tehát számjegyen kívül lehet., -, +, e vagy E karakter is): feladat Ha a ch1 karakter az angol ABC kisbetűi közül valamelyik, akkor írassa ki a képernyőre a nagybetűs változatát, egyébként pedig az eredeti betűt: feladat Ha a ch1 karakter az angol ABC nagybetűi közül valamelyik, akkor írassa ki a képernyőre a kisbetűs változatát, ha a ch1 kisbetű, akkor a nagybetűs megfelelőjét írja ki

17 feladat Bővítse ki az előző programot úgy, hogy ha a ch1 nem tartozik az angol ABC betűi közé, akkor írjon ki hibaüzenetet: feladat Írassa ki az első szám ellentetjét: feladat Írassa ki az első és második szám összegének ellentetjét: feladat Írassa ki, hogy igaz-e az, hogy az első két szám négyzetösszege nagyobb-e mint a harmadik szám: feladat Írja ki, hogy a beolvasott ch1 változó 5. bitjének mi az értéke (a bitek sorszámozását 0-ról kezdjük): Gepeljen be egy karaktert: A Az 5. bit erteke: 0 Gepeljen be egy karaktert: a Az 5. bit erteke: feladat Bővítse ki az előző programot úgy, hogy a ch1 változó összes bitjét kiírja a képernyőre: Gepeljen be egy karaktert: A A bitminta: Gepeljen be egy karaktert: a A bitminta: feladat Invertálja a ch1 változó bitjeit: Gepeljen be egy karaktert: A A bitminta invertalas elott: A bitminta invertalas utan: Gepeljen be egy karaktert: m A bitminta invertalas elott: A bitminta invertalas utan: feladat Állítsa be a ch1 változó 4. bitjet 1-re: Gepeljen be egy karaktert: A A bitminta a modositas elott: A bitminta a modositas utan:

18 18 2. Változók, operátorok feladat Állítsa be a ch1 változó 6. bitjet 0-ra: Gepeljen be egy karaktert: A A bitminta a modositas elott: A bitminta a modositas utan: feladat Állítsa be a ch1 változó 2. 5 és 6. bitjét 1-re: Gepeljen be egy karaktert: A A bitminta a modositas elott: A bitminta a modositas utan: feladat Állítsa be a ch1 változó 0., 1. és 3. bitjét 0-ra: Gepeljen be egy karaktert: m A bitminta a modositas elott: A bitminta a modositas utan: feladat A ch1 változó minden bitjét tolja el balra 1-el, és a legkisebb helyiértékű bitje legyen 0: Gepeljen be egy karaktert: m A bitminta a modositas elott: A bitminta a modositas utan: feladat A ch1 változó minden bitjét tolja el balra 1-el, és a legkisebb helyiértekű bitje legyen 1: Gepeljen be egy karaktert: m A bitminta a modositas elott: A bitminta a modositas utan: feladat Állapítsa meg, hogy a ch1 és ch2 változónak vannak-e olyan azonos helyiértékű bitpárjai, amelyek értékei rendre megegyeznek: Gepelje be az elso karaktert: m Gepelje be a masodik karaktert: a Az elso karakter bitmintaja: A masodik karakter bitmintaja: Vannak egyezo bitek feladat Írassa ki, hogy hány bitet foglal el egy int típusú változó az adott architektúrán: feladat Írassa ki, hogy a short vagy az int típusú változó foglal-e több bájtot:

19 feladat Előfordulhat-e az az ANSI C szabvány szerint, hogy a float, double és long double típusú változók mérete azonos? feladat Ekvivalens-e egymással a következő két kifejezés? 1 x = y x = x y feladat Mi lesz az értéke a következő kifejezésnek, és miért? 1 4 < 5 < feladat Mi lesz az értéke az a, b, és c változóknak az alábbi kódrészlet végrehajtása után, és miért? 1 int a = 2 ; 2 int b = 0 ; 3 int c = 1; 4 a b++ && c ; feladat Mi lesz az értéke az a, b, és c változóknak az alábbi kódrészlet végrehajtása után, és miért? 1 int a = 1; 2 int b = 0 ; 3 int c = 1; 4 a++ b++ && c ; feladat Mi lesz az értéke az a, b, és c változóknak az alábbi kódrészlet végrehajtása után, és miért? 1 int a = 1; 2 int b = 0 ; 3 int c = 1; 4 ++a && b++ && c ; feladat Lehet-e abból probléma, ha egy unsigned int típusú változót konvertálunk signed long-ra, ha igen, milyen probléma, és miért? feladat Lehet-e abból probléma, ha egy double típusú változót konvertálunk float-ra, ha igen, milyen probléma, és miért? feladat Lehet-e abból probléma, ha egy long int típusú változót konvertálunk double-ra, ha igen, milyen probléma, és miért? feladat Lehet-e abból probléma, ha egy double típusú változót konvertálunk long int-re, ha igen, milyen probléma, és miért?

20 20 2. Változók, operátorok

21 3. fejezet Vezérlési szerkezetek 3.1. Programozási tételek Csere Van két változónk, (A és B), és azok értékét szeretnénk felcserélni. Az egyik lehetséges módszer az, hogy használunk egy segédváltozót. Ebbe elmentjük az A változó értékét: SEGED = A Mivel A értékét így elmentettük, felülírhatjuk B értékével: A = B Majd B értékét felülírjuk A eredeti értékével, amit most a SEGED-ben tárolunk: B = SEGED Lineáris keresés Eldöntés Megszámlálás Minimum kiválasztás Rendezés 3.2. Feladatok A következő feladatokat az alábbi forráskódot kiegészítve oldja meg. A példa kimenetekben az első bekért szám az i1, a második az i2 és a harmadik pedig az i3 változó. Bizonyos feladatokat úgy is meg lehetne oldani, hogy egy képlettel kiszámítjuk az eredményt (például egy intervallumon belül az egész számok összege), ám most gyakorlás céljából tekintsünk el ezektől a képletektől, és ezek nélkül oldjuk meg a feladatokat. Minden algoritmusnál gondoljuk végig a szélsőséges eseteket is! 21

22 22 3. Vezérlési szerkezetek 1 #include <s t d i o. h> 2 3 int main ( ) { 4 5 int i1, i2, i 3 ; 6 p r i n t f ( Gepeljen be 3 szamot : ) ; 7 s c a n f ( %d %d %d, &i1, &i2, &i 3 ) ; 8 9 // Ide i r j a a megoldast! return 0 ; 12 } feladat Rajzoljon ki a képernyőre egy i1 sorból és i2 oszlopból álló * karakterekkel kitöltött téglalapot: Gepeljen be 2 szamot: 1 1 * Gepeljen be 2 szamot: 3 4 **** **** **** feladat Rajzoljon ki a képernyőre egy i1 sorból és i2 oszlopból álló * karakterekkel határolt téglalapot: Gepeljen be 2 szamot: 1 1 * Gepeljen be 2 szamot: 2 4 **** **** Gepeljen be 2 szamot: 3 4 **** **** **** Gepeljen be 2 szamot: 5 6 ****** ****** ****** ****** ****** feladat Rajzoljon ki a képernyőre egy i1 karakternyi magas derékszögű háromszöget:

23 3.2. FELADATOK 23 Gepeljen be 1 szamot: 1 * Gepeljen be 1 szamot: 2 * ** Gepeljen be 1 szamot: 3 * ** *** feladat Rajzoljon ki a képernyőre egy i1 karakter szélességű és magasságú X-et: Gepeljen be 1 szamot: 1 * Gepeljen be 1 szamot: 2 ** ** Gepeljen be 1 szamot: 3 * * ** * * Gepeljen be 1 szamot: 4 **** *** *** **** Gepeljen be 1 szamot: 5 ***** **** *** **** ***** feladat Adja össze a számokat i1-től i2-ig: Gepeljen be 2 szamot: Az osszeg: feladat Adjon össze minden i1. számot i2-től i3-ig: Gepeljen be 3 szamot: Az osszeg: 90

24 24 3. Vezérlési szerkezetek feladat Számolja ki i1 faktoriálisát! Egy n szám faktoriálisa az egész számok szorzata 1-től n-ig, továbbá a 0 faktoriálisa 1: Gepeljen be 1 szamot: 0 0 faktorialisa: 1 Gepeljen be 1 szamot: 1 1 faktorialisa: 1 Gepeljen be 1 szamot: 2 2 faktorialisa: 2 Gepeljen be 1 szamot: 3 3 faktorialisa: 6 Gepeljen be 1 szamot: 4 4 faktorialisa: feladat Írassa ki képernyőre a Fibonacci-sorozat első i1 elemét. A Fibonacci sorozat i. elemét jelölje F i, ahol i 0. Az első két elem értéke: F 0 = 0, F 1 = 1. Ha i 2, akkor F i = F i 1 + F i 2. Gepeljen be 1 szamot: 10 Az elso 10 Fibonacci szam: 0, 1, 1, 2, 3, 5, 8, 13, 21, feladat Vizsgálja meg, hogy az int típus legfeljebb mekkora N szám faktoriálisának tárolására alkalmas: 00 faktorialisa: 1 01 faktorialisa: 1 02 faktorialisa: 2 03 faktorialisa: 6 04 faktorialisa: faktorialisa: faktorialisa: faktorialisa: faktorialisa: faktorialisa: faktorialisa: faktorialisa: faktorialisa: faktorialisa: ez mar nagyobb, mint A legnagyobb ertek, amelynek faktorialisat egy int-ben tarolni tudjuk: feladat Írassa ki egy mértani sorozat első i1 elemét, ha az első elem i2, és a szorzó i3 :

25 3.2. FELADATOK 25 Gepeljen be 3 szamot: feladat Számolja ki az i1 i2-edik hatványát, de csak akkor, ha i2 nem negatív : Gepeljen be 2 szamot: 0 0 0ˆ0 = nem ertelmezheto Gepeljen be 2 szamot: 4 0 4ˆ0 = 1 Gepeljen be 2 szamot: 0 5 0ˆ5 = 0 Gepeljen be 2 szamot: 1 5 1ˆ5 = 1 Gepeljen be 2 szamot: 2 5 2ˆ5 = 32 Gepeljen be 2 szamot: 3 5 3ˆ5 = 243 Gepeljen be 2 szamot: 4 5 4ˆ5 = feladat Számolja ki az i1 i2-edik hatványát és kezelje azt az esetet is, amikor i2 negatív: Gepeljen be 2 szamot: 0-4 Hiba, ervenytelen adatok! Gepeljen be 2 szamot: 1-4 1ˆ-4 = 1 Gepeljen be 2 szamot: 2-4 2ˆ-4 = Gepeljen be 2 szamot: 3-4 3ˆ-4 = Gepeljen be 2 szamot: 4-4 4ˆ-4 = Gepeljen be 2 szamot: 5-4 5ˆ-4 = feladat Írja ki a képernyőre i1 osztóit :

26 26 3. Vezérlési szerkezetek Gepeljen be 1 szamot: 1 1 Gepeljen be 1 szamot: Gepeljen be 1 szamot: Gepeljen be 1 szamot: Gepeljen be 1 szamot: feladat Határozza meg, hogy i1 prímszám-e: Gepeljen be 1 szamot: 1 A(z) 1 nem primszam Gepeljen be 1 szamot: 2 A(z) 2 primszam Gepeljen be 1 szamot: 3 A(z) 3 primszam Gepeljen be 1 szamot: 4 A(z) 4 nem primszam Gepeljen be 1 szamot: A(z) nem primszam Gepeljen be 1 szamot: A(z) primszam feladat Határozza meg az i1 után következő első prímszám értékét: Gepeljen be 1 szamot: 1 A(z) 1 utani elso primszam: 2 Gepeljen be 1 szamot: 3 A(z) 3 utani elso primszam: 5 Gepeljen be 1 szamot: 100 A(z) 100 utani elso primszam: 101 Gepeljen be 1 szamot: 1232 A(z) 1232 utani elso primszam: 1237

27 3.2. FELADATOK feladat Határozza meg, hogy i1 négyzetszám-e: Gepeljen be 1 szamot: 1 A(z) 1 negyzetszam Gepeljen be 1 szamot: 2 A(z) 2 nem negyzetszam Gepeljen be 1 szamot: 4 A(z) 4 negyzetszam Gepeljen be 1 szamot: 10 A(z) 10 nem negyzetszam Gepeljen be 1 szamot: 49 A(z) 49 negyzetszam Gepeljen be 1 szamot: A(z) nem negyzetszam Gepeljen be 1 szamot: A(z) negyzetszam feladat Számolja meg, hogy i1 előtt i1-t is vizsgálva) mennyi négyzetszám van: Gepeljen be 1 szamot: 1 A(z) 1 elott 1 negyzetszam van Gepeljen be 1 szamot: 100 A(z) 100 elott 10 negyzetszam van Gepeljen be 1 szamot: A(z) elott 460 negyzetszam van feladat Számolja meg, hogy i1 és i2 között ( i1-t és i2-t is vizsgálva) mennyi négyzetszám van: Gepeljen be 2 szamot: 1 1 A [1, 1] intervallumban 1 negyzetszam van Gepeljen be 2 szamot: 1 10 A [1, 10] intervallumban 3 negyzetszam van Gepeljen be 2 szamot: A [1, 100] intervallumban 10 negyzetszam van Gepeljen be 2 szamot: A [232, 3242] intervallumban 41 negyzetszam van

28 28 3. Vezérlési szerkezetek feladat Olvasson be a billentyűzetről számokat 0 végjelig (tehát ha a beolvasott szám 0, akkor vége a beolvasásnak), és szamolja meg, hogy a 0-t kivéve mennyi számot olvasott be: Kerek egy szamot: 4 Kerek egy szamot: 2 Kerek egy szamot: 8 Kerek egy szamot: 5 Kerek egy szamot: 7 Kerek egy szamot: 0 5 szamot olvastam be feladat Olvasson be a billentyűzetről számokat 0 végjelig, és a végjelen kívül határozza meg a legnagyobb beolvasott elemet: Kerek egy szamot: 4 Kerek egy szamot: 2 Kerek egy szamot: 8 Kerek egy szamot: 7 Kerek egy szamot: 0 A legnagyobb beolvasott szam: 8 Kerek egy szamot: -5 Kerek egy szamot: -7 Kerek egy szamot: 0 A legnagyobb beolvasott szam: feladat Olvasson be a billentyűzetről számokat 0 végjelig, és a végjelen kívül határozza meg a legkisebb beolvasott elemet: Kerek egy szamot: 4 Kerek egy szamot: 2 Kerek egy szamot: 8 Kerek egy szamot: 7 Kerek egy szamot: 0 A legkisebb beolvasott szam: feladat Olvasson be a billentyűzetről számokat 0 végjelig, és számolja meg, hogy mennyi páros számot olvasott be: Kerek egy szamot: 4 Kerek egy szamot: 2 Kerek egy szamot: 8 Kerek egy szamot: 7 Kerek egy szamot: 0 3 paros szamot olvastam be feladat Olvasson be a billentyűzetről számokat 0 végjelig, és számolja ki a beolvasott számok átlagát, a végjelet ne vegye figyelembe:

29 3.2. FELADATOK 29 Kerek egy szamot: 4 Kerek egy szamot: 2 Kerek egy szamot: 8 Kerek egy szamot: 7 Kerek egy szamot: 0 A szamok atlaga: feladat Egy dolgozat ponthatárai a következők: 0-12 : elégtelen : elégséges : közepes : jó : jeles A program írja ki, hogy i1 pontszám esetén milyen jegy adható az adott dolgozatra: Gepeljen be 1 szamot: 1 Az erdemjegy: elegtelen Gepeljen be 1 szamot: 12 Az erdemjegy: elegtelen Gepeljen be 1 szamot: 20 Az erdemjegy: elegseges Gepeljen be 1 szamot: 32 Az erdemjegy: jeles feladat Switch - case segítségével határozza meg, hogy az i1. hónap i2. napjáig hány nap telt el az évben, ha nem szökőévben vagyunk.: Kerem a honapot: 5 Kerem a napot: 20 Az eltelt napok szama: feladat Switch - case segítségével határozza meg, hogy az i1 évben a i2. hónap i3. napjáig hány nap telt el az évben, de most vegye figyelembe azt is, ha szökőévben vagyunk: Kerem az evet: 1993 Kerem a honapot: 5 Kerem a napot: 20 Az eltelt napok szama: 140 Kerem az evet: 2000 Kerem a honapot: 5

30 30 3. Vezérlési szerkezetek Kerem a napot: 20 Az eltelt napok szama: feladat Valósítson meg egy egyszerű menüt! A program jelenítsen meg 4 választási lehetőséget, amik közül 1 és 4 közötti számok beírásával lehessen választani, és a választásnak megfelelően írjon ki egy üzenetet: Elso menupont: 1 Masodik menupont: 2 Harmadik menupont: 3 Negyedik menupont: 4 Valasszon a fenti menupontok kozul: 2 Ugyintezonk ebredeseig kerjuk varjon turelemmel feladat Bővítse ki az előző programot úgy, hogy a menüpont választás után kérdezze meg a felhasználót, hogy szeretne-e újra választani, ha igen, akkor jelenjen meg újra a menü, egyébként lepjen ki: Elso menupont: 1 Masodik menupont: 2 Harmadik menupont: 3 Negyedik menupont: 4 Valasszon a fenti menupontok kozul: 1 Sajnaljuk, de ugyintezonknek jelenleg nincs kedve az On problemajaval foglalkozni Kivan masik menupontot kivalasztani (i/n)? i Elso menupont: 1 Masodik menupont: 2 Harmadik menupont: 3 Negyedik menupont: 4 Valasszon a fenti menupontok kozul: 3 Jelenleg fontosabb dolgunk is van, mint Onnel foglalkozni Kivan masik menupontot kivalasztani (i/n)? n Forduljon hozzank maskor is bizalommal! feladat Módosítsa az előző programot úgy, hogy minden eddigi menüpontból térjen vissza a menübe, és legyen egy kilépés menüpont is : Elso menupont: 1 Masodik menupont: 2 Harmadik menupont: 3 Negyedik menupont: 4 Kilepes: 5 Valasszon a fenti menupontok kozul: 4 Probalta kikapcsolni, bekapcsolni?

31 3.2. FELADATOK 31 Elso menupont: 1 Masodik menupont: 2 Harmadik menupont: 3 Negyedik menupont: 4 Kilepes: 5 Valasszon a fenti menupontok kozul: 5 Forduljon hozzank maskor is bizalommal! feladat Fejlessze tovább az előző programot egyszerű számológép programmá: lehessen választani a négy alapművelet közül, és végezze el a kiválasztott műveletet két bekért szám között. Amennyiben osztás esetén az osztó nulla, akkor jelenítsen meg egy hibaüzenetet, majd addig kérje be az osztót, amíg a felhasználó nullától különböző értéket nem ír be: Osszeadas: 1 Kivonasz: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valasszon egy menupontot: 2 Kerem a szamokat: = 2 Osszeadas: 1 Kivonasz: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valasszon egy menupontot: 4 Kerem a szamokat: 5 0 Uriember nem oszt 0-val, kerek masik osztot: 0 Uriember nem oszt 0-val, kerek masik osztot: 2 5 / 2 = 2.5 Osszeadas: 1 Kivonasz: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valasszon egy menupontot: 5 Viszlat feladat Töltsön fel egy 10 elemű int tömböt számokkal, a számokat billentyűzetről olvassa be: Kerem a(z) 1. szamot: 5 Kerem a(z) 2. szamot: 2..

32 32 3. Vezérlési szerkezetek. Kerem a(z) 10. szamot: feladat Írassa ki a fenti tömb elemeit: A beolvasott tomb: feladat Határozza meg a tömb legnagyobb és legkisebb elemét: A tomb legnagyobb eleme: 63 A tomb legkisebb eleme: feladat Cserélje meg a tömb első és második elemét: Csere elott: Csere utan: feladat Cserélje meg a tömb első és a legkisebb elemét: Csere elott: Csere utan: feladat Az előző programot bővítse ki úgy, hogy rendezze növekvő sorrendbe a tömböt: Csere elott: Legkisebb elem: 2, pozicioja: 5 1. es 5. elem csereje utan: Kovetkezo legkisebb elem: 3, pozicioja: 6 2. es 6. elem csereje utan: Kovetkezo legkisebb elem: 5, pozicioja: 5 3. es 5. elem csereje utan: Kovetkezo legkisebb elem: 5, pozicioja: 7 4. es 7. elem csereje utan: Kovetkezo legkisebb elem: 6, pozicioja: 5 5. es 5. elem csereje utan: Kovetkezo legkisebb elem: 6, pozicioja: 9 6. es 9. elem csereje utan:

33 3.2. FELADATOK Kovetkezo legkisebb elem: 7, pozicioja: 8 7. es 8. elem csereje utan: Kovetkezo legkisebb elem: 12, pozicioja: es 10. elem csereje utan: Kovetkezo legkisebb elem: 20, pozicioja: 9 9. es 9. elem csereje utan: feladat Módosítsa az előző programot úgy, hogy csökkenő sorrendbe rendezzen! feladat Egy másik tömbbe másolja át az előző feladatokban használt tömbből a páros számokat. A számok sorrendje tetszőleges lehet: Az elso tomb: A masodik tomb: feladat Határozza meg egy string hosszát (saját ciklussal, és ne az strlen-el!), segítség: a string karaktertömb \0 -val van lezárva. A string: "ez egy szoveg" Hossza: feladat Vizsgálja meg, hogy egy string palindrom-e (azaz elölről olvasva ugyanaz-e mint visszafelé), például.: gorog, keretkarakterek: String: "gorog" Ez palindrom String: "keretkarakterek" Ez palindrom String: "alma" Ez nem palindrom feladat Írjon programot, amely egy tömb elemeinek sorrendjét megfordítja: A tomb megforditas elott: A tomb megforditas utan: feladat Írjon programot, amely egy tömb elemeit a tömbön belül egyel előrébb tolja, és az eredeti első elemet az utolsó helyre illeszti be:

34 34 3. Vezérlési szerkezetek A tomb az eltolas elott: A tomb az eltolas utan: feladat Írjon programot, amely eldönti, hogy egy adott érték benne van-e egy tömbben: A tomb: Gepeljen be 1 szamot: 2 A(z) 2 benne van a tombben Gepeljen be 1 szamot: 4 A(z) 4 nincs benne a tombben feladat Gondolja végig, hogy az előző feladatban hány lépésre van szükség a legjobb esetben a legrosszabb esetben átlagosan feladat Írjon olyan algoritmust, amely egy rendezett tömbben keres egy adott értéket, kihasználva a tömb rendezettségét feladat Az előző algoritmusban hány lépésre van szükség a legjobb esetben a legrosszabb esetben feladat Írjon programot, amely két azonos elemszámú tömbről eldönti, hogy az azonos indexű elemeik mind megegyeznek-e: Az egyik tomb: A masik tomb: A ket tomb megegyezik Az egyik tomb: A masik tomb: A ket tomb nem egyezik meg Az egyik tomb:

35 3.2. FELADATOK 35 A masik tomb: A ket tomb nem egyezik meg feladat Írjon programot, amely két azonos elemszámú tömb esetén megszámolja, hogy mennyi azonos indexű elemük egyezik meg: Az egyik tomb: A masik tomb: elem egyezik meg feladat Írjon programot, amely eldönti, hogy egy adott A és B tömb eseten az A tömb elemei mind benne vannak-e B tömbben úgy, hogy az elemek sorrendje bármilyen lehet a tömbökön belül. Az ismétlődő elemek azonosnak tekinthetők: A tomb: B tomb: A tomb elemei nincsenek benne mind a B-ben B tomb elemei mind benne vannak az A-ban feladat Írjon programot, amely kiszámolja egy tömb elemeinek átlagát, szórását, a legnagyobb és legkisebb elem különbségét: A tomb elemei: Atlag: 12.6 Szoras: Legnagyobb es legkisebb elem kulonbsege: feladat Írjon programot, amely meghatározza egy tömb leggyakoribb elemeit: A tomb elemei: A tomb leggyakoribb elemei: 6 A tomb elemei: A tomb leggyakoribb elemei: 2 6

36 36 3. Vezérlési szerkezetek

37 4. fejezet Függvények 4.1. Függvényhívások Az alábbiakban ismertetjük, hogy a C programok függvényhívásai milyen mechanizmus szerint játszódnak le. Ennek ismerete azért szükséges, hogy értsük azt, hogy a függvények paraméterei, lokális változói hová kerülnek, hogy kezeli azokat a program. Továbbá, ezen információk birtokában bizonyos végzetes hibák elkerülésére is tudatosan felkészülhetünk. Kezdetben vizsgáljuk meg az alábbi programot: 1 #include <s t d i o. h> 2 3 void fv ( ) { 4 p r i n t f ( fv \n ) ; 5 } 6 7 int main ( ) { 8 p r i n t f ( main\n ) ; 9 fv ( ) ; 10 return 0 ; 11 } A program a main függvény első utasításával indul (8-as sor). Amint elérkezik az fv() sorhoz, a vezérlés átugrik az fv függvény első sorára (4- es sor). Miután az fv függvény utolsó utasítása is végrehajtódott, a vezérlés visszalép a main függvénybe, mégpedig oda, ahol annak a futása megszakadt (9-es sor). A kérdés az, hogy a program honnan tudja, hogy az fv függvény befejezése után a main függvénybe kell visszalépni, mégpedig a kód 9. sorára? Először arra gondolhatunk, hogy a C fordító biztos olyan gépi kódot fordított a forráskódból, hogy a vezérlés az fv utolsó sora után mindig a main függvény megfelelő sorába ugorjon. Ám tekintsük meg a következő programot: 37

38 38 4. Függvények 1 #include <s t d i o. h> 2 3 void fv1 ( ) { 4 p r i n t f ( fv1 \n ) ; 5 } 6 7 void fv2 ( ) { 8 p r i n t f ( fv2 \n ) ; 9 fv1 ( ) ; 10 p r i n t f ( fv1 hivas utan, de az fv2 ben\n ) ; 11 } int main ( ) { 14 p r i n t f ( main\n ) ; 15 fv2 ( ) ; 16 p r i n t f ( fv2 hivas utan, de a main ben\n ) ; 17 fv1 ( ) ; 18 p r i n t f ( fv1 hivas utan, de a main ben\n ) ; 19 return 0 ; 20 } Ennek a programnak a kimenete a következő: main fv2 fv1 fv1 hivas utan, de az fv2-ben fv2 hivas utan, de a main-ben fv1 fv1 hivas utan, de a main-ben Tehát először meghívjuk az fv2 függvényt, az pedig meghívja az fv1-et. Az fv1 végrehajtása után a program újra az fv2-ben folytatódik, mégpedig a forráskód 10. sorában. Viszont az fv1-et külön meghívjuk a main-ből is, ekkor viszont az fv1 lefutása után már a forráskód 18. sorában folytatódik a végrehajtás. Nem igaz tehát, hogy a fordító beégeti, hogy egy függvény végrehajtása után hol kell folytatódnia a vezérlésnek. Tehát valami módon meg kell jegyezni, hogy egy függvényhívás végrehajtása után hol kell folytatódnia a programnak. Erre használhatunk egy listát, amire minden függvényhívás előtt feljegyezzük, hogy ha végrehajtottuk a függvényt, akkor hol kell folytatódnia a programnak. Erre a listára írjuk fel a forráskód megfelelő sorainak a számát! Lássuk, hogy működik ez az előző program esetében: Kezdetben a vezérlés a kód 14. során áll. Miután ezt végrehajtottuk, rátérünk a következő utasításra, ami egy függvényhívás (tulajdonképpen az előző sor is az volt, de erre még visszatérünk). A 15. sor szerint el kell indítani az fv2 függvényt. Ezen a ponton tudjuk, hogy ha ez a függvény lefutott, akkor a 16. sorban kell folytatni a programot. Ezért feljegyezzük a 16. sort:

39 4.1. FÜGGVÉNYHÍVÁSOK sor Elindítjuk hát az fv2 függvényt, ráugrunk a 8. sorra. Ezt végrehajtjuk, majd következik a 9. sor, ahol meghívjuk az fv1 függvényt. Itt tudjuk, hogy az fv1 végrehajtása után a kód 10. sorában kell folytatni a végrehajtást, ezért ezt is felírjuk a listánkra: 10. sor 16. sor Átugrunk a kód 4. sorára, végrehajtjuk, majd ezzel befejeztük az fv1 függvényt. Ekkor megnézzük, hogy melyik a legutolsó sorszám a listánkon. Jelen esetben ez a 10. sor, ezért ide ugrunk, majd a legutóbbi bejegyzést töröljük a listáról: 16. sor Miután végeztünk a 10. sorral is, befejezzük az fv2 végrehajtását, ezért újra megnézzük, hogy melyik a legutolsó sorszám a listán. Ez a 16. sor, tehát ide ugrunk, és ezt a bejegyzést is töröljük a listáról: A 16. sor után jön a 17. ami egy újabb függvényhívás, itt most az fv1-et kell elindítani. Tudjuk, hogy miután végeztünk ezzel a függvénnyel, a kód 18. sorában kell majd folytatni a programot, ezért ezt a sorszámot felírjuk a listára:

40 40 4. Függvények 18. sor Így, miután az fv1 lefutott, megnézzük a lista legutolsó bejegyzését, ez a 18. sor. Ugrunk a 18. sorra, majd töröljük a listát. A C programokban (és szinte minden más nyelven írt programokban is) használnak ilyen listát a függvényhívások vezérlésére. Az ilyen listákat szakszóval veremnek, vagy angolul stack-nek hívjuk. A továbbiakban a verem szót fogjuk használni. A verem bizonyos elemeket, jelen esetben számokat tárol. A verem teteje mindig az a pozíció, ahová a legutolsó elemet beszúrtuk, és új elem hozzáadásakor csak a verem tetejére pakolhatunk. Azaz, amit utoljára beszúrtunk, azt vehetjük ki elsőnek (last in, first out, azaz LIFO elv). Azt az értéket, ami jelzi, hogy az aktuális függvény végrehajtása után melyik utasításon kell folytatni a programot, visszatérési címnek nevezzük. A cím szó onnan ered, hogy a program utasításai annak végrehajtásakor a memóriában találhatóak, így minden utasítás más és más memória címen helyezkedik el, a verembe pedig ilyen címeket szúrunk be. A verem azonban nem csak visszatérési címek tárolására alkalmas. Tekintsük az alábbi programot: 1 #include <s t d i o. h> 2 3 void fv ( int p1, int p2 ) { 4 int l = 0 ; 5 l = p1 + p2 ; 6 p1 = 1 0 ; 7 p r i n t f ( %d\n, l ) ; 8 } 9 10 int main ( ) { 11 int a = 2, b = 5 ; 12 fv ( a, b ) ; 13 return 0 ; 14 } Ez a program tartalmaz változókat is. A main függvényben vannak az a, b, az fv-ben pedig a p1, p2 és l változók. A main függvényből nem láthatjuk az fv-ben lévő változókat, mivel ezek lokális változók: Ha a main-ben hivatkoznánk a p1-re, akkor a fordító hibajelzés után leállna. Hasonlóan, az fv-ből sem láthatóak a main változói. Amennyiben a main-ben létrehozunk egy p1 nevű változót, az semmilyen zavart nem fog okozni az fv működésében, mivel itt kettő, egymástól teljesen elkülönülő p1 változó létezne a programban. Ez azért hasznos, mert egy nagyobb programban, ahol akár több ezer függvény is lehet, nem kell arra ügyelni, hogy mikor melyik függvényben milyen változó neveket használunk. Ellenkező esetben nagyobb programok fejlesztése hamar gyötrelmes tortúrává válna.

41 4.1. FÜGGVÉNYHÍVÁSOK 41 Ezek a lokális változók szintén a veremben helyezkednek el. A következőben bemutatjuk, hogy hogyan fut le a fenti program, mégpedig úgy, hogy a verem tartalmának változását is nyomon követjük. Mint minden C program, ez is a main függvénnyel kezdődik. Itt létrejön az a és b változó, így azokat belerakjuk a verembe: b = 5 a = 2 A következő lépésben meghívjuk az fv függvényt. Előtte azonban jegyezzük fel, hogy annak lefutása után a 13. sorban kell folytatni a végrehajtást, ezért ezt jegyezzük fel a veremben: 13. sor b = 5 a = 2 Az fv függvénynek vannak paraméterei is: Az a és b értékét átadjuk az fv-nek, hogy azokat felhasználhassa a futása során. A paraméterek értékeit szintén a verembe szúrjuk be, először a b, majd az a értékét: sor b = 5 a = 2 Ezek után a vezérlés átugrik az fv függvényre. A függvény tudja, hogy neki 2 paramétere van, és ismeri azok típusait is. Azt is tudja, hogy ha neki 2 paramétere van, akkor azok a verem tetején találhatóak meg, ezért a p1-et és a p2-t megfelelteti a verem tetején lévő értékeknek: p1 = 2 p2 = sor b = 5 a = 2

42 42 4. Függvények A következő lépés a függvény végrehajtása. Az első utasítás szerint létre kell hozni még egy lokális változót, az l-t, tehát ezt is beszúrjuk a verembe: l = 0 p1 = 2 p2 = sor b = 5 a = 2 Az 5. sor értelmében az l értékét megváltoztatjuk, tehát a verem első sorában tárolt érték megváltozik: l = 7 p1 = 2 p2 = sor b = 5 a = 2 A 6. sor hatására a p1 értékét változtatjuk meg: l = 7 p1 = 10 p2 = sor b = 5 a = 2 Itt jól látszik, hogy a p1 és a változók semmilyen kapcsolatban nem állnak egymással, a eredeti értéke változatlan marad. A 7. sor elvégzése után az fv-t befejezzük, a függvény lokális változóira a továbbiakban nincs szükség, ezért azok megsemmisülnek: 13. sor b = 5 a = 2 Mivel a függvény végrehajtását befejezzük, ezért vissza kell térni a main függvénybe, ezért kiolvassuk a veremből, hogy hányadik kódsornál kell folytatni a programot. Ez a 13. sor, tehát ide ugrunk, és a visszatérési címet töröljük a veremből:

43 4.2. REKURZIÓ 43 b = 5 a = 2 Természetesen a fenti programban a printf is egy függvény, tehát annak meghívásakor a fenti mechanizmus játszódik le, tehát a verembe újabb visszatérési cím és újabb lokális változók kerülnek, ám a printf lefutása után ezek törlődnek is a veremből úgy, ahogy az fv esetében azt láttuk. Ám a verem használatának köszönhetően ez egyáltalán nem fogja megzavarni a programunk működését, hiszen így a printf úgy fut le, hogy utána a vermen nem látunk változást. A fenti forráskód 12. sorában látható függvény paramétereket aktuális paramétereknek, míg a 3. sorban lévő paraméter listát formális paramétereknek hívjuk. A formális paraméterek a példaprogram 12. sorában kapták meg konkrét értékeiket az aktuális paraméterektől. Kicsit mélyebben Aki járatos a verem működésében és az assembly programozásban, most bizonyára azt mondja, hogy a verem működésének fenti ismertetése pontatlan, nem minden ilyen sorrendben zajlik le. Ez teljesen igaz, a fenti leírásban azért nem követtük a valóságot teljes szigorúsággal, hogy az ismertetett működési mechanizmust könnyebben bemutathassuk, és az Olvasó könnyebben megértse a lényeget. Az alábbiakban a teljesség kedvéért leírjuk a fenti mechanizmus valódi működését a 32 bites Intel processzorok esetében, majd utána kitérünk arra, hogy a 64 bites processzorok működése mennyiben tér el ettől. TODO: ezt a részt befejezni Rekurzió 4.3. Feladatok

44 44 4. Függvények

45 5. fejezet Mutatók A következő feladatokat úgy oldja meg, hogy az alábbi programot egészítse ki: 1 #include <s t d i o. h> 2 #include <s t d l i b. h> 3 4 int main ( ) { 5 int a = 1, b = 2, c = 3 ; 6 7 return 0 ; 8 } feladat Írassa ki az a, b és c változók címeit: Az a cime: 0xbfc56a08 A b cime: 0xbfc56a04 A c cime: 0xbfc56a feladat Tárolja el az a változó címét egy külön pa nevű változóban: A pa erteke: 0xbfc56a feladat Változtassa meg az a változó értékét a pa változón keresztül: Az a erteke a valtoztatas elott: 1 Az a erteke a valtoztatas utan: feladat Tárolja el a pa címét is egy ppa nevű változóban: A ppa erteke, azaz pa cime: 0xbfc569fc 45

46 46 5. Mutatók feladat Változtassa meg az a változó értékét a ppa változón keresztül: Az a erteke a valtoztatas elott: 10 Az a erteke a valtoztatas utan: feladat A ppa-n keresztül állítsa át a pa változót úgy, hogy b-re mutasson: A A pa erteke a valtoztatas elott: 0xbfc56a08 A pa erteke a valtoztatas utan: 0xbfc56a04 A b cime: 0xbfc56a feladat A ppa-n keresztül változtassa meg b értékét: A b erteke a valtoztatas elott: 2 A b erteke a valtoztatas utan: feladat Foglaljon le dinamikusan egy 10 elemű int tömböt! feladat Szabadítsa fel az előbb lefoglalt tömböt! feladat Lefoglalás után töltse fel a tömböt értékekkel! feladat A lefoglalást, felszabadítást és feltöltést tegye külön függvénybe, de úgy, hogy a függvények visszatérési típusa void legyen! feladat Rendezze a lefoglalt és feltöltött tömb elemeit növekvő sorrendbe! feladat Írjon függvényt, amely az előbbi tömbből kigyűjti a páros számokat egy másik dinamikus tömbbe. Csak akkora legyen az új tömb, amennyi páros szám van az elsőben! feladat Foglaljon le két dinamikus tömböt, töltse fel őket, majd hozzon létre egy harmadik dinamikus tömböt, és az tartalmazza a két előző tömb elemeit! Csak akkora legyen a harmadik tömb, amekkora szükséges! feladat Az előző programot írja át úgy, hogy a harmadik tömb egyszer tartalmazzon minden elemet, és továbbra is akkora legyen a tömb, amennyi elem kerül bele! feladat Az előző programot bővítse ki úgy, hogy az elemek rendezve kerüljenek a harmadik tömbbe! feladat Írjon programot, amely n db dinamikus tömböt tárol, az első tömb 2, a második 4, azaz az i. tömb 2*i darab elemet tartalmazzon! Töltse is fel a tömböket!

47 feladat Az előző programot módosítsa úgy, hogy a lefoglalás, feltöltés és felszabadítás külön void visszatérési típusú függvényekkel történjen! feladat Írjon programot, amely dinamikusan létrehoz egy n*m-es mátrixot, föltölti értékekkel, kiírja és felszabadítja feladat Az előző programot módosítsa úgy, hogy a lefoglalás, feltöltés és felszabadítás külön void visszatérési típusú függvényekkel történjen! feladat Írjon programot, amely létrehoz kettő n méretű vektort, és összeadja őket, az eredmény egy újabb n méretű vektorba kerül feladat Írjon programot, amely létrehoz kettő n méretű vektort, és skalárisan összeszorozza őket feladat Írjon programot, amely létrehoz egy n*m-es dinamikus mátrixot, és egy m elemű oszlopvektort, feltölti őket, majd összeszorozza a mátrixot és a vektort. Az eredményt egy külön dinamikus vektorba írja, majd az eredményt jelenítse meg a képernyőn feladat Írjon programot, amely egy n*m és egy m*k méretű dinamikus mátrixot hoz létre, feltölti őket értékekkel, majd összeszorozza a két mátrixot. Az eredmény egy új, dinamikusan létrehozott mátrixba kerüljön feladat Írjon programot, amely egy n*n-es mátrixot hoz létre dinamikusan, majd létrehoz ebből egy (n-1)*(n-1)-es mátrixot, amely ugyanaz, mint az eredeti mátrix, de az i. sor és j. oszlop nélkül. Az i és j értékét billentyűzetről kérje be a program feladat Írjon programot, amely egy dinamikusan létrehozott n*m-es mátrix transzponáltját hozza létre, az eredmény mátrix is dinamikusan legyen létrehozva feladat Írjon programot, amely 2 n*m-es, dinamikusan létrehozott mátrix összegeit számolja ki, az eredmény mátrix is dinamikusan legyen létrehozva feladat Írjon függvényt, amely egy 2*2-es mátrix determinánsát számolja ki feladat Írjon programot, amely kiszámolja egy dinamikusan létrehozott n*n-es mátrix adjungált mátrixát (a feladathoz érdemes felhasználni az előző feladatok megoldásait), az eredmény egy ujabb dinamikus mátrixba kerüljön feladat Írjon programot, amely, ha lehetséges, kiszámolja egy dinamikusan létrehozott n*n-es mátrix inverzét, és az eredmény egy újabb dinamikus mátrixba kerüljön. A program ezek után ellenőrizze le a számolás helyességét, azaz vizsgálja meg, hogy az eredeti és az inverz szorzata valóban egységmátrixot ad-e.

48 48 5. Mutatók feladat Írjon programot, létrehoz egy 3 dimenziós, feltölti értékekkel, majd felszabadítja feladat Az előző programot módosítsa úgy, hogy a lefoglalás, feltöltés és felszabadítás külön void visszatérési típusú függvényekkel történjen! feladat Az előző programot bővítse ki úgy, hogy a program keresse meg a legkisebb elemét, és írassa ki annak indexét. Amennyiben ez az elem többször fordul elő, akkor elég csak az elsőt megkeresni feladat Az előző programot bővítse ki úgy, hogy a program keresse meg a legkisebb elemet, és számolja meg, hogy mennyi ilyen elem van, és ezt írassa ki a képernyőre feladat Bővítse ki az előző programot úgy, hogy a legkisebb elemek indexeit gyűjtse ki egy 3*n méretű dinamikus tömbbe, ahol n a legkisebb elemek mennyisége. * feladat Írjon programot, amely dinamikusan egy tetszőleges dimenzió számú tömböt hoz létre, feltölti értékekkel, megjeleníti a képernyőn, majd felszabadítja. A program olvassa be billentyűzetről a dimenziók számát, majd a dimenziók méreteit. Az alábbi feladatok megoldásához ne használja a string.h header fájlt! feladat Írjon programot, amely dinamikusan létrehoz, majd feltölt két stringet, kiírja, majd felszabadítja őket feladat Az előző programot bővítse ki úgy, hogy az egyik stringről készítsen másolatot, a másolat szintén egy dinamikusan létrehozott karaktertömb legyen feladat Az előző programot bővítse ki úgy, hogy a két stringet összefűzi, az eredményt egy harmadik, dinamikusan lefoglalt stringbe teszi feladat Írjon függvényt, amely két dinamikusan létrehozott stringről megállapítja, hogy egyenlőek-e feladat Írjon függvényt, amely két dinamikusan létrehozott stringről megállapítja, hogy melyik van előrébb az ABC-ben, a stringek csak az angol ABC kisbetűit tartalmazzák feladat Írjon függvényt, amely két dinamikusan létrehozott stringről megállapítja, hogy melyik van előrébb az ABC-ben, a stringek csak az angol ABC kis- és nagybetűit tartalmazzák, az egyes betűk kis és nagybetűs változatai azonosnak tekinthetőek, azaz az alma szó egyenrangú az AlMa szóval feladat Írjon függvényt, amely kap egy stringet, és egy i egész számot. A függvény megkeresi az i. szót a kapott stringben, lefoglal egy új dinamikus karaktertömböt, és abba kiírja a kert szót, majd visszatér az új stringgel. Ha nem létezik az i. szó, akkor a függvény NULL-al tér vissza.

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

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki. Számítás:. Olvassuk be két pont koordinátáit: (, y) és (2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki. 2. Olvassuk be két darab két dimenziós vektor komponenseit: (a, ay) és (b, by). Határozzuk

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

Programozási segédlet

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

Részletesebben

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

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

Programozás I. házi feladat

Programozás I. házi feladat Programozás I. házi feladat 2013. 6. hét, 1. rész A feladatsor 4 feladatot tartalmaz, amelyeket egy közös forráskódban kell megvalósítani. Annak érdekében, hogy a tesztelő egymástól függetlenül tudja tesztelni

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 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

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

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2017 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. Alapok. Programozás II

1. Alapok. Programozás II 1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph

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 az 1. nagy zárthelyire

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

Részletesebben

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

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

7/8. gyakorlat Karaktertömbök és sztringkezelés

7/8. gyakorlat Karaktertömbök és sztringkezelés 7/8. gyakorlat Karaktertömbök és sztringkezelés 1. feladat: Karaktertömb kezelése Egy beolvasott karaktert lineáris kereső eljárással keressen meg az angol ábécében (az ábécé betűit tárolja inicializált

Részletesebben

10. gyakorlat Tömb, mint függvény argumentum

10. gyakorlat Tömb, mint függvény argumentum 10. gyakorlat Tömb, mint függvény argumentum 1. feladat: A 6. gyakorlat 1. feladatát oldja meg a strukturált programtervezési alapelv betartásával, azaz minden végrehajtandó funkciót külön függvényben

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

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

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

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

Programozás I. - 11. gyakorlat

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

Részletesebben

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

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

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

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

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió BME MOGI Gépészeti informatika 3. 1. feladat Végezze el a következő feladatokat! Kérjen be számokat 0 végjelig, és határozza meg az átlagukat! A feladat megoldásához írja meg a következő metódusokat! a.

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

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

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

10. gyakorlat Struktúrák, uniók, típusdefiníciók

10. gyakorlat Struktúrák, uniók, típusdefiníciók 10. gyakorlat Struktúrák, uniók, típusdefiníciók Házi - (f0218) Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd

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

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

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a

Részletesebben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

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

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

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

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism) Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

5. gyakorlat. Konstansok Tömbök Stringek

5. gyakorlat. Konstansok Tömbök Stringek 5. gyakorlat Konstansok Tömbök Stringek Konstansok A C nyelvben a konstansok preprocesszor makrókkal vannak megvalósítva. Konstansdefiniálás alakja: #define NÉV érték Az érték bármi lehet, később a fordítás

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

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

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

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

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

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

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása 1. feladat: Eldönteni egy számról, hogy pozitív, negatív vagy 0. Próbálja megoldani a feladatot switch szerkezettel is. Mikor használható

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

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

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

Részletesebben

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v

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

Rekurzív algoritmusok

Rekurzív algoritmusok Rekurzív algoritmusok 11. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. november 14. Sergyán (OE NIK) AAO 11 2011. november 14. 1 / 32 Rekurzív

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

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év). 1. fejezet AWK 1.1. Szűrési feladatok 1. Készítsen awk szkriptet, ami kiírja egy állomány leghosszabb szavát. 2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét,

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

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek

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

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

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

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

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

ELEMI PROGRAMOZÁSI TÉTELEK

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

Részletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. 11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;

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

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

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések

Részletesebben

Alkalmazott modul: Programozás

Alkalmazott modul: Programozás Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Feladatgyűjtemény Összeállította: Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Frissítve: 2015.

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

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

Adatbázis rendszerek Gy: Algoritmusok C-ben

Adatbázis rendszerek Gy: Algoritmusok C-ben Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés

Részletesebben

BME MOGI Gépészeti informatika 5.

BME MOGI Gépészeti informatika 5. BME MOGI Gépészeti informatika 5. 1. feladat Készítsen alkalmazást, mely feltölt egy egydimenziós tömböt adott tartományba eső, véletlenszerűen generált egész értékekkel! Határozza meg a legkisebb és a

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

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

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Programozás alapjai 2.Gy: A C nyelv alapjai P R O Programozás alapjai 2.Gy: A C nyelv alapjai. P R O A L A G 1/32 B ITv: MAN 2018.10.02 Code::Blocks Indítsa el mindenki! 2/32 1 Code::Blocks Új projekt 2 3 4 5 3/32 Code::Blocks Forráskód Kód fordítása:

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

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória Oktatási Hivatal A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai 1. feladat: Repülők (20 pont) INFORMATIKA II. (programozás) kategória Ismerünk városok közötti repülőjáratokat.

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

7. gyakorlat Sorozatok, Fájlkezelés

7. gyakorlat Sorozatok, Fájlkezelés 7. gyakorlat Sorozatok, Fájlkezelés Házi ellenőrzés - f0124 Írj programot, amelyben a felhasználónak egy, a program által meghatározott számot kell kitalálnia! A felhasználó tippjét a program vagy elfogadja,

Részletesebben

Programozás I. zárthelyi dolgozat

Programozás I. zárthelyi dolgozat Programozás I. zárthelyi dolgozat 2013. november 11. 2-es szint: Laptopot szeretnénk vásárolni, ezért írunk egy programot, amelynek megadjuk a lehetséges laptopok adatait. A laptopok árát, memória méretét

Részletesebben

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

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

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

Egyszerű programozási tételek

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

Részletesebben

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

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

Részletesebben

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

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. 7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,

Részletesebben

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ; 1. Írjunk programot, amely függvény alkalmazásával meghatározza n a értékét, (a az n-edik gyök alatt), az általunk megadott pontossággal, iterációval. Az iteráció képlete a következő: ahol : n-1 x uj =

Részletesebben

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #! BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA #A script bekér egy nevet és egy kort, majd kiírja a képernyőre echo -n "Adja meg a nevét: " read NEV echo -n "Adja meg az életkorát: " read KOR echo "Az Ön neve: $NEV, kora:

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

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

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot

Részletesebben

Tájékoztató. Használható segédeszköz: -

Tájékoztató. Használható segédeszköz: - A 12/2013. (III. 29.) NFM rendelet szakmai és vizsgakövetelménye alapján. Szakképesítés, azonosítószáma és megnevezése 54 481 06 Informatikai rendszerüzemeltető Tájékoztató A vizsgázó az első lapra írja

Részletesebben

Gyakorló feladatok. Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.)

Gyakorló feladatok. Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.) Gyakorló feladatok Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.) 1. Adott egy pozitív egész számokból álló tömb. Hozzunk létre egy másik tömböt,

Részletesebben

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Programozás alapjai 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Háziellenőrzés Egészítsd ki úgy a simplemaths.c programot, hogy megfelelően működjön. A program feladata az inputon soronként megadott

Részletesebben

Programozas 1. Strukturak, mutatok

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

Részletesebben

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

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

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

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó 7. gyakorlat Fájlkezelés IO haladó Függvények haladó Fájlkezelés A C-ben a fájlkezelés ún. fájlstream-eken keresztül történik, melyek puffereltek ha valamit a streamre küldünk, nem biztos, hogy rögtön

Részletesebben