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

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

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

Átírás

1 IMPERATÍV PROGRAMOZÁS Bánsághi Anna 2. ELŐADÁS - IMPERATÍV PARADIGMA 2014 Bánsághi Anna 1 of 70

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 70

3 II. IMPERATÍV PROGRAMOZÁS IMPERATÍV PARADIGMA Jelkészlet Lexikális elemek Utasítások, vezérlési szerkezetek Elemi és összetett típusok Érték- és referencia típusok 6. Programozási tételek 7. Adatfolyamok kezelése 2014 Bánsághi Anna 3 of 70

4 a nyelv a 1. JELKÉSZLET ábécéje tetszőleges szimbólumok véges halmaza szó az ábécé elemeiből képzett véges sorozat tetszőleges program az adott nyelv szintaktikai és szemantikai szabályait kielégítő szó a karakterek neve, szimbóluma, kódja karaktertáblában: ASCII kód 256 elemű karakterkészlet Asterisk * 42 Unicode 17 szint, szintenként karakter Asterisk * \u002a egy programozási nyelv jelkészlete (ábécéje) valamely karakterkészlet részhalmaza 2014 Bánsághi Anna 4 of 70

5 A KORAI NYELVEK JELKÉSZLETE angol ábécé betűi, számjegyek, néhány speciális karakter szóköz, zárójelek, aritmetikai operátorok jelei A MAI NYELVEK JELKÉSZLETE különböző nemzetek speciális karakterei is (Unicode) 2014 Bánsághi Anna 5 of 70

6 2. LEXIKÁLIS ELEMEK a nyelv szintaxisának és szemantikájának megfelelő karaktersorozatok két határolójel között HATÁROLÓJELEK szóköz, tabulátor, sorvége < > = + - * / ( ) { } & ; :,.? << >> <= >= == = -= *= /= = &= && 2014 Bánsághi Anna 6 of 70

7 LEXIKÁLIS ELEMEK CSOPORTOSÍTÁSA fenntartott szavak azonosítók literálok megjegyzések 2014 Bánsághi Anna 7 of 70

8 FENNTARTOTT SZAVAK nem használhatók azonosítóként a múlt árnyai: Java-ban goto jövőbeni fejlesztésekhez KULCSSZAVAK speciális jelentéssel bírnak a nyelv szintaxisának részei if for while class const break try yield A KULCSSZAVAK EGYBEN FENNTARTOTT SZAVAK IS 2014 Bánsághi Anna 8 of 70

9 AZONOSÍTÓK változók, konstansok, típusok, alprogramok nevei NYELVFÜGGŐ KÉRDÉSEK melyek a megengedett karakterek mi a megengedett szintaxis melyek a kódolási konvenciók különböznek-e a kis- és a nagybetűk van-e hosszúsági korlát melyek a fenntartott szavak 2014 Bánsághi Anna 9 of 70

10 AZONOSÍTÓK int összeg = 123; // azonosítója Könyv könyv = new Könyv("Pi élete"); // objektumvazonosító const Color FEHÉR = new Color("white"); class Könyv {...} int OldalakSzáma(Könyv könyv) {...} namespace Példa {...} // konstans azonosítója // típus neve // függvény neve // névtér azonosítója 2014 Bánsághi Anna 10 of 70

11 LITERÁLOK numerikus literálok (számok) karakterliterálok (karakterek) karaktersorozatok (szövegek) 2014 Bánsághi Anna 11 of 70

12 NUMERIKUS LITERÁLOK '0'..'9' és 'A'..'F' számjegyek '+', '-', '.' kitevőrész, típusjelölés E+2 egész és valós számok 2014 Bánsághi Anna 12 of 70

13 KARAKTERLITERÁLOK karakterek és escape szekvenciák aposztrófok között akár közvetlen karakterkódolás is 'x' 'A' '\n' '\u2318' KARAKTERLÁNCOK karaktersorozatok macskakörmök között "Akár japánul 世界您好 vagy {valtozo}" 2014 Bánsághi Anna 13 of 70

14 MEGJEGYZÉSEK generált vagy a programozó által írt magyarázó szövegek a fordítóprogram nem veszi figyelembe növelik a karbantarthatóságot, dokumentáció generálható speciális jeltől a sor végéig terjedő: kutya.eszik(étel); // Kutya::eszik metódus hívása speciális jelek között: /** * Növeli az energiát * étel Étel */ void Eszik(Étel étel) {...} 2014 Bánsághi Anna 14 of 70

15 3. UTASÍTÁSOK, VEZÉRLÉSI SZERKEZETEK a vezérlésszervezés eszközei lexikális elemekből épülnek fel 2014 Bánsághi Anna 15 of 70

16 EGYSZERŰ UTASÍTÁSOK értékadás kifejezés-utasítás ÖSSZETETT UTASÍTÁSOK szekvencia és blokk utasítás elágazási szerkezetek ciklusszerkezetek STRUKTÚRÁLATLAN UTASÍTÁSOK vezérlésátadás 2014 Bánsághi Anna 16 of 70

17 ÉRTÉKADÁS általánosan <változó> <értékadásjel> <kifejezés> konkrétan x = 123 y = x * z = add(y, 10) 2014 Bánsághi Anna 17 of 70

18 KIFEJEZÉS lexikális elemekből épül fel kiértékelés után eredményt ad vissza dinamikusan típusos nyelvek esetén: kifejezés = érték statikusan típusos nyelvek esetén: kifejezés = típus + érték változó- és konstans-kiértékelések aritmetikai, logikai, relációs kifejezések függvényhívások ezek kombinációival, egymásba ágyazásával építhetők fel 2014 Bánsághi Anna 18 of 70

19 KIFEJEZÉSEK csoportosíthatók az argumentumaik száma (aritás) szerint nulláris, unáris, bináris, k-áris OPERÁTOROK speciális, szimbólumokkal jelölt függvények + - * / < > && 2014 Bánsághi Anna 19 of 70

20 OPERÁTOROK HASZNÁLATA prefix, kiértékelés balról jobbra -*bb**4ac postfix, kiértékelés lengyel formanak megfelelően bb*4a*c*- infix, kiértékelés precedencia és asszociativitás szerint b*b-4*a*c mixfix feltétel? kifezés_1 (igaz ág) : kifejezés_2 (hamis ág) 2014 Bánsághi Anna 20 of 70

21 PREFIX KIÉRTÉKELÉS - * 5 5 * * * * * * * * Bánsághi Anna 21 of 70

22 POSTFIX KIÉRTÉKELÉS 5 5 * 4 3 * 2 * * 2 * * 2 * * * Bánsághi Anna 22 of 70

23 KIFEJEZÉS-UTASÍTÁS értékadás mint operátor // asszociativitási szabály szerint egyenértékűek x = y = 7; x = (y = 7); // egyenértékűek x = x + 2; x += 2; 2014 Bánsághi Anna 23 of 70

24 SZEKVENCIA utasítások egymás utáni kötött sorrendű végrehajtása utasítások lezárása: pontosvessző, új sor BLOKK UTASÍTÁS ahol szintaktikailag egyetlen utasítás állhat, ott használható a fordítóprogram számára egyetlen utasításnak minősül utasításcsoportosító, egymásba ágyazható 2014 Bánsághi Anna 24 of 70

25 BLOKK UTASÍTÁS utasítások begin utasítások end utasítások { utasítások } 2014 Bánsághi Anna 25 of 70

26 VEZÉRLÉSÁTADÁS az utasítások kötött sorrendű végrehajtása megszakad utasítások goto cimke utasítások cimke: utasítások utasítások goto feltétel nélküli vezérlésátadás break kiugrik a vezérlési szerkezetből continue ciklusfeltétel újrakiértékelése return visszatérés a hívóhoz 2014 Bánsághi Anna 26 of 70

27 ELÁGAZÁSI SZERKEZETEK feltétel logikai értékétől függően valamilyen (blokk) utasítás végrehajtása EGYIRÁNYÚ ELÁGAZÁS if logikai kifejezés then (blokk) utasítás KÉTIRÁNYÚ ELÁGAZÁS if logikai kifejezés then egyik (blokk) utasítás else másik (blokk) utasítás end if 2014 Bánsághi Anna 27 of 70

28 TÖBBIRÁNYÚ ELÁGAZÁS if egyik logikai kifejezés then egyik (blokk) utasítás else if másik logikai kifejezés then másik (blokk) utasítás else if harmadik logikai kifejezés then harmadik (blokk) utasítás else negyedik (blokk) utasítás end if 2014 Bánsághi Anna 28 of 70

29 ESETKIVÁLASZTÁSOS ELÁGAZÁS szelektor diszkrét típusú értékétől függően osztályoz switch diszkrét típusú kifejezés case egyik érték : egyik (blokk) utasítás break case másik érték : case harmadik érték : másik (blokk) utasítás break default : harmadik (blokk) utasítás break endswitch 2014 Bánsághi Anna 29 of 70

30 ELÁGAZÁSI SZERKEZETEK NYELVFÜGGŐ KÉRDÉSEI milyen típusú elágazási szerkezeteket definiál a nyelv megadható-e esetkiválasztásos esetben alapértelmezett ág megadható-e azonos érték több ágon megadható-e több érték ugyanazon ágon vajon a vezérlés lecsorog a következő ágra, vagy csak az egyik ág hajtódik végre 2014 Bánsághi Anna 30 of 70

31 CIKLUSSZERKEZETEK amíg egy adott feltétel teljesül, addig valamilyen (blokk) utasítás végrehajtása előre ismert lépésszámú elöltesztelő hátulteszteló iterátor 2014 Bánsághi Anna 31 of 70

32 SZÁMLÁLÁSOS CIKLUS for inicializálás; ciklusfeltétel; ciklusváltozó frissítése ciklusmag for( int i = 0; i < 10; ++i ) { Console.WriteLine(i); } for( int i = 1, j = 2; i < 10 && j+i!= 4; i += 3, ++j ) { Console.WriteLine("i: " + i); Console.WriteLine("j: " + j); } for(;;) { Console.WriteLine("végtelen ciklus"); } 2014 Bánsághi Anna 32 of 70

33 ELÖLTESZTELŐ CIKLUS a ciklusmag végrehajtása előtt ellenőrzi a ciklusfeltételt, ezért előfordulhat az is, hogy a ciklusmag egyszer sem fut le while ciklusfeltétel ciklusmag int i = 0; // ciklusváltozó inicializálása while( i < 10 ) // ciklusfeltétel { Console.WriteLine(i); ++i; // ciklusváltozó növelése } while( true ) { Console.WriteLine("végtelen ciklus"); } 2014 Bánsághi Anna 33 of 70

34 HÁTULTESZTELŐ CIKLUS a ciklusmag végrehajtása után ellenőrzi a ciklusfeltételt, ezért a ciklusmag egyszer mindenképpen lefut do ciklusmag while ciklusfeltétel int i = 0; do { Console.WriteLine(i); ++i; } while( i < 10 ); do { Console.WriteLine("végtelem ciklus"); } while( true ); 2014 Bánsághi Anna 34 of 70

35 BEJÁRÓ CIKLUS / ITERÁTOR az iterációs változó felveszi az iterált gyűjtemény aktuális elemének értékét, ezért a gyűjtemény elemei nem módosíthatók a ciklusmagon belül foreach iterációs változó in gyűjtemény ciklusmag string ábécé = "abcdefghijklmnopqrstuvwxyz"; foreach( char karakter in ábécé ) { Console.WriteLine(karakter); } 2014 Bánsághi Anna 35 of 70

36 VEZÉRLÉSÁTADÁS CIKLUSBAN for( int i = 0; i < 10; ++i ) { if( 3 == i ) break; // kilép a ciklusból Console.WriteLine(i); } for( int i = 0; i < 10; ++i ) { if( 3 == i ) continue; // kilép az iterációból Console.WriteLine(i); } 2014 Bánsághi Anna 36 of 70

37 CIKLUSSZERKEZETEK NYELVFÜGGŐ KÉRDÉSEI milyen típusú ciklusszerkezeteket definiál a nyelv vajon a ciklusfeltétel kötelezően logikai értékű vajon a ciklusmag kötelezően blokk beállítható-e a ciklusváltozó alsó és felső értéke, lépésszáma definiált-e a ciklusváltozó értéke kilépéskor létezik-e break, continue 2014 Bánsághi Anna 37 of 70

38 4. ELEMI ÉS ÖSSZETETT TÍPUSOK a nyelvek számtalan beépített típust definiálnak, hogy a memóriarekeszeknél összetettebb fogalmakkal dolgozhasson a programozó int i = 123 char c = 'a' string s = "rövid szöveg" 2014 Bánsághi Anna 38 of 70

39 TÍPUSÉRTÉKEK ÉS TÍPUSMŰVELETEK a típus definiálása két részből áll meg kell adni a lehetséges típusértékek halmazát meg kell adni a típusértékeken végezhető műveleteket int i = 123 int j = i + 12 // operátorral definiált (asszociatív) művelet string s1 = "alma" string s2 = "fa" string s3 = s1.concat( s2 ) // alprogrammal definiált (men asszociatív) művelet 2014 Bánsághi Anna 39 of 70

40 A TÍPUS TULAJDONSÁGAI kódolás a memóriában való ábrázolás méret szerkezet a memóriában elfoglalt méret az összetevőkre való hivatkozás összetett típusnál specifikáció a típusértékhalmaz és a típusműveletek halmaza reprezentáció a típus ábrázolása a memóriában, a típus megvalósítása programnyelvi eszközökkel 2014 Bánsághi Anna 40 of 70

41 EDDIG LÁTOTT PÉLDÁK ÉRTÉKHALMAZ + MŰVELETHALMAZ = TÍPUS egész számok + összeadás, kivonás, összehasonlítás valós számok + összeadás, kivonás, szorzás, osztás, összehasonlítás igaz, hamis + negáció, konjunkció, diszjunkció, implikáció karakterláncok + konkatenáció, összehasonlítás 2014 Bánsághi Anna 41 of 70

42 ERŐSEN TÍPUSOS NYELV változók típusa fordítási időben meghatározott csak az adott típus műveletei megengedettek int i = 8 string s = "42" return i + s return s.concat( i ) // fordítási hiba // fordítási hiba GYENGÉN TÍPUSOS NYELV tetszőleges művelet megengedett tetszőleges típuson csak futási időben derül fény a hibára int i = 8 string s = "42" return i + s // eredmény: 50 return s.concat( i ) // eredmény: "428" 2014 Bánsághi Anna 42 of 70

43 ELEMI TÍPUSOK szerkezet nélküliek, logikailag felbonthatatlanok ÖSSZETETT TÍPUSOK meglévő típusokból tevődnek össze típuskonstrukciók segítségével ABSZTRAKT ADATTÍPUSOK meglévő típusokból tevődnek össze típuskonstrukciókkal és új műveletek megvalósításával 2014 Bánsághi Anna 43 of 70

44 2014 Bánsághi Anna 44 of 70

45 ELEMI TÍPUSOK szinte minden programozási nyelv támogatja, mert nem is a nyelv, hanem a számítógépek processzorai valósítják meg értékadás ELEMI TÍPUSOK MŰVELETEI transzformációs függvények rendezett halmazokon értelmezett függvények típuskonverzió 2014 Bánsághi Anna 45 of 70

46 ÉRTÉKADÁS ekvivalens típusúak közötti érték-hozzárendelés, másolatkészítés int i = 12 int j = i i = "szöveg" // fordítási hiba 2014 Bánsághi Anna 46 of 70

47 TRANSZFORMÁCIÓS FÜGGVÉNYEK adott típust vagy annak direkszorzatát képezik a típusra T T T típusonként változik ezen függvények, műveletek halmaza egészeken az összeadás, kivonás logikai értékeken a logikai műveletek Bánsághi Anna 47 of 70

48 RENDEZETT HALMAZOKON ÉRTELMEZETT FÜGGVÉNYEK relációs operátorok < > = minimális és maximális elem meghatározása rákövetkező és megelőző elem meghatározása 2014 Bánsághi Anna 48 of 70

49 TÍPUSKONVERZIÓ típus megváltoztatása (konvertálása) egy másik típusra T 1 T 2 implicit típuskonverzió: a futási idejű környezet végzi el float x x = // bővítő típuskonverzió: int i i = // bővítő típuskonverzió: // szűkítő típuskonverzió: i = 3 explicit típuskonverzió: a programozó hatásköre int x = 3 string s = "12" int y = x + (int)s 2014 Bánsághi Anna 49 of 70

50 DISZKRÉT TÍPUSOK értékhalmaz rendezhető értékek műveletek rendezett halmazokon értelmezett függvények 2014 Bánsághi Anna 50 of 70

51 EGÉSZ TÍPUSOK értékhalmaz Z műveletek + - * div ^ mod unáris mínusz rendezett halmazokon értelmezett függvények reprezentáció általában 32 bites előjeles egészek 2014 Bánsághi Anna 51 of 70

52 FELSOROLÁSI TÍPUSOK értékhalmaz az elemek felsorolásával adjuk meg szinek = {"kék", "zöld", "piros"} műveletek rendezett halmazokon értelmezett függvények típuskonverzió egészekre és vissza 2014 Bánsághi Anna 52 of 70

53 KARAKTER TÍPUSOK értékhalmaz Ch műveletek rendezett halmazokon értelmezett függvények reprezentáció általában 16 bites Unicode karakterkódolás 2014 Bánsághi Anna 53 of 70

54 LOGIKAI TÍPUSOK értékhalmaz L = {igaz, hamis} műveletek logikai műveletek, úgymint rendezett halmazokon értelmezett függvények reprezentáció hamis 0 igaz -1 (néha 1) 2014 Bánsághi Anna 54 of 70

55 LOGIKAI KIFEJEZÉSEK KIÉRTÉKELÉSE lusta kiértékelésű operátorok bool A = false, B = true bool C = A B // B-t nem értékeli ki a nyelv mohó kiértékelésű operátorok bool A = false, B = true bool C = A B // B-t is kiértékeli a nyelv 2014 Bánsághi Anna 55 of 70

56 VALÓS TÍPUSOK értékhalmaz R műveletek + - * / ^ unáris mínusz rendezett halmazokon értelmezett függvények reprezentáció lebegőpontos ábrázolás e * M * a k -167,2 = -1 * 0,1672 * 10 3 előjelbit, mantissza, abszcissza, kitevő 2014 Bánsághi Anna 56 of 70

57 ÖSSZETETT TÍPUSOK típuskonstrukciós eszközökkel, elemi és összetett típusokból épített új típusok T = ( T 1, T 2,, T n ) ÖSSZETETT TÍPUSOK MŰVELETEI konstrukciós függvények: összetett típusérték létrehozása komponenseiből a new operátorral és konstruktorral szelekciós függvények: összetett típusérték komponenseinek kiválasztása a. operátorral önmagukban csak értékhalmazt definiálnak 2014 Bánsághi Anna 57 of 70

58 REKORD értékhalmaz azonos vagy különböző típusú elemek direktszorzata T = T 1 T 2 T n szelektorok ( t 1, t 2,, t n ) = t T esetén hozzáférés a t i s i : T T i s i (t) = t i (másik jelölés: t. s i ) adott komponenshez az reprezentáció szelektorokkal úgy, hogy a komponensek megadásuk sorrendjében helyezkednek el a memóriában, bármely komponens elérhető a mezőnév alapján 2014 Bánsághi Anna 58 of 70

59 REKORD PÉLDÁK térbeli pontok halmaza, ahol a 3 koordinátát 3 double típusú szám reprezentálja komplex számok halmaza, ahol a valós és a képzetes részt egy-egy int típusú szám reprezentálja dátumok halmaza, év, hónap és nap reprezentálására egy-egy int típusú szám telefonkönyv, ahol a nevet egy string, a telefonszámot egy int típusú adat reprezentálja 2014 Bánsághi Anna 59 of 70

60 REKORD SZERKEZETE a rekordba helyezett értékeket nevezzük a rekord adattagjainak vagy mezőinek mezője lehet bármilyen, már deklarált típus (egyszerű, összetett, illetve más rekord is) a mező automatikusan létrejön, a megfelelő szelektorral külön lekérdezhető és módosítható 2014 Bánsághi Anna 60 of 70

61 REKORD DEKLARÁLÁSA C#-BAN blokkon belül deklaráljuk a rekord mezőit struct <rekordnév> { <típus_1> <mezőnév_1>; <típus_2> <mezőnév_2>; <típus_3> <mezőnév_3>; } a rekordok új típusok lesznek, amelyek tetszőlegesen felhasználhatóak, ezért célszerű globálisan deklarálni őket 2014 Bánsághi Anna 61 of 70

62 Valósítsuk meg a komplex számok típusát struct KomplexSzám { public int valós; public int képzetes; } public static void Main() { KomplexSzám c = new KomplexSzám(); c.valós = 0; c.képzetes = 1; } Console.WriteLine( "Valós rész: {0}, képzetes rész: {1}", c.valós, c.képzetes ); 2014 Bánsághi Anna 62 of 70

63 TÖMB azonos típusú elemek véges sorozata értékhalmaz {v : H T} leképezés egy indexhalmazról a típusra adott szelektorok i H i v(i) esetén hozzáférés a -edik elemhez a helyettesítést jelenti másik jelölés: v[i] reprezentáció az elemek az indexelésnek megfelelő sorrendben helyezkednek el a memóriában, bármely elem elérhető az index alapján 2014 Bánsághi Anna 63 of 70

64 TÖMB PÉLDÁK // 5 hosszú tömb deklarációja, melyben karakterek lesznek char[] karakterek = new char[5]; // 2x3-as kétdimenziós tömb deklarációja, melyben egész számok lesznek int[,] mátrix = new int[2,3]; // tömb definíciója és inicializációja egy lépésben int[] számok = new int[] { 3, 5, 8, 13 }; a tömbök hossza rögzített, nem lehet dinamikusan változtatni 2014 Bánsághi Anna 64 of 70

65 Valósítsuk meg a komplex számok típusát, és hozzunk létre egy három elemű, komplex számokat tartalmazó tömböt struct KomplexSzám { public int valós; public int képzetes; } public static void Main() { KomplexSzám[] számok = new KomplexSzám[3]; for( int i = 0; i < számok.length; ++i ) { számok[i].valós = i; számok[i].képzetes = 2*i; } } foreach( KomplexSzám szám in számok ) { Console.WriteLine( "{0} + {1}*i", szám.valós, szám.képzetes ); } 2014 Bánsághi Anna 65 of 70

66 5. ÉRTÉK- ÉS REFERENCIA TÍPUSOK a típusokat csoportosíthatjuk aszerint is, hogy hogyan érhetők el a memóriában az az értéktípusok változói közvetlenül érik el az értéküket referencia típusok változói közvetetten, egy referencián keresztül érik el az értéküket 2014 Bánsághi Anna 66 of 70

67 ÉRTÉKTÍPUS PÉLDA int i = 13; int j = i; i = 123; // az értékadás után mi lesz j értéke? értékadás előtt a memória állapota értékadás után a memória állapota 2014 Bánsághi Anna 67 of 70

68 REFERENCIA TÍPUS PÉLDA int[] t1 = new int[] { 13, 1, 3 }; int[] t2 = t1; t1[0] = 123; // az értékadás után mi lesz t2[0] értéke? értékadás előtt a memória állapota értékadás után a memória állapota 2014 Bánsághi Anna 68 of 70

69 A C# ÉRTÉK- ÉS REFERENCIA TÍPUSAI ÉRTÉKTÍPUS elemi és iterált típusok, rekord értéket tárol típusműveletek deklarálható típusos REFERENCIA TÍPUS tömb és felhasználói típusok memóriacímet tárol típusműveletek deklarálható típusos 2014 Bánsághi Anna 69 of 70

70 A C# REFERENCIA TÍPUSAI 2014 Bánsághi Anna 70 of 70

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

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

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

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

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

Részletesebben

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

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

Imperatív és procedurális programozás a Javában

Imperatív és procedurális programozás a Javában Imperatív és procedurális programozás a Javában Kozsik Tamás kto@elte.hu http://kto.web.elte.hu/ Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék 2008. Kozsik Tamás (ELTE)

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

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

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

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

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

Részletesebben

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

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

Részletesebben

1. Egyszerű (primitív) típusok. 2. Referencia típusok

1. Egyszerű (primitív) típusok. 2. Referencia típusok II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget

Részletesebben

Szoftvertervezés és -fejlesztés I.

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

Részletesebben

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

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

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

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

Részletesebben

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

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

Részletesebben

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

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

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

Részletesebben

Vezérlési szerkezetek

Vezérlési szerkezetek Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását

Részletesebben

3 A C programozási nyelv szintaktikai egységei

3 A C programozási nyelv szintaktikai egységei 3 A C programozási nyelv szintaktikai egységei 3.1 Azonosítók Betűk és számjegyek sorozata, betűvel vagy _ (aláhúzás) karakterrel kell kezdődnie. A nagy- és kisbetűk különbözőek. Az azonosítók tetszőleges

Részletesebben

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

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

Részletesebben

Programozási nyelvek (ADA)

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás

Részletesebben

A C programozási nyelv I. Bevezetés

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

A JavaScript főbb tulajdonságai

A JavaScript főbb tulajdonságai JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén

Részletesebben

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char

Részletesebben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelvek JAVA EA+GY 1. gyakolat Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program

Részletesebben

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István Operátorok Műveletek Egy (vagy több) műveleti jellel írhatók le A műveletet operandusaikkal végzik Operátorok fajtái operandusok száma szerint: egyoperandusú operátorok (pl.:

Részletesebben

A C programozási nyelv I. Bevezetés

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

Részletesebben

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

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

Részletesebben

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

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási

Részletesebben

Bevezetés a Programozásba II 2. előadás. Adattípusok megvalósítása egységbe zárással. Adattípusok megvalósítása egységbe zárással

Bevezetés a Programozásba II 2. előadás. Adattípusok megvalósítása egységbe zárással. Adattípusok megvalósítása egységbe zárással Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 2. előadás Adattípusok megvalósítása egységbe zárással 2014.02.17. Giachetta Roberto groberto@inf.elte.hu

Részletesebben

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)

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

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) I. A nyelv története C++ C (ős: B???) 1972 Ritchie AT&T Bell laboratórium UNIX 1978 Kernighan & Ritchie az első tankönyv,

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

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

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

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

Részletesebben

Objektumorientált Programozás II.

Objektumorientált Programozás II. Objektumorientált Programozás Adattípusok ismétlés Operátorok Hello C# World Vezérlési szerkezetek Gyakorlás II. 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk

Részletesebben

A C programozási nyelv II. Utasítások. A függvény.

A C programozási nyelv II. Utasítások. A függvény. A C programozási nyelv II. Utasítások. A függvény. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv II (Utasítások, fuggvények) CBEV2 / 1 Kifejezés utasítás Kifejezés utasítás, blokk

Részletesebben

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

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

Részletesebben

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet Eötvös Loránd Tudományegyetem Informatikai Kar Programozási technológia I 1. gyakorlat A Java nyelvi alapjai, a NetBeans környezet 2012.02.16. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

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

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

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

Részletesebben

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

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

Részletesebben

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

Programozási nyelvek Python

Programozási nyelvek Python Programozási nyelvek Python A nyelv története és jellemzői 2 A nyelv története Tervező Guido van Rossum (1956, Hollandia) Befolyásoló nyelvek ABC (pl. blokkok jelölése behúzással); Modula-3; C; C++; Unix

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

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

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Pénzügyi algoritmusok

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

Részletesebben

Programozás alapjai. 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ás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

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

Részletesebben

Bevezetés a C++ programozási nyelvbe

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

Részletesebben

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

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

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

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

GYAKORLATIAS JAVA MINTA

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

Részletesebben

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX

Részletesebben

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

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18 C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi

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

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

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)

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

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.

Részletesebben

Apple Swift kurzus 3. gyakorlat

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

Részletesebben

Bevezetés a programozásba. 9. Előadás: Rekordok

Bevezetés a programozásba. 9. Előadás: Rekordok Bevezetés a programozásba 9. Előadás: Rekordok ISMÉTLÉS Függvényhívás #include #include #include #include using using namespace namespace std; std; double double terulet(double

Részletesebben

Programozás I. Első ZH segédlet

Programozás I. Első ZH segédlet Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett

Részletesebben

Programozás 1. Dr. Iványi Péter

Programozás 1. Dr. Iványi Péter Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására

Részletesebben

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Programozási nyelvek a közoktatásban alapfogalmak II. előadás Programozási nyelvek a közoktatásban alapfogalmak II. előadás Szintaxis, szemantika BNF szintaxisgráf absztrakt értelmező axiomatikus (elő- és utófeltétel) Pap Gáborné. Szlávi Péter, Zsakó László: Programozási

Részletesebben

Programozás I. C# bevezető. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 17.

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

Részletesebben

1. Bevezetés A C++ nem objektumorientált újdonságai 3

1. Bevezetés A C++ nem objektumorientált újdonságai 3 Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.

Részletesebben

Adatszerkezetek I. 1. előadás

Adatszerkezetek I. 1. előadás Adatszerkezetek I. 1. előadás Adatok jellemzői ismétlés 1. Azonosító Az a jelsorozat, amellyel hivatkozhatunk a tartalmára, amely által módosíthatjuk tartalmát. 2. Hozzáférési jog Adatokat módosítani,

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Programozási nyelvek II. JAVA EA+GY 1. gyakolat Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről

Részletesebben

6. fejezet: Ciklusok

6. fejezet: Ciklusok 6. fejezet: Ciklusok Mint a nyelvekben általában, itt is léteznek ciklusok. Az alapvető három ciklus-típus: elöltesztelő, hátultesztelő és számláló. Lássuk ezeket sorban! Elöltesztelő = while. A while

Részletesebben

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1

2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1 2. Rekurzió Egy objektum definícióját rekurzívnak nevezünk, ha a definíció tartalmazza a definiálandó objektumot. Egy P eljárást (vagy függvényt) rekurzívnak nevezünk, ha P utasításrészében előfordul magának

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

Programok értelmezése

Programok értelmezése Programok értelmezése Kód visszafejtés. Izsó Tamás 2016. szeptember 22. Izsó Tamás Programok értelmezése/ 1 Section 1 Programok értelmezése Izsó Tamás Programok értelmezése/ 2 programok szemantika értelmezése

Részletesebben

Maximum kiválasztás tömbben

Maximum kiválasztás tömbben ELEMI ALKALMAZÁSOK FEJLESZTÉSE I. Maximum kiválasztás tömbben Készítette: Szabóné Nacsa Rozália Gregorics Tibor tömb létrehozási módozatok maximum kiválasztás kódolása for ciklus adatellenőrzés do-while

Részletesebben

Vezérlési szerkezetek. Szelekció Ciklusok

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

Részletesebben

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

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

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

Részletesebben

Alprogramok, paraméterátadás

Alprogramok, paraméterátadás ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi

Részletesebben

Internet programozása. 3. előadás

Internet programozása. 3. előadás Internet programozása 3. előadás Áttekintés Hogyan használjuk az if szerkezetet arra, hogy bizonyos sorok csak adott feltételek teljesülése mellett hajtódjanak végre? Hogyan adhatunk meg csak bizonyos

Részletesebben

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

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

Részletesebben