Speciális valós értékek: Adatok. Deklarálás C#-ban: típus változónév;

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

Download "Speciális valós értékek: Adatok. Deklarálás C#-ban: típus változónév;"

Átírás

1 Adatok Deklarálás C#-ban: típus változónév; - a változónév első karaktere csak betű vagy alulvonás (_) lehet, a többi karakter szám is - a kis- és nagybetűk különböznek (x és X két különböző változó) - azonos típusú változókat egymástól vesszővel elválasztva definiálhatunk Pl. int a, b, A; Értékadás: a = 10; a = b*3 2; a deklaráció és a kezdeti értékadás összevonható egy utasításba (deklaráció és inicializálás): pl. int a = 10; Egyszerű adattípusok: Számok: - egész számok byte - előjel nélküli egész, 1 bájton ( ) sbyte előjeles egész, 1 bájton ( ) ushort előjel nélküli egész, 2 bájton ( ) short előjeles egész, 2 bájton ( ) uint előjel nélküli egész, 4 bájton ( ) int előjeles egész, 4 bájton ( ) ulong előjel nélküli hosszú egész, 8 bájton long előjeles hosszú egész, 8 bájt Speciális értékek az egész számoknál: - MinValue: a legkisebb ábrázolható szám (pl. short.minvalue, int.minvalue, stb.) - MaxValue: a legnagyobb ábrázolható szám (pl. long.maxvalue, stb.) - valós (lebegőpontos) számok: float 4 bájton, 7 értékes számjegy double 8 bájton, 15 értékes számjegy decimal 16 bájton, 28 értékes számjegy nullával való osztás egész számtípus esetén futás idejű hibát ad, míg valós számtípus használatakor nincs hiba; az eredmény: +-végtelen (poz/0, neg/0) vagy nem szám (0/0, végtelen/végtelen float.nan, double.nan) 1 Speciális valós értékek: float.positiveinfinity, double.negativeinfinity float.nan, double.nan (nem szám) float.epsilon, Double.Epsilon epsilon, a legkisebb ábrázolható pozitív szám Karakterek tárolásuk szintén binárisan történik ASCII 8 bites (1 bájtos): 0-31: vezérlőkarakterek, :az angol ABC kis- és nagybetűi, számok, írásjelek, : rajzoló karakterek, speciális karakterek (csak az országok egy részének megfelelő) UNICODE kódolás: UTF-8 (az angol ABC betűinek kódolása ugyanaz, a többi karakternek egyedi karaktere van, 2-4 bájt), UTF-16 (a C# nyelv és a.net keretrendszer belső kódolása), UTF-32 kódlapok minden karakteres típus, minden szövegkezelő függvény ez alapján működik Deklarálás: char c; // 2 byte hosszú Deklarálás és inicializálás: char c= a ; (aposztróffal adjuk meg) Karakterlánc: string s= alma ; (idézőjellel adjuk meg) Logikai típus - értéke igaz (true) vagy hamis (false) - deklarálás: bool jo; bool h = true; - logikai műveletek: és: &&, vagy:, tagadás:! Típuskonverzió: - Ha nincs értékvesztés, a típuskonverzió egyszerű értékadással történik: Pl. byte a=2; int b=a; long c=3; float d=c; float f=1.2f; double g=f; - Ha történhet értékvesztés, akkor jelezni kell a konverziót: típuskényszerítés (typecasting) ez az explicit típuskonverzió célváltozó=(céltípus) forrásváltozó; Pl. int a=256; byte b=(byte)a; double c=1.23; int d=(int)c; int e=-1; uint f=(uint)e; - Konvertálás striggé: - célváltozó=forrásváltozó.tostring(); - Pl. int a=310; string s=a.tostring(); - Konvertálás stringből: célváltozó=céltípus.parse(stringváltozó); - Pl. string s= 210 ; int a=int.parse(s); 2

2 Konstansok - a const típusmódosító kulcsszó segítségével definiálhatjuk - a program futása alatt megőrzik értéküket és nem lehet felüldefiniálni őket, illetve értékadó utasítással megváltoztatni az értéküket - a konstans változóknak adott értéket vagy kifejezést fordítási időben ki kell tudja értékelni a fordító Pl. const int MAX = 100; // ha nem adunk értéket, hibát ad Kifejezések: - a kifejezések operandusokból és operátorokból állnak - az operandusok szolgáltatják az adatokat: változók vagy konkrét értékek, konstansok - operátorok: műveleti jelek: +, -, *, / - a kifejezések egymásba ágyazhatók, egy kifejezés operandusa maga is lehet kifejezés - több operátor esetén az operátorok precedenciája határozza meg a kiértékelés sorrendjét - a sorrend zárójelezéssel explicit módon is meghatározható - operátorprecedencia: előjel-operátorok, logikai és bináris tagadás, prefix inkrementáló és dekrementáló operátorok, explicit típuskonverzió szorzás, osztás, maradék összeadás, kivonás bitenkénti eltolás operátorok kisebb (vagy egyenlő), nagyobb (vagy egyenlő), as, is egyenlő, nem egyenlő logikai ÉS logikai XOR logikai VAGY feltételes ÉS feltételes VAGY feltételes operátor (? : ) értékadó operátor és a rövidített formában használt operátorok (+=, -=, stb.) Aritmetikai operátorok: + - egy operandus esetén előjelképzés (+a), két operandus esetén összeadás (a+b), stringek esetén összefűzés - - egy operandus esetén előjelképzés ( -a), két operandus esetén kivonás (a-b) * - szorzás (a*b) / - osztás (a/b) % - maradékképzés (a%b pl. 5%3=2) ++ -inkrementáló operátor: növelés 1-gyel a++ - kiértékeli a kifejezést, majd utána növeli 1-gyel a értékét ++a - növeli 1-gyel a értékét, és a megnövelt értékkel kiértékeli a kifejezést -- - dekrementáló operátor: csökkentés 1-gyel a-- - kiértékeli a kifejezést, majd utána csökkenti 1-gyel a értékét --a - csökkenti 1-gyel a értékét, és a csökkentett értékkel kiértékeli a kifejezést Relációs (összehasonlító) operátorok == - egyenlő (a==b)!= - nem egyenlő (a!=b) <, <= - kisebb, kisebb vagy egyenlő (a<b, a<=b) >, >= - nagyobb, nagyobb vagy egyenlő (a>b, a>=b) Logikai operátorok! tagadás: a kifejezés értéke a ellentettje (!a) && - ÉS: igaz, ha mindkét operandusa igaz (a&&b) - VAGY: igaz, ha legalább az egyik operandusa igaz (a b) Értékadó operátorok = (a=b) Rövid forma: += (a+=b ugyanaz, mint a=a+b), -=, *=, /=, %=, &=,^=, =, <<=, >>= Kiíratás: - a C stílusú nyelvek hagyományaként a C# nyelvnek sem részei a beolvasó és kiíró utasítások, így könyvtári szolgáltatásokra kell hagyatkoznunk, ami a System névtér része és ennek a névtérnek a Console osztálya biztosítja a klasszikus képernyőre írás és olvasás feladatát Console.Write( szöveg ) kiírja a szöveget a standard outputra, azaz a képernyőn megjelenő Consol alkalmazás ablakába Console.WriteLine( szöveg ) kiírja a szöveget a konzolra és a kurzort a következő sor elejére viszi Beolvasás - Console.ReadLine() paranccsal: egy sort olvas be a standard bementről (alapértelmezés szerint a konzolról) - A metódus egy string típusú értékkel tér vissza, ezért ha az s string típusú változóban szeretnénk eltárolni a beolvasott szöveget, akkor: string s = Console.ReadLine(); - Ha a beolvasott értéket nem karaktersorozatként szeretnénk használni, akkor a szükséges konverziót is végre kell hajtani: típus.parse(karaktersorozat) pl. int a = int.parse(console.readline()) vagy Convert.ToTípus(karaktersorozat) pl. int a = Convert.ToInt32(Console.ReadLine()) 3 4

3 Vezérlési szerkezetek: Szekvencia - a legegyszerűbb vezérlési szerkezet, minden más vezérlési szerkezet építőköve - tulajdonképpen egymás után megszabott sorrendben végrehajtott utasításokból áll - minden utasítást ; zár le - az utasítások írhatók külön sorokba vagy egy sorba Feltételes utasítás (elágazás, szelekció) - megvizsgálunk egy állítást és az állítás igazságértékétől függően más-más utasítást hajt(hat)unk végre 1. if (feltétel) utasítás1; [else utasítás2;] - feltételben szereplő kifejezés minden esetben logikai értéket kell visszaadjon, vagy az eredmény konvertálható kell legyen bool típusra. - a feltétel teljesülése esetén végrehajtja az utasítás1-et, különben ha van else ág, akkor az utasítás2-t, ha nincs else ág, akkor a feltétel nem teljesülése esetén nem csinál semmit 2. if (feltétel) { utasítás1; utasítás2; } [else { utasítás3; utasítás4; }] 5 3. if (feltétel1) utasítás1; else if (feltétel2) utasítás2; else if (feltétel3) utasítás3; else utasításn; - az else ág elhagyható - több utasítás esetén kötelező a { } - else if ágakból tetszőleges számú használható - a program az első olyan ágat hajtja végre, amelynek a feltétele teljesül, vagy ha egyik feltétel sem teljesül és van else ág, akkor az ott levő utasítás(oka)t hajtja végre. Ha egy feltételben több logikai kifejezést csatolunk össze ÉS / VAGY operátorokkal: - ÉS operátor esetén, ha az első kifejezés hamis, akkor a másodikkal már nem is foglalkozik, az eredmény mindenképp hamis lesz - VAGY operátor esetén, ha az első kifejezés igaz, akkor a másodikkal már nem is érdemes foglalkozni, az eredmény mindenképp igaz lesz Ciklusok C# -ban négyfajta ciklusutasítás használható, ezek a for, foreach, while és do utasítások A for ciklus (előírt lépésszámú, ún. számlálós ciklus) Az utasítás formája: for (kifejezés1; kifejezés2; kifejezés3) utasítás; ahol 1. kifejezés1: kezdőérték beállítása, típusdefiníciós kifejezés utasítás is lehet itt adjuk meg az ún. ciklusváltozót, amelyre a ciklusfeltétel épül pl. i = 0 az i ciklusváltozó a for utasítás előtt deklarálva kell legyen pl. int j = 0 a j int típusú ciklusváltozót a ciklus fejlécében hoztuk létre és adtunk 0 kezdőértéket neki; előtte nem lehet deklarálva a ciklusfeltételen belül deklarált ciklusváltozó lokális lesz a ciklust tartalmazó blokkra 2. kifejezés2: ismétlési feltétel (a ciklusban maradás feltétele) pl. i<10 addig ismétli az utasítást, amíg i értéke kisebb, mint 10 (9-nél még elvégzi a ciklusmagot, 10-nél már nem) pl. i < n && k<n összetett feltétel: addig ismétli a ciklusmagot, amíg i is és k is kisebb n-nél 3. kifejezés3: léptetési utasítás a ciklusváltozó értékének változtatása pl. i++ - növeli eggyel a ciklusváltozó értékét pl. i - = 2 csökkenti 2-vel a ciklusváltozó értékét pl. i++, k++ - növeli i-t és k-t is a C# a következőképpen értelmezi a for ciklust: 1. végrehajtja a kifejezés1-et (kezdőértékadás) 2. kiértékeli a kifejezés2-t (vezérlési feltétel): ha HAMIS, akkor kilép a ciklusból, ha IGAZ, akkor: 3. végrehajtja a ciklusmagot 4. végrehajtja a kifejezés3-at (léptetés) 5. visszaugrik a 2. lépésre előltesztelő ciklus, ha a vezérlési feltétel már legelső alkalommal HAMIS, akkor a ciklusmag egyetlen egyszer sem hajtódik végre a for ciklusból tetszés szerint elhagyhatjuk a ciklusfej bármely részét akár az egészet is: ekkor végtelen ciklusunk lesz (soha nem ér véget) 6

4 pl. for (;;) {...// valamilyen más módon lépünk ki ilyenkor a ciklusból } a kifejezések közötti pontosvessző nem maradhat el ha a for ciklus magja több utasítást tartalmaz, akkor az utasításokat {} közé tesszük (utasításblokk) a ciklusmag lehet üres utasítás is: A while ciklus - a while ciklus általános formája: while (kifejezés) utasítás; a while kulcsszóval kezdődik a kifejezés a ciklusbanmaradás feltétele, logikai kifejezés kell legyen az utasítás a ciklus magja ha a a ciklus magját több utasítás alkotja, akkor {} közé tesszük és az utasításokat pontosvesszővel választjuk el egymástól Kiértékelés: 1. kiértékeli a zárójelben levő kifejezés-t (vezérlési feltétel): ha HAMIS, akkor kilép a ciklusból, ha IGAZ, akkor: 2. végrehajtja a ciklusmagot 3. visszaugrik az 1. lépésre akkor célszerű használni a while ciklust, ha nem tudjuk előre meghatározni az ismétlések számát (futás közben dől el), vagy ha a leállás valamilyen logikai értéket szolgáltató kifejezés eredményétől függ előltesztelős ciklus, a ciklusmag végrehajtása előtt ellenőrzi a ciklusfeltételt, előfordulhat, hogy a ciklustörzs egyszer sem fut le A do while ciklus - általános formája: do utasítás; // ciklusmag while (kifejezés) ; Kiértékelés: 1. végrehajtja a ciklusmagot 2. kiértékeli a zárójelben levő kifejezés-t (vezérlési feltétel): ha HAMIS, akkor kilép a ciklusból, ha IGAZ, akkor: 3. visszaugrik az 1. lépésre hátultesztelő ciklus, a ciklusmag végrehajtása után ellenőrzi a ciklusfeltételt, így legalább egyszer biztosan lefut Ugró utasítások A break utasítás az utasítás formája: break; hatására befejeződik a while, do while, for vagy switch utasítás végrehajtása a break a többirányú elágazás (switch) utasításban is gyakran használt A continue utasítás az utasítás formája: continue; hatására a while, for, do while ciklus feltételei kerülnek kiértékelésre a continue utáni rész teljesen kimarad az aktuális lefutáskor Véletlen számok generálása matematikai, statisztikai feladatoknál gyakran használunk véletlen számokat a System névtér Random osztálya nyújtja a pszeudo-véletlenszámok generálásának lehetőségét egy véletlenszám-objektum létrehozását a rendszeridőhöz (paraméter nélküli konstruktor) vagy egy adott egész számhoz köthetjük ha létrehozunk egy új, Random típusú változót, akkor ezen keresztül máris lehetőségünk van véletlenszerű számok elérésére a véletlenobjektum Next függvénye a következő véletlen egész számot, a NextDouble a következő valós véletlen számot adja a Next függvénynek három, míg a NextDouble függvénynek egy változata van a do kulcsszóval kezdődik ha a ciklusmag több utasításból áll, akkor {} közé tesszük és az utasításokat pontosvesszővel választjuk el egymástól a kifejezés a ciklusban maradás feltétele, logikai kifejezés kell legyen 7 8

5 Példa: véletlenszám objektum létrehozása: Random r = new Random(); //r véletlenszám objektum rendszeridő alapú létrehozása Random r1 = new Random(10);// r1 véletlenobjektum generátor a 10 értékből indul ki véletlen számok generálása: Tömbök véletlen egész szám 0 és MaxInt (legnagyobb egész) között [0, MaxInt) int x = r.next(); véletlen egész szám 0 és n között [0, n) int x = r.next(n); int x = r.next(10); // [0, 10) közötti véletlen egész számot generál véletlen egész szám a és b között [a, b) int x = r.next(a,b); int x = r.next(10,20);//[10,20) közötti véletlen egész számot generál véletlen valós szám generálása 0 és 1 között [0, 1) double d = r.nextdouble(); Összetett adattípusok több, azonos típusú értéket tárol (van azonosítója: neve, típusa: az elemek közös típusa) az egyes elemek a tömbön belüli sorszámukkal (index) érhetők el egy elem értéke értékadással módosul egy elem értéke egy kifejezésben lekérdezhető háromféle tömb létezik: az egydimenziós (vektor), a többdimenziós (mátrix, kocka, stb.), illetve a szabálytalan (tömböket tartalmazó tömb, a jagged ) tömb a tömbök referenciatípusok, így minden tömb deklaráció egy referencia (hivatkozás) a hozzá tartozó adatokra a referenciatípusú változók csak egy hivatkozást tárolnak a konkrét értékre az x = y értékadáskor az y ugyanazon a memóriacímen lévő értékre fog hivatkozni, mint az x a C# mindig folytonos memóriablokkokban helyezi el egy tömb elemeit a C# nyelv minden tömb- vagy vektortípus definíciót a System.Array osztályból származtat, így annak tulajdonságai a meghatározóak Tömbök deklarálása: típus [] azonosító; Tömbök létrehozása: a tömb méretének meghatározása pl. x = new int[10]; a deklaráció és a tömblétrehozás összevonható: pl. int[] x = new int[10]; 9 a tömb definíciója egy referencia típus létrehozása, és a nyelv minden referencia típusát a new operátorral kell konkrét értékekkel példányosítani: ekkor kell megmondani, hogy az adott vektor hány elemű pl. elvesznek int[] x = new int[10]; // 10 elemű egész tömb x = new int[20]; // most már 20 elemű egész tömb, a régi tömbértékek mivel a nyelv minden dinamikus referencia típusának memóriabeli felszabadítását a rendszer automatikusan végzi szemétgyűjtés (garbage collection) ezért a példabeli 10 elemű tömb memóriahelyét automatikusan visszakapja az operációs rendszer a tömb elemei a fenti dinamikus létrehozás után 0 kezdőértéket kapnak ha logikai vektort definiálunk, akkor a vektorelemek kezdő értékadás hiányában logikai hamis (false) értéket kapnak Tömb inicializálása (akár a deklaráció pillanatában is feltölthetjük a tömböt a nekünk megfelelő értékekkel): pl. int[] b={1,2,3,4}; char[] c = new char[5] { 'e', 'd', 'a', 'c', 'b' } vagy char[] c = new char[] { 'e', 'd', 'a', 'c', 'b' } vagy char[] c = { 'e', 'd', 'a', 'c', 'b' } // ha rögtön megadjuk a kezdőértékeket, a new operátor elhagyható értékadás (érték elhelyezése a tömbelemben): x[0] = 2; a tömb egy adott eleméhez a tömb neve után [] zárójelek között megadott indexszel férhetünk hozzá: tömbnév[index] az index csak egész szám lehet, a típus tetszőleges a tömb első elemének indexe mindig: 0 a tömb utolsó elemének indexe: elemszám 1 kisebb, vagy nagyobb index megadása futási hibát okoz tömbben lévő elemek száma a tömbnév.length metódussal lekérdezhető a tömbelemeknek nem kötelező értéket adni, értékadás hiányában a tömbelem a típus alapértékét veszi fel a tömb elemein végiglépkedhetünk egy egyszerű for ciklussal, vagy használhatjuk a foreach ciklust vigyázat az indexeléssel, mert a fordító nem ellenőrzi fordítási időben az indexek helyességét, így helytelen indexelés esetén futás időben IndexOutOfRangeException kivételt fog dobni a program A foreach ciklus az utasítás formája: foreach (azonosító in tömbnév) utasítás; ezzel a ciklussal végiglépdelünk egy tömbön vagy gyűjteményen az azonosító, mint ciklusváltozó felveszi egyenként a tömb elemeit 10

6 Stringek a string a System.String osztálynak megfelelő típus a string típus karakterekből áll, vagyis a karakterlánc egyes betűit char-ként kezelhetjük elméletileg bármennyi karakterből állhat, de az operációs rendszer határt szab számára a C# char (karakter) típusa egy unicode karaktert képes tárolni 2 bájton a stringek nem módosíthatók, módosítás helyett egy új példány jön létre Deklarálás: string azonosító; vagy String azonosító; Pl. string s; Deklarálás és inicializálás: string azonosító = szöveg ; Pl. string s="alma"; Összefűzés: a + és a += szövegösszefűző operátorral a string referenciatípus, de nem kell használni a new operátort ha egy stringnek nem adunk értéket, akkor induláskor null értéke van üres string: s = ""; vagy s = string.empty; konstansként is használhajuk a stringeket: pl. const string sk="konstans szoveg"; amikor egy létező string objektum új értéket kap, akkor nem az eredeti példány módosul, hanem egy teljesen új objektum keletkezik a memóriában (vagyis a string megváltoztathatatlan típus, úgynevezett immutable típus) a string egyes karaktereire hivatkozhatunk a string azonosítója után [ ] között megadva az indexet (az indexelés 0-tól kezdődik) egy stringet feldolgozhatunk karakterenként egy for ciklussal a stringazonosító.length tulajdonság a szöveg karaktereinek számát adja meg a string utolsó karakterére való hivatkozás: stringazonosító[stringazonosító.length-1] foreach ciklussal is végiglépkedhetünk egy karaktersorozaton Relációk: két string összehasonlítható az == és a!= operátorokkal a <, > relációk csak a string karaktereire alkalmazhatók a stringek hatékony kezeléséhez a.net számos hasznos metódust biztosít Metódusok Összehasonlítás: String.Compare(string1, string2) összehasonlít két sztringet (lexikografikusan): eredményként 0-t ad, ha a két string megegyezik, illetve nullánál kisebbet (-1), ha az első string ábécésorrend szerint kisebb és nullánál nagyobbat (1), ha az első string nagyobb összehasonlításra használhatjuk a stringazonosító.compareto(string1) metódust is 11 stringazonosító.equals(string) megadja, hogy a paraméterként kapott szöveg azonos-e a stringazonosító karakterlánccal String.CompareOrdinal(string1, string2) összehasonlítja a paraméterként kapott két stringet és az első különbözőségnél a két betű különbségét adja Keresés: stringazonosító.indexof(karakter vagy string) a stringazonosító karakterláncban a paraméterként kapott karakter vagy string első előfordulásának indexét adja vissza; ha nincs találat, -1-et ad vissza stringazonosító.lastindexof(karakter vagy string) a stringazonosító karakterláncban a paraméterként kapott karakter vagy string utolsó előfordulásának indexét adja vissza; -1, ha nincs találat stringazonosító.indexofany(karaktertömb) a stringazonosító karakterláncban a paraméterként kapott karaktertömb összes karakterét figyeli, és amelyiket elsőnek megtalálja, annak indexét adja vissza; ha nincs találat, -1-et ad vissza stringazonosító.lastindexofany(karaktertömb) a stringazonosító karakterláncban a paraméterként kapott karaktertömb összes karakterét figyeli, és amelyiket utolsónak találja meg, annak indexét adja vissza; -1, ha nincs találat stringazonosító.contains(karakter vagy string) - a stringazonosító karakterláncban keresi a paraméterként kapott karaktert vagy stringet, igaz-at ad vissza, ha megtalálja, különben hamisat Módosítás: a módosítások nem az eredeti stringen hajtódnak végre, hanem egy új példányt hoznak létre és azt adják vissza stringazonosító.replace(regi_char_vagy_string, uj_char_vagy_string) - az első paraméterként kapott régi karakter vagy string összes előfordulását lecseréli a második paraméterként kapott új karakterre vagy sztringre stringazonosító.insert(index, karakterlánc) beszúrja a stringbe a megadott karakterláncot a paraméterként kapott indextől kezdődően stringazonosító.remove(index, szám) kivág a stringből a megadott indextől kezdődően megadott számú karaktert stringazonosító.substring(kezdőindex) vagy stringazonosító.substring(kezdőindex, szám) kimásol a stringből egy részt: ha a csak a kezdőindex van megadva paraméterként, akkor a kezdőindextől a string végéig; különben a kezdőindextől a megadott számú karakterből álló részt stringazonosító.trim() a string elején és végén levő fehér karaktereket vágja le (space, tab) 12

7 stringazonosító.trimstart() a szöveg elejéről vágja le a szóközöket stringazonosító.trimend() a szöveg végéről vágja le a szóközöket stringazonosító.trimstart(karakter) a szöveg elejéről vágja le a paraméterként kapott karakter összes előfordulását stringazonosító.trimend(karakter) a szöveg végéről vágja le a paraméterként kapott karakter összes előfordulását stringazonosító.trim (karakter) a szöveg elejéről és a végéről vágja le a paraméterként kapott karakter összes előfordulását stringazonosító.trim(karaktertömb) a string elején és végén levő, a paraméterként kapott karaktertömbben szereplő karaktereit vágja le stringazonosító.toupper() nagybetűssé alakítja a stringet stringazonosító.tolower() kisbetűssé alakítja a stringet stringazonosító.split(char típusú elemeket tároló tömb vagy egy karakter) a string felbontása több stringre: a paraméterként kapott tömb karakterei mentén darabolja fel az adott stringet, eredményként egy stringeket tároló tömböt ad vissza; a paraméterül megadott karakterek nem lesznek benne a kapott tömb egyik elemében sem StringBuilder o a StringBuilder osztállyal módosítható szöveget hozhatunk létre o a StringBuilder a System.Text névtérben található o ha sokszor van szükségünk a karakterlánc módosítására és azt szeretnénk elérni, hogy az eredeti szövegünk is változzon, akkor használjuk a StringBuilder típust o a StringBuilder automatikusan lefoglal egy nagyobb darab memóriát, és ha ez sem elég, akkor kijelöl egy megfelelő méretű területet és átmásolja magát oda o ha a konstruktornak nem adunk meg paramétert, akkor alapértelmezés szerint 16 karakternek foglal le helyet a memóriában; de megadhatjuk paraméterként, hogy hány karakternek foglaljon le helyet o az Append metódussal tudunk egy vagy több karaktert vagy akár string típusú változót hozzáfűzni a StringBuilder típusú változó egyes részeit ki lehet cserélni Pl. s.append("mara"); s[1] = 'á'; // s="mára" o a módosítási metódusok az eredeti szövegen hajtódnak végre Pl. StringBuilder s = new StringBuilder(10); s.append("ki23csikutya"); s.remove(2, 2); // s=kicsikutya o a string típus StringBuilder típussá való konvertálása automatikus (az Append metódussal történik 13 o StringBuilder típus konvertálása string típusra a ToString() Pl. StringBuilder s = new StringBuilder(); s.append("alma"); string z = s.tostring(); az AppendLine() metódussal sortörés fűzhető egy stringbuilder típusú változóhoz Többdimenziós tömbök Kétdimenziós tömb (mátrix) deklarációja: típus [,] azonosító; // a két indexet úgy jelezzük, hogy egy vesszőt teszünk a zárójelbe pl. int [,] x; string [,] nevek; Többdimenziós tömb esetén: szögletes zárójelbe (dimenziószám - 1) vesszőt teszünk - pl. háromdimenziós tömb deklarálása: típus [,,] azonosító; Példányosítás: megadjuk az egyes indexekhez tartozó elemszámot azonosító = new típus [a, b] ; // a darab sor, b darab oszlop pl. x = new int [5, 5] ; // 5x5-ös, egészekből álló mátrix nevek= new string[2,3]; // 2 soros, 3 oszlopos, stringekből álló mátrix a kétdimenziós tömböt feltölthetjük kezdőértékkel, hasonlóan az egydimenziós esethez: pl. int[,] x = new int[5, 5] {{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}, {16,17,18,19,20}, {21,22,23,24,25}}; // a new int[5, 5] elhagyható többdimenziós tömb elemeire úgy hivatkozunk, hogy a tömb neve után [] között annyi indexet adunk meg, ahány dimenziója van a tömbnek kétdimenziós tömb elemeire való hivatkozás: azonosító [sorindex, oszlopindex] az indexek itt is 0-tól kezdődnek pl. az x mátrix második sorbeli, harmadik oszlopbeli elemére való hivatkozás: x[1,2] kétdimenziós tömb feltöltése elemekkel: 2 egymásba ágyazott for ciklussal oldható meg, ahol az egyik ciklusváltozó az egyik indextartományt, a másik ciklusváltozó a másik indextartományt futja végig ha nem két, hanem többdimenziós tömböt használunk, akkor az egymásba ágyazott ciklusok száma ennek megfelelő az egyes dimenziókbeli méretet a GetLength metódus adja pl. int[,] x = new int[5, 4]; int y = x.getlength(0); // y = 5 int z = x.getlength(1); // z = 4 14

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

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

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

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

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

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

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

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

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

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

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

Részletesebben

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

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

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

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

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

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

Objektumorientált Programozás V.

Objektumorientált Programozás V. Objektumorientá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

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

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

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

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

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

Webprogramozás szakkör

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

Részletesebben

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

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

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

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

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

Részletesebben

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

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

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

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

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract

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

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

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. gyakorlat Pointerek, dinamikus memóriakezelés 8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

Szoftvertervezés és -fejlesztés I.

Szoftvertervezés és -fejlesztés I. Szoftvertervezés és -fejlesztés I. Microsoft Visual Studio 2013 Hello C# World! Változók típusai Gyakorló feladatok Algoritmus alkotási feladatok ÓE-NIK-AII, 2017 1 Hallgatói Tájékoztató A jelen bemutatóban

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

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! valós adatokat növekvő sorrendbe rendezi és egy sorba kiírja

Részletesebben

Programozási nyelvek II.: JAVA, 4. gyakorlat

Programozási nyelvek II.: JAVA, 4. gyakorlat Programozási nyelvek II.: JAVA, 4. gyakorlat 2017. október 2-6. Programozási nyelvek II.: JAVA, 4. gyakorlat 1 / 32 A 4. gyakorlat tematikája Tömbök A java.util.arrays osztály A String osztály A StringBuffer

Részletesebben

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

Részletesebben

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII, Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII, 2016 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a

Részletesebben

BME MOGI Gépészeti informatika 5.

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

Részletesebben

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

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

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök. A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,

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

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

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

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

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

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

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

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

Gyakorló feladatok Gyakorló feladatok

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

Részletesebben

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

C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre.

C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre. C memóriakezelés Ez a kis segédanyag az adatszerkezetek órán használt eszközök megértését hivatott elősegíteni. A teljesség igénye nélkül kerül bemutatásra a mutató típus és a dinamikus memóriakezelés.

Részletesebben

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

Mintavételes szabályozás mikrovezérlő segítségével

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

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

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

Részletesebben

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

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

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

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

Ó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

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon 1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (

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

Programozási nyelvek II.: JAVA, 4. gyakorlat

Programozási nyelvek II.: JAVA, 4. gyakorlat Programozási nyelvek II.: JAVA, 4. gyakorlat 2017. október 2-6. Programozási nyelvek II.: JAVA, 4. gyakorlat 1 / 29 A 4. gyakorlat tematikája Tömbök A java.util.arrays osztály A String osztály StringBuilder

Részletesebben

OOP III. A C# nyelv alapelemei

OOP III. A C# nyelv alapelemei OOP III. A C# nyelv alapelemei 2. rész Alaptípusok (2. rész) Operátorok és precedenciájuk (2. rész) Érték- és referenciatípusok Utasítások: for, foreach, continue, return, goto Műveletek karaktersorozatokkal

Részletesebben

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

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

Részletesebben

Bevezetés a C++ programozásba

Bevezetés a C++ programozásba Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek

Részletesebben

5. gyakorlat. Konstansok Tömbök Stringek

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

Részletesebben

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

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

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

Nézzük tovább a lexikai egységeket!

Nézzük tovább a lexikai egységeket! Utasítások Osztályozásuk: Nézzük tovább a lexikai egységeket! - értékadó utasítások - ugró utasítások[vezérlő utasítások (a program vezérlési szerkezetét adják meg)] - feltételes utasítások - ciklusszervező

Részletesebben

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

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

Részletesebben

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

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