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

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

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

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

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

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

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

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

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

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

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

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

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

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

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

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

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

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

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

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

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

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

Felvételi tematika INFORMATIKA

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

Részletesebben

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

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

Részletesebben

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

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

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

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

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

Programozási alapismeretek 3. előadás

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

Részletesebben

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód: Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...

Részletesebben

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

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék 9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,

Részletesebben

Bevezetés a programozásba. 5. Előadás: Tömbök

Bevezetés a programozásba. 5. Előadás: Tömbök Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és

Részletesebben

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Készítette: Gipsz Jakab Neptun-azonosító: A1B2C3 E-mail: gipszjakab@vilaghalo.hu Kurzuskód: IP-08PAED Gyakorlatvezető

Részletesebben

Gyakorló feladatok Gyakorló feladatok

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

Részletesebben

Egyszerű programok készítése... 56 Kifejezések... 57 Bitszintű műveletek... 57 Relációs műveletek... 58

Egyszerű programok készítése... 56 Kifejezések... 57 Bitszintű műveletek... 57 Relációs műveletek... 58 Tartalomjegyzék Algoritmusok - pszeudókód... 1 Abszolút érték... 1 Hányados ismételt kivonással... 1 Legnagyobb közös osztó... 1 Páros számok szűrése... 2 Palindrom számok... 2 Orosz szorzás... 3 Minimum

Részletesebben

Programozási Módszertan definíciók, stb.

Programozási Módszertan definíciók, stb. Programozási Módszertan definíciók, stb. 1. Bevezetés Egy adat típusát az adat által felvehető lehetséges értékek halmaza (típusérték halmaz, TÉH), és az ezen értelmezett műveletek (típusműveletek) együttesen

Részletesebben

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

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

Részletesebben

Informatikai tehetséggondozás:

Informatikai tehetséggondozás: Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Rendezések TÁMOP-4.2.3.-12/1/KONV-2012-0018 Az alapfeladat egy N elemű sorozat nagyság szerinti sorba rendezése. A sorozat elemei

Részletesebben

Számláló rendezés. Példa

Számláló rendezés. Példa Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a

Részletesebben

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

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

Részletesebben

Algoritmuselmélet 2. előadás

Algoritmuselmélet 2. előadás Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

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

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek Sorozatszámítás Eljárás Sorozatszámítás(N, X, S) R R 0 Ciklus i 1-től N-ig R R művelet A[i] A : számokat tartalmazó tömb N : A tömb elemszáma R : Művelet eredménye Eldöntés

Részletesebben

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte. Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció

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

Algoritmusok, adatszerkezetek, objektumok

Algoritmusok, adatszerkezetek, objektumok Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.

Részletesebben

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012. Programozási tételek Jegyzet Összeállította: Faludi Anita 2012. Tartalomjegyzék Bevezetés... 3 Programozási tételek... 4 I. Elemi programozási tételek... 4 1. Sorozatszámítás (összegzés)... 4 2. Eldöntés...

Részletesebben

Algoritmusok. Dr. Iványi Péter

Algoritmusok. Dr. Iványi Péter Algoritmusok Dr. Iványi Péter Egyik legrégebbi algoritmus i.e. IV század, Alexandria, Euklidész két természetes szám legnagyobb közös osztójának meghatározása Tegyük fel, hogy a és b pozitív egész számok

Részletesebben

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix

Részletesebben

... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)

... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra) 6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban

Részletesebben

Algoritmusok - pszeudókód... 1

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

Részletesebben

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter Programozás(A szakirány) II. beadandó feladat 2014.05.05. Farkas András HP6S15 fafee@fafeecorp.com 1. csoport Veszprémi Anna / Hudoba Péter Feladat: Egy szöveges állományban bekezdésekre tördelt szöveg

Részletesebben

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

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

Részletesebben

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

Bevezetés a programozásba I.

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

Részletesebben

23. Fa adatszerkezetek, piros-fekete fa adatszerkezet (forgatások, új elem felvétele, törlés)(shagreen)

23. Fa adatszerkezetek, piros-fekete fa adatszerkezet (forgatások, új elem felvétele, törlés)(shagreen) 1. Funkcionális programozás paradigma (Balázs)(Shagreen) 2. Logikai programozás paradigma(még kidolgozás alatt Shagreen) 3. Strukturált programozás paradigma(shagreen) 4. Alapvető programozási tételek

Részletesebben

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

Részletesebben

Algoritmusok pszeudókód... 1

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

Részletesebben

Programozási módszertan. Mohó algoritmusok

Programozási módszertan. Mohó algoritmusok PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás

Részletesebben

Objektumorientált Programozás IV.

Objektumorientált Programozás IV. Objektumorientált Programozás IV. Műveletek karaktersorozatokkal Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik.

Részletesebben

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar PROGRAMOZÁS tantárgy Gregorics Tibor egyetemi docens ELTE Informatikai Kar Követelmények A,C,E szakirány B szakirány Előfeltétel Prog. alapismeret Prog. alapismeret Diszkrét matematika I. Óraszám 2 ea

Részletesebben

1. gyakorlat

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

Részletesebben

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

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

Részletesebben

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

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

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

JAVA SE/ME tanfolyam tematika

JAVA SE/ME tanfolyam tematika JAVA SE/ME tanfolyam tematika TANFOLYAM TEMATIKA: A JAVA MEGISMERÉSE Java története, miért készült, miért népszerű NETBEANS környezet telepítése, megismerése Programozási alapok java nyelven Változók,primitív

Részletesebben

Bevezetés a programozáshoz I. Feladatok

Bevezetés a programozáshoz I. Feladatok Bevezetés a programozáshoz I. Feladatok 2006. szeptember 15. 1. Alapfogalmak 1.1. példa: Írjuk fel az A B, A C, (A B) C, és A B C halmazok elemeit, ha A = {0, 1}, B = {1, 2, 3}, C = {p, q}! 1.2. példa:

Részletesebben

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával Algoritmusok Algoritmus fogalma Mi az algoritmus? Egy adott probléma megoldásának leírása elemi lépések sorozatával HF: Al Khwarizmi Követelmények Véges: nem állhat végtelen sok lépésből Teljes: teljes

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

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

Országzászlók (2015. május 27., Sz14)

Országzászlók (2015. május 27., Sz14) Országzászlók (2015. május 27., Sz14) Írjon programot, amely a standard bemenetről állományvégjelig soronként egy-egy ország zászlójára vonatkozó adatokat olvas be! Az egyes zászlóknál azt tartjuk nyilván,

Részletesebben

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 9. ÖSSZETETT FELADATOK...111 9.1. ELEMI ALGORITMUSOK ÖSSZEÉPÍTÉSE...111 9.2. ÖSSZEFOGLALÁS...118 9.3. GYAKORLÓ FELADATOK...118

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

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete 8. Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Sok optimalizálási probléma esetén

Részletesebben

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic

Részletesebben