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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

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

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

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

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

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

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

Kiterjesztések sek szemantikája

Kiterjesztések sek szemantikája Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

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

Óbudai Egyetem. C programozási nyelv

Óbudai Egyetem. C programozási nyelv Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C programozási nyelv II. Dr. Schuster György 2016. március 12. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo

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

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

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT vincze.david@iit.uni-miskolc.hu PHP Personal Home Page (Tools) Script nyelv -> interpretált Elsősorban weboldal (dinamikus) tartalmak előállítására

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 3. gyakorlat Operátorok, típuskonverziók, matematikai függvények Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24,

Részletesebben

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel (record) tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel elemei mezők. Például tétel: személy elemei: név, lakcím, születési

Részletesebben

A C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges típuskonverziók:

A C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges típuskonverziók: Típuskonverzió a C++ nyelvben Miskolci Egyetem Általános Informatikai Tanszék Típus konverzió a C++ nyelvben CPP3 / 1 Lehetséges konverziók A C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges

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

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, az Algoritmusok és adatszerkezetek c. tárgyban

Részletesebben

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma

Részletesebben

Az algoritmusok alapelemei

Az algoritmusok alapelemei Az algoritmusok alapelemei Változók Olyan programozási eszközök, amelynek négy komponense van: - Név - Egyedi azonosító, a program szövegében a változó mindig a nevével jelenik meg, ez hordozza a komponenseket.

Részletesebben

JAVA PROGRAMOZÁS 2.ELŐADÁS

JAVA PROGRAMOZÁS 2.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,

Részletesebben

C# gyorstalpaló. Készítette: Major Péter

C# gyorstalpaló. Készítette: Major Péter C# gyorstalpaló Készítette: Major Péter Adattípusok Logikai változó Egész szám (*: előjel nélküli) Lebegőponto s szám Típus Típusnév másképpen (egyenértékű) Helyigény (bit) Példa bool Boolean 8 (!) true,

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

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

Adatbázis- és szoftverfejlesztés elmélet

Adatbázis- és szoftverfejlesztés elmélet Adatbázis- és szoftverfejlesztés elmélet Informatikai rendszergazda 10. évfolyam Készítette: Nagy Zsolt Készült: 2015 Tartalom Bevezető... 4 Futtatható program elkészítése.... 5 IDE... 5 Adattípusok jellemzői...

Részletesebben

Bevezetés a programozásba. 6. Előadás: C++ bevezető

Bevezetés a programozásba. 6. Előadás: C++ bevezető Bevezetés a programozásba 6. Előadás: C++ bevezető ISMÉTLÉS PLanG features Utasítások Értékadás, KI:, BE: Programkonstrukciók Elágazás Ciklus Típusok Egész, valós, logikai, szöveg, karakter, fájl Típuskonstrukciók

Részletesebben

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló

Részletesebben

A Java és a C++ összehasonlítása

A Java és a C++ összehasonlítása A Java és a C++ összehasonlítása 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) A Java és a C++

Részletesebben

Python tanfolyam Python bevezető I. rész

Python tanfolyam Python bevezető I. rész Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények

Részletesebben

3. Gyakorlat Ismerkedés a Java nyelvvel

3. Gyakorlat Ismerkedés a Java nyelvvel 3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az

Részletesebben

Objektum Orientált Programozás V.

Objektum Orientált Programozás V. Objektum Orientált Programozás V. A Microsoft Visual Studio 2010 használata Műveletek tömbökkel Érték- és referenciatípusú változók Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok,

Részletesebben

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott. Szigorlati témakörök az Informatika (szigorlat) (BMEVIAU0181) c. tantárgyat felváltó Informatika (BMEGERIEEIS) tantárgyból az okleveles energetikai mérnökképzés (2N-0E) hallgatói számára 1. tantárgy: Programozás

Részletesebben

1) Hány byte-on tárol a C++ egy karaktert (char)? implementáció-függő ( viszont lásd 79. megjegyzés ) 1 8 4

1) Hány byte-on tárol a C++ egy karaktert (char)? implementáció-függő ( viszont lásd 79. megjegyzés ) 1 8 4 1) Hány byte-on tárol a C++ egy karaktert (char)? implementáció-függő ( viszont lásd 79. megjegyzés ) 1 8 4 2) Hány byte-on tárol a C++ egy float-ot? implementáció-függő 6 4 8 3) Hány byte-on tárol a C++

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

Részletesebben

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Részletesebben

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni? A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új

Részletesebben

C++ programozási nyelv Konstruktorok-destruktorok

C++ programozási nyelv Konstruktorok-destruktorok C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven Bevezető Basic-szerű, nyomtatóra szánt programozási nyelv, melyet az Intermec Technologies fejlesztett ki számítógép

Részletesebben

Bevezetés a programozásba Előadás: A const

Bevezetés a programozásba Előadás: A const Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout

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

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

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

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció

Részletesebben

I. rész: A Microsoft Visual C# és a Microsoft Visual Studio 2005 bemutatása. 1. Üdvözöljük a C# világában! 3

I. rész: A Microsoft Visual C# és a Microsoft Visual Studio 2005 bemutatása. 1. Üdvözöljük a C# világában! 3 Köszönetnyilvánítás Bevezetés Honnan kezdjük a könyv olvasását? A könyvben használt konvenciók és egyéb jelölések Konvenciók Egyéb jelölések Online kiegészítő tartalom Technológiai frissítések Rendszerkövetelmények

Részletesebben

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:

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

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat

Részletesebben

Objektumorientált Programozás I.

Objektumorientált Programozás I. Objektumorientált Programozás I. Algoritmizálási alapismeretek Algoritmus végrehajtása a számítógépen Adattípusok Típuskonverziók ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok,

Részletesebben

Bevezetés a programozásba

Bevezetés a programozásba Bevezetés a programozásba 1. Előadás Bevezetés, kifejezések http://digitus.itk.ppke.hu/~flugi/ Egyre precízebb A programozás természete Hozzál krumplit! Hozzál egy kiló krumplit! Hozzál egy kiló krumplit

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 9. gyakorlat Intelligens tömbök, mátrixok, függvények Surányi Márton PPKE-ITK 2010.11.09. C++-ban van lehetőség (statikus) tömbök használatára ezeknek a méretét fordítási időben

Részletesebben

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,

Részletesebben