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

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

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

Átírás

1 IMPERATÍV PROGRAMOZÁS Bánsághi Anna 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68

2 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma Procedurális paradigma Generikus paradigma III. STRUKTÚRÁLT PROGRAMOZÁS Moduláris paradigma Objektumorientált paradigma 2014 Bánsághi Anna 2 of 68

3 II. IMPERATÍV PROGRAMOZÁS IMPERATÍV PARADIGMA 1. Jelkészlet 2. Lexikális elemek 3. Utasítások, vezérlési szerkezetek 4. Elemi és összetett típusok 5. Programozási tételek 6. Adatfolyamok kezelése 2014 Bánsághi Anna 3 of 68

4 5. PROGRAMOZÁSI TÉTELEK általánosságban megfogalmazott algoritmusok, kicsit átalakítjuk a konkrét feladatunkhoz tételek, mert formálisan bizonyítható a helyességük 2014 Bánsághi Anna 4 of 68

5 FELADATOSZTÁLYOK CSOPORTOSÍTÁSA egy bemeneti sorozathoz egyetlen értéket rendel egy bemeneti sorozathoz egy kimeneti sorozatot rendel egy bemeneti sorozathoz több kimeneti sorozatot rendel több bemeneti sorozathoz egy kimeneti sorozatot rendel egy bemeneti sorozat rendezése 2014 Bánsághi Anna 5 of 68

6 EGY BEMENETI SOROZATHOZ EGYETLEN ÉRTÉKET 2014 Bánsághi Anna 6 of 68

7 ÖSSZEGZÉS - FELADAT adjuk meg n darab tetszőleges természetes szám összegét adjuk meg az első n természetes szám szorzatát (n!) adjuk meg n darab tetszőleges szám átlagát fűzzünk össze n darab karaktert egy szöveg típusú változóba 2014 Bánsághi Anna 7 of 68

8 bemenet, kimenet ÖSSZEGZÉS - SPECIFIKÁCIÓ x : T n F : T y : T T n előfeltétel n 0, y 0 : T neutrális elem T -ben és hogy f : T T T F( x 1,, x n ) = f(f( x 1,, x n 1 ), x n ) utófeltétel y = F( x 1,, x n ) 2014 Bánsághi Anna 8 of 68

9 ÖSSZEGZÉS - ALGORITMUS y = y 0 ciklus i = 1-től n-ig y = f(y, x ) ciklus vége i 2014 Bánsághi Anna 9 of 68

10 ÖSSZEGZÉS - FORRÁSKÓD adjuk meg n darab tetszőleges természetes szám összegét public static void Main() { int[] x = new int[] { 1, 3, 6, 10, 15 ; int y = 0; foreach( int i in x ) { y += i; Console.WriteLine( y ); 2014 Bánsághi Anna 10 of 68

11 SZÁMLÁLÁS - FELADAT számoljuk meg, hogy egy számnak hány osztója van adjuk meg, hogy egy bitsorozat hányszor vesz fel 1-es értéket adjuk meg egy szöveg magánhangzóinak számát számoljuk meg, hogy hány e betű van egy szövegben 2014 Bánsághi Anna 11 of 68

12 SZÁMLÁLÁS - SPECIFIKÁCIÓ bemenet, kimenet előfeltétel utófeltétel x : T n darab : T n 0 F : T L darab = F( ) n i=1 F( )=igaz x i x i 2014 Bánsághi Anna 12 of 68

13 SZÁMLÁLÁS - ALGORITMUS darab = 0 ciklus i = 1-től n-ig ha F(x ) akkor darab += 1 elágazás vége ciklus vége i 2014 Bánsághi Anna 13 of 68

14 SZÁMLÁLÁS - FORRÁSKÓD adjuk meg, hogy egy bitsorozat hányszor vesz fel 1-es értéket public static void Main() { string s = " "; int darab = 0; foreach( char c in s ) { if( '1' == c ) { darab += 1; Console.WriteLine( darab ); 2014 Bánsághi Anna 14 of 68

15 SZÉLSŐÉRTÉK KIVÁLASZTÁS - FELADAT adjuk meg n darab tetszőleges természetes szám minimális / maximális elemét adjuk meg n darab tetszőleges karakter közül az ábécé szerinti elsőt / utolsót adjuk meg n darab tetszőleges karakterlánc közül az ábécé szerinti elsőt / utolsót 2014 Bánsághi Anna 15 of 68

16 MAXIMUM KIVÁLASZTÁS - SPECIFIKÁCIÓ bemenet, elemei rendezhetők (< > összehasonlítások megengedett műveletek) kimenet előfeltétel utófeltétel x : T n T maximum : T n 1 x i x : maximum x i 2014 Bánsághi Anna 16 of 68

17 MAXIMUM KIVÁLASZTÁS - ALGORITMUS maximum = x ciklus i = 2-től n-ig ha maximum < x maximum = x elágazás vége ciklus vége 1 i i akkor 2014 Bánsághi Anna 17 of 68

18 MAXIMUM KIVÁLASZTÁS - FORRÁSKÓD adjuk meg n darab tetszőleges sztring közül az ábécé szerinti utolsót public static void Main() { string[] szavak = new string[] { "eper", "körte", "alma" ; string maximum = szavak[0]; for( int i = 1; i < szavak.length; ++i ) { if( String.Compare( maximum, szavak[i] ) < 0 ) { maximum = szavak[i]; Console.WriteLine( maximum ); 2014 Bánsághi Anna 18 of 68

19 FELTÉTELES SZÉLSŐÉRTÉK KIVÁLASZTÁS - FELADAT adjuk meg n darab tetszőleges természetes szám minimális / maximális elemét azon elemek közül, melyekre teljesül egy bizonyos feltétel 2014 Bánsághi Anna 19 of 68

20 FELTÉTELES MAXIMUM KIVÁLASZTÁS - SPECIFIKÁ CIÓ bemenet,, elemei rendezhetők (< > összehasonlítások megengedett műveletek) kimenet előfeltétel utófeltétel x : T n maximum : T n 0 F : T L T x i x, F( x i ) = igaz : maximum x i 2014 Bánsághi Anna 20 of 68

21 FELTÉTELES MAXIMUM KIVÁLASZTÁS - ALGORITMUS teljesül = hamis ciklus i = 1-től n-ig ha nem F(x ) akkor continue i ha teljesül akkor ha maximum < x maximum = x elágazás vége különben teljesül = igaz maximum = x elágazás vége ciklus vége i i i akkor 2014 Bánsághi Anna 21 of 68

22 FELTÉTELES MAXIMUM KIVÁLASZTÁS - FORRÁSKÓD adjuk meg n darab tetszőleges sztring közül azt, amelyik e betűvel kezdődik, és első az e betűvel kezdődők között public static void Main() { string[] szavak = new string[] { "eper", "körte", "egres", "alma" ; string maximum = ""; bool teljesul = false; foreach( string szo in szavak ) { if(! szo.startswith("e")) continue; if( teljesul ) { if( String.Compare( maximum, szo ) > 0 ) { maximum = szo; else { teljesul = true; maximum = szo; Console.WriteLine( maximum ); 2014 Bánsághi Anna 22 of 68

23 ELDÖNTÉS (LÉTEZIK) - FELADAT döntsük el egy számról, hogy prím-e döntsük el n tetszőleges számról, hogy van-e köztük páros döntsük el n tetszőleges karakterláncról, hogy van-e köztük üres 2014 Bánsághi Anna 23 of 68

24 ELDÖNTÉS (LÉTEZIK) - SPECIFIKÁCIÓ bemenet, kimenet előfeltétel utófeltétel x : T n létezik : L n 0 F : T L létezik = ( i [1..n] : F( x i ) = igaz) 2014 Bánsághi Anna 24 of 68

25 ELDÖNTÉS (LÉTEZIK) - ALGORITMUS i = 1 ciklus amíg i n és nem F(x ) ++i ciklus vége létezik = (i n) i 2014 Bánsághi Anna 25 of 68

26 ELDÖNTÉS (LÉTEZIK) - FORRÁSKÓD döntsük el n tetszőleges számról, hogy van-e köztük páros public static void Main() { int[] szamok = new int[] { 1, 2, 3, 4 ; int i = 0; while( i < szamok.length && szamok[i] % 2!= 0 ) { ++i; bool letezik = (i < szamok.length ); Console.WriteLine( letezik ); 2014 Bánsághi Anna 26 of 68

27 ELDÖNTÉS (MINDEGYIK) - FELADAT döntsük el n tetszőleges számról, hogy mind páros-e döntsük el n tetszőleges számról, hogy monoton növekedő sorrendben vannak-e döntsük el egy tetszőleges karaktersorozatról, hogy ábécé sorrendbe rendezett-e 2014 Bánsághi Anna 27 of 68

28 ELDÖNTÉS (MINDEGYIK) - SPECIFIKÁCIÓ bemenet, kimenet előfeltétel utófeltétel x : T n F : T L mindegyik : L n 0 mindegyik = ( i [1..n] : F( x i ) = igaz) 2014 Bánsághi Anna 28 of 68

29 ELDÖNTÉS (MINDEGYIK) - ALGORITMUS i = 1 ciklus amíg i n és F(x ) ++i ciklus vége mindegyik = (i > n) i 2014 Bánsághi Anna 29 of 68

30 ELDÖNTÉS (MINDEGYIK) - FORRÁSKÓD döntsük el n tetszőleges számról, hogy mind páros-e public static void Main() { int[] szamok = new int[] { 1, 2, 3, 4 ; int i = 0; while( i < szamok.length && szamok[i] % 2 == 0 ) { ++i; bool mindegyik = (i >= szamok.length ); Console.WriteLine( mindegyik ); 2014 Bánsághi Anna 30 of 68

31 LINEÁRIS KERESÉS - FELADAT adjuk meg egy szám első valódi osztóját keressük ki n tetszőleges szám közül az első párosat keressük ki n tetszőleges karakterlánc közül az első üreset 2014 Bánsághi Anna 31 of 68

32 bemenet, LINEÁRIS KERESÉS - SPECIFIKÁCIÓ kimenet és előfeltétel x : T n F : T L létezik L index 0 n 0 utófeltétel létezik = ( i [1..n] : F( x i ) = igaz) és létezik (index [1..n] F( x index ) = igaz) 2014 Bánsághi Anna 32 of 68

33 LINEÁRIS KERESÉS - ALGORITMUS i = 1 ciklus amíg i n és nem F(x ) ++i ciklus vége létezik = (i n) i ha létezik akkor index = i 2014 Bánsághi Anna 33 of 68

34 LINEÁRIS KERESÉS - FORRÁSKÓD adjuk meg egy szám legkisebb valódi osztóját public static void Main() { int szam = 8; int oszto = 2; while( oszto < szam && szam % oszto!= 0 ) { ++oszto; bool letezik = (oszto < szam ); if( letezik ) { Console.WriteLine( oszto ); 2014 Bánsághi Anna 34 of 68

35 EGY BEMENETI SOROZATHOZ EGY KIMENETI SOROZATOT 2014 Bánsághi Anna 35 of 68

36 MÁSOLÁS - FELADAT adott egy karakterlánc, cseréljük le az összes magánhangzót e betűre tetszőleges tömb bizonyos tulajdonságú elemeit cseréljük le egy másik elemre 2014 Bánsághi Anna 36 of 68

37 MÁSOLÁS - SPECIFIKÁCIÓ bemenet, kimenet előfeltétel utófeltétel x : T n y : T n n 0 F : T T i [1..n] : y i = F( x i ) 2014 Bánsághi Anna 37 of 68

38 MÁSOLÁS - ALGORITMUS ciklus i = 1-től n-ig y = F(x ) i ciklus vége i 2014 Bánsághi Anna 38 of 68

39 MÁSOLÁS - FORRÁSKÓD adott egy karakterlánc sorozat, alakítsuk át nagybetűsre a szavakat public static void Main() { string[] nevek = new string[] { "Bence", "Brigi" ; for( int i = 0; i < nevek.length; ++i ) { nevek[i] = nevek[i].toupper(); foreach( string nev in nevek ) { Console.WriteLine( nev ); 2014 Bánsághi Anna 39 of 68

40 KIVÁLOGATÁS - FELADAT adott n tetszőleges szám, válogassuk ki a negatívakat adott egy karakterlánc, válogassuk ki a magánhangzókat tetszőleges tömb bizonyos tulajdonságú elemeit tegyük egy másik tömbbe 2014 Bánsághi Anna 40 of 68

41 bemenet, kimenet és előfeltétel KIVÁLOGATÁS - SPECIFIKÁCIÓ x : T n m 0 n 0 F : T L y : T m n utófeltétel m = (F( x i ) = igaz) és y x és i=1 j [1..m] : F( y j ) = igaz 2014 Bánsághi Anna 41 of 68

42 KIVÁLOGATÁS - ALGORITMUS m = 0 ciklus i = 1-től n-ig ha F(x ) akkor i ++m y = x m elágazás vége ciklus vége i 2014 Bánsághi Anna 42 of 68

43 KIVÁLOGATÁS - FORRÁSKÓD adott egy szó, válogassuk ki a magánhangzókat public static void Main() { const string maganhangzok = "aáeéiíoóöőuúüű"; string szo = "patakhíd"; string mghbetuk = ""; foreach( char betu in szo ) { if( maganhangzok.contains( Char.ToString( Char.ToLowerInvariant( betu )))) { mghbetuk += betu; Console.WriteLine( mghbetuk ); 2014 Bánsághi Anna 43 of 68

44 EGY BEMENETI SOROZATHOZ TÖBB KIMENETI SOROZATOT 2014 Bánsághi Anna 44 of 68

45 SZÉTVÁLOGATÁS - FELADAT adott n tetszőleges szám, válogassuk szét a párosakat és a páratlanokat adott n tetszőleges dátum, válogassuk szét ezeket a hét napjainak megfeleően tetszőleges tömb elemeit válogassuk szét valamely tulajdonság alapján 2014 Bánsághi Anna 45 of 68

46 bemenet, kimenet előfeltétel és SZÉTVÁLOGATÁS - SPECIFIKÁCIÓ x : T n F : T { u 1, u 2,, u s k [1..s] : m k 0, y k : T m k n 0 s 1 n utófeltétel k [1..s] : m k = (F( x i ) = u k ) és y k x és i=1 j [1.. m k ] : F( y j ) = u k 2014 Bánsághi Anna 46 of 68

47 SZÉTVÁLOGATÁS - ALGORITMUS m1, m2,..., ms = 0 ciklus i = 1-től n-ig szelekció F(x ) alapján eset u1 ++m1 eset u2... y1 = x ++m2 y2 = x eset us ++ms ys = x szelekció vége ciklus vége m_1 m_2 m_s i i i i 2014 Bánsághi Anna 47 of 68

48 bemenet, SZÉTVÁLOGATÁS - SPECIFIKÁCIÓ S = 2 kimenet és és előfeltétel x : T n F : T L m 1, m 2 0 y 1 : T m 1 y 2 : T m 2 n 0 n utófeltétel m 1 = (F( x i ) = igaz) és y 1 x és i=1 j 1 [1.. m 1 ] : F( y j1 n = igaz) és m 2 = ( F( x i ) = hamis) és y 2 x és i=1 j 2 [1.. m 2 ] : F( y j2 = hamis) 2014 Bánsághi Anna 48 of 68

49 SZÉTVÁLOGATÁS - ALGORITMUS S = 2 m1, m2 = 0 ciklus i = 1-től n-ig ha F(x ) akkor i ++m1 y1 = x m1 különben ++m2 y2 = x m2 elágazás vége ciklus vége i i 2014 Bánsághi Anna 49 of 68

50 TÖBB BEMENETI SOROZATHOZ EGY KIMENETI SOROZATOT 2014 Bánsághi Anna 50 of 68

51 METSZET - FELADAT adott két tetszőleges számsorozat, adjuk meg a közös elemeket adott két vagy több halmaz, adjuk meg a metszetüket 2014 Bánsághi Anna 51 of 68

52 bemenet METSZET - SPECIFIKÁCIÓ x k : T n k (k [1..s]) m 0 kimenet és y : T m előfeltétel és s 2 k [1..s] : 0 utófeltétel és n k m = x k j [1..m] : 1 k s y j 1 k s x k 2014 Bánsághi Anna 52 of 68

53 METSZET - ALGORITMUS S = 2 m = 0 ciklus i = 1-től n1-ig j = 1 ciklus amíg j n ++j ciklus vége ha j < n2 akkor ++m y = x m elágazás vége ciklus vége i és x1 x2 2 i j 2014 Bánsághi Anna 53 of 68

54 UNIÓ - FELADAT adott két vagy több halmaz, adjuk meg az egyesítésüket 2014 Bánsághi Anna 54 of 68

55 bemenet UNIÓ - SPECIFIKÁCIÓ x k : T n k (k [1..s]) m 0 kimenet és y : T m előfeltétel és s 2 k [1..s] : 0 utófeltétel és n k m = x k j [1..m] : 1 k s y j 1 k s x k 2014 Bánsághi Anna 55 of 68

56 UNIÓ - ALGORITMUS S = 2 y = x1 m = n1 ciklus j = 1-től n2-ig i = 1 ciklus amíg i n1 és x1 x2 ++i ciklus vége ha i > n1 akkor ++m y = y m elágazás vége ciklus vége j i j 2014 Bánsághi Anna 56 of 68

57 SOROZATOK RENDEZÉSE 2014 Bánsághi Anna 57 of 68

58 RENDEZÉS - FELADAT rendezzük sorba egy n elemű sorozat elemeit 2014 Bánsághi Anna 58 of 68

59 bemenet kimenet x : T n y : T n n 0 RENDEZÉS - SPECIFIKÁCIÓ T előfeltétel és elemei rendezhetők (< > összehasonlítások megengedett műveletek) y P ermutáció(x) utófeltétel és Rendezett(y) 2014 Bánsághi Anna 59 of 68

60 HATÉKONYSÁG több - hatékonyságában eltérő - rendezési algoritmus létezik az algoritmusok összehasonlíthatók tárigény (a rendezésben részt vevő tárolóhelyek száma), valamint végrehajtási idő (hasonlítások száma, mozgatások száma) szerint 2014 Bánsághi Anna 60 of 68

61 CSERÉS RENDEZÉS hasonlítsuk össze az első elemet a mögötte levő többi elemmel, és ha valamelyik kisebb nála, akkor cseréljük meg azzal ciklus i = 1-től n-1-ig ciklus j = i+1-től n-ig ha x > x akkor Csere( x, x ) ciklus vége ciklus vége i j i j 2014 Bánsághi Anna 61 of 68

62 CSERÉS RENDEZÉS rendezzük nagyság szerint növekedő sorba egy n elemű számsorozat elemeit public static void Main() { int[] szamok = new int[] { 3, 2, 5, 1, 3, 6, 4 ; int tmp; for( int i = 0; i < szamok.length-1; ++i ) { for( int j = i+1; j < szamok.length; ++j ) { if( szamok[i] > szamok[j] ) { tmp = szamok[i]; szamok[i] = szamok[j]; szamok[j] = tmp; 2014 Bánsághi Anna 62 of 68

63 MAXIMUM KIVÁLASZTÁSOS RENDEZÉS hasonlítsuk egymással a szomszédos elemeket, és ha a sorrendjük nem jó, akkor cseréljük meg őket ciklus i = n-től 2-ig -1-esével max = 1 ciklus j = 2-től i-ig ha x > x akkor max = j ciklus vége Csere( x, x ) ciklus vége max i max j Bánsághi Anna 63 of 68

64 MAXIMUM KIVÁLASZTÁSOS RENDEZÉS rendezzük nagyság szerint növekedő sorba egy n elemű számsorozat elemeit public static void Main() { int[] szamok = new int[] { 3, 2, 5, 1, 3, 6, 4 ; int tmp; for( int i = szamok.length-1; i > 0; --i ) { int max = 0; for( int j = 1; j <= i; ++j ) { if( szamok[max] < szamok[j] ) { max = j; tmp = szamok[i]; szamok[i] = szamok[max]; szamok[max] = tmp; 2014 Bánsághi Anna 64 of 68

65 NAÍV BUBORÉKOS RENDEZÉS hasonlítsuk össze az első elemet a mögötte levő többi elemmel, de azok közül csak a legkisebbel cseréljük meg ciklus i = n-től 2-ig -1-esével ciklus j = 1-től i-1-ig ha x > x akkor Csere( x, x ) ciklus vége ciklus vége j j+1 j j Bánsághi Anna 65 of 68

66 NAÍV BUBORÉKOS RENDEZÉS rendezzük nagyság szerint növekedő sorba egy n elemű számsorozat elemeit public static void Main() { int[] szamok = new int[] { 3, 2, 5, 1, 3, 6, 4 ; int tmp; for( int i = szamok.length-1; i > 0; --i ) { for( int j = 0; j < i; ++j ) { if( szamok[j] > szamok[j+1] ) { tmp = szamok[j]; szamok[j] = szamok[j+1]; szamok[j+1] = tmp; 2014 Bánsághi Anna 66 of 68

67 NAÍV BESZÚRÓ RENDEZÉS ha van egy rendezett részsorozatunk, akkor abba a nagyság szerinti helyére illesszük be a soron következő elemet ciklus i = 2-től n-ig j = i - 1 ciklus amíg j > 0 és x > x --j ciklus vége ciklus vége Csere( x, x ) j j+1 j j Bánsághi Anna 67 of 68

68 NAÍV BESZÚRÓ RENDEZÉS rendezzük nagyság szerint növekedő sorba egy n elemű számsorozat elemeit public static void Main() { int[] szamok = new int[] { 3, 2, 5, 1, 3, 6, 4 ; int tmp; int j; for( int i = 0; i < szamok.length-1; ++i ) { j = i; while( j >= 0 && szamok[j] > szamok[j+1] ) { tmp = szamok[j]; szamok[j] = szamok[j+1]; szamok[j+1] = tmp; --j; 2014 Bánsághi Anna 68 of 68

Összetett programozási tételek

Összetett programozási tételek Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember

Részletesebben

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

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

Részletesebben

Objektum Orientált Programozás VII.

Objektum Orientált Programozás VII. Objektum Orientált Programozás VII. Összetett programozási tételek Programozási tételek összeépítése Feladatok ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk

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

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum. Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi

Részletesebben

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben

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

Bánsághi Anna 2014 Bánsághi Anna 1 of 35 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 4. ELŐADÁS - ADATFOLYAMOK KEZELÉSE 2014 Bánsághi Anna 1 of 35 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 2. előadás Algoritmizálás, adatmodellezés tanítása 2. előadás Programozási tételek Mi az, hogy programozási tétel? Típusfeladat általános megoldása. Sorozat érték Sorozat sorozat Sorozat sorozatok Sorozatok sorozat

Részletesebben

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

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

Közismereti informatika I. 4. előadás

Közismereti informatika I. 4. előadás Közismereti informatika I. 4. előadás Rendezések Bemenet: N: Egész, X: Tömb(1..N: Egész) Kimenet: X: Tömb(1..N: Egész) Előfeltétel: Utófeltétel: Rendezett(X) és X=permutáció(X ) Az eredmény a bemenet egy

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

C# feladatok gyűjteménye

C# feladatok gyűjteménye C# feladatok gyűjteménye Készítette: Fehérvári Károly I6YF6E Informatika tanár ma levelező tagozat 1) Feladat: ALAPMŰVELETEK Készítsünk programot, amely bekér két egész számot. Majd kiszámolja a két szám

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 1. előadás Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási

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

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

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia

Részletesebben

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések) Adatszerkezetek Nevezetes algoritmusok (Keresések, rendezések) Keresések A probléma általános megfogalmazása: Adott egy N elemű sorozat, keressük meg azt az elemet (határozzuk meg a helyét a sorozatban),

Részletesebben

PROGRAMOZÁSI TÉTELEK

PROGRAMOZÁSI TÉTELEK PROGRAMOZÁSI TÉTELEK Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I) Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat

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

Tartalom. Programozási alapismeretek. 11. előadás

Tartalom. Programozási alapismeretek. 11. előadás Tartalom Programozási alapismeretek 11. előadás Rendezési feladat specifikáció Egyszerű cserés Minimum-kiválasztásos Buborékos Javított buborékos Beillesztéses Javított beillesztéses Szétosztó Számlálva

Részletesebben

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24. Rendezések 8. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. október 24. Sergyán (OE NIK) AAO 08 2011. október 24. 1 / 1 Felhasznált irodalom

Részletesebben

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek

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

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

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. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

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

Haladó rendezések. PPT 2007/2008 tavasz.

Haladó rendezések. PPT 2007/2008 tavasz. Haladó rendezések szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Alapvető összehasonlító rendezések Shell rendezés Kupacrendezés Leszámláló rendezés Radix rendezés Edényrendezés

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 2. előadás Algoritmizálás és adatmodellezés tanítása 2. előadás Tartalom Összegzés vektorra, mátrixra Megszámolás vektorra, mátrixra Maximum-kiválasztás vektorra, mátrixra Eldöntés vektorra, mátrixra Kiválasztás

Részletesebben

Programozási alapismeretek 11. előadás

Programozási alapismeretek 11. előadás Programozási alapismeretek 11. előadás Tartalom Rendezési feladat specifikáció Egyszerű cserés rendezés Minimum-kiválasztásos rendezés Buborékos rendezés Javított buborékos rendezés Beillesztéses rendezés

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

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

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan

Részletesebben

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)

Részletesebben

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Programozási tételek, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 1. előadás Algoritmizálás, adatmodellezés tanítása 1. előadás Specifikáció A specifikáció elemei bemenet mit ismerünk? kimenet mire vagyunk kíváncsiak? előfeltétel mit tudunk az ismertekről? utófeltétel mi az összefüggés

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

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

INFORMATIKAI ALAPISMERETEK

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

Részletesebben

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai Kémiai elemek felfedezése A kémiai elemek kémiailag tovább már nem bontható, egyszerű anyagok. Jelenleg 118 különböző kémiai elemet ismerünk, közüliik a Földön 94 található meg a természetben, ezeket természetes

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

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10. Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /

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

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)! Space Shuttle 40 Pont A Space Shuttle (magyarul űrsikló", hivatalos angol nevén: Space Transportation System, STS) az Amerikai Egyesült Államok ember szállítására is alkalmas űrprogramja volt. Feladatai

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek Sorozatszámítás tétele Például az X tömbben kövek súlyát tároljuk. Ha ki kellene számolni az összsúlyt, akkor az S = f(s, X(i)) helyére S = S + X(i) kell írni. Az f0 tartalmazza

Részletesebben

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

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

Programozási alapismeretek 3. előadás

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

Részletesebben

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

Térinformatikai algoritmusok Elemi algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot

Részletesebben

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

Algoritmizálás és adatmodellezés tanítása 3. előadás Algoritmizálás és adatmodellezés tanítása 3. előadás Szövegfájl Fájl típus A szövegfájl karakterek sorozata: input fájl Műveletei: nyit, zár, olvas, vége? output fájl Műveletei: nyit, zár, ír Pap Gáborné,

Részletesebben

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

Algoritmizálás, adatmodellezés tanítása 2. előadás Algoritmizálás, adatmodellezés tanítása 2. előadás Másolás függvényszámítás Bemenet: N N, X H N, g:h G, F: G N G, f: G * xg G Kimenet: Y G N Előfeltétel: Utófeltétel: i(1 i N) Y=F(g(X 1 ),, g(x N )) f

Részletesebben

Programozás alapjai (ANSI C)

Programozás alapjai (ANSI C) Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu

Részletesebben

Hatékonyság 1. előadás

Hatékonyság 1. előadás Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése

Részletesebben

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10. Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /

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

Objektumorientált Programozás VI.

Objektumorientált Programozás VI. Objektumorientált Programozás VI. Tömb emlékeztető Egyszerű programozási tételek Összetett programozási tételek V 1.0 ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók

Részletesebben

AAO 3. Csink László 2007

AAO 3. Csink László 2007 AAO 3 Csink László 2007 Algoritmus fogalma - ismétlés Az algoritmus egy eljárás (jóldefiniált utasítások véges halmaza), amelyet valamely feladat megoldására készítünk. A feladat egy adott kezdeti állapotból

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

A C# PROGRAMOZÁSI NYELV

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

Részletesebben

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 3. előadás Vezérlési szerkezetek Elágazás Gyakran előfordul, hogy meg kell vizsgálnunk egy állítást, és attól függően, hogy igaz vagy hamis, a programnak más-más

Részletesebben

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió és iteráció Balrekurzió Ha az eljárás első utasításaként szerepel a rekurzív hívás, akkor a rekurzió lényegében az első nem

Részletesebben

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje 1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt

Részletesebben

A félév során előkerülő témakörök

A félév során előkerülő témakörök A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok

Részletesebben

Térinformatikai algoritmusok Elemi algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,

Részletesebben

Az összetett programozási tételek is egy tőről fakadnak

Az összetett programozási tételek is egy tőről fakadnak Az összetett programozási tételek is egy tőről fakadnak Zsakó László 1, Törley Gábor 2, Szlávi Péter 3 1 zsako@caesar.elte.hu, 2 pezsgo@inf.elte.hu, 3 szlavi@elte.hu ELTE IK Absztrakt. A programozás tanulás

Részletesebben

Programozás Minta programterv a 2. házi feladathoz 1.

Programozás Minta programterv a 2. házi feladathoz 1. Programozás Minta programterv a. házi feladathoz 1. Gregorics Tibor. beadandó/0.feladat 01. január 11. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy szöveges állományban bekezdésekre tördelt szöveg

Részletesebben

Rendezések. Összehasonlító rendezések

Rendezések. Összehasonlító rendezések Rendezések Összehasonlító rendezések Remdezés - Alapfeladat: Egy A nevű N elemű sorozat elemeinek nagyság szerinti sorrendbe rendezése - Feltételezzük: o A sorozat elemei olyanok, amelyekre a >, relációk

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

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

117. AA Megoldó Alfréd AA 117.

117. AA Megoldó Alfréd AA 117. Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,

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

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

Algoritmizálás, adatmodellezés 1. előadás

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

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

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

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

Részletesebben

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

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

Részletesebben

Informatika terméktervezőknek

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

Részletesebben

.Net adatstruktúrák. Készítette: Major Péter

.Net adatstruktúrák. Készítette: Major Péter .Net adatstruktúrák Készítette: Major Péter Adatstruktúrák általában A.Net-ben számos nyelvvel ellentétben nem kell bajlódnunk a változó hosszúságú tömbök, listák, sorok stb. implementálásával, mert ezek

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

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

Algoritmizálás és adatmodellezés 2. előadás

Algoritmizálás és adatmodellezés 2. előadás Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,

Részletesebben

Programozási tételek. PPT 2007/2008 tavasz.

Programozási tételek. PPT 2007/2008 tavasz. Programozási tételek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Strukturált programozás paradigma Alapvető programozási tételek Összetett programozási tételek Programozási

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

7. Strukturált típusok

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

Részletesebben

Objektumorientált Programozás VI.

Objektumorientált Programozás VI. Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő

Részletesebben

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

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 9.Gy: Struktúra 2.

Programozás alapjai 9.Gy: Struktúra 2. Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).

Részletesebben

Smalltalk 2. Készítette: Szabó Éva

Smalltalk 2. Készítette: Szabó Éva Smalltalk 2. Készítette: Szabó Éva Blokkok Paraméter nélküli blokk [műveletek] [ x := 5. 'Hello' print. 2+3] Kiértékelés: [művelet] value az értéke az utolsó művelet értéke lesz, de mindet kiírja. x :=

Részletesebben

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok. Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 4. előadás Procedurális programozás: iteratív és rekurzív alprogramok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

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

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).

Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n). Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a

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

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt kimeneti adatot

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