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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Í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

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

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

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

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

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

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

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

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

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

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

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

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

Ó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

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

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

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

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

7. fejezet: Mutatók és tömbök

7. fejezet: Mutatók és tömbök 7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata

Részletesebben

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb 1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb #include main() { int a, b; printf( "a=" ); scanf( "%d", &a ); printf( "b=" ); scanf( "%d", &b ); if( a< b ) { inttmp = a; a =

Részletesebben

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

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Algoritmusok Tervezése 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Bevezetés A BASIC (Beginner s All-purpose Symbolic Instruction Code) programnyelvet oktatási célokra hozták létre 1964-ben. Az általános

Részletesebben

Forráskód formázási szabályok

Forráskód formázási szabályok Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más

Részletesebben

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

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

Részletesebben

Problémaosztályok algoritmusok. Ciklusok

Problémaosztályok algoritmusok. Ciklusok Problémaosztályok algoritmusok Ciklusok Ciklus Valamely tevékenység sorozat ismételt végrehajtását jelenti. Az ismétlés lehet: feltételhez kötött előírt lépésszám szerint Három fajtája van: Elöl tesztelő

Részletesebben

A legfontosabb DOS parancsok

A legfontosabb DOS parancsok A legfontosabb DOS parancsok A DOS parancsok általános formája: KULCSSZÓ paraméterek Az utasítások akár kis-, akár nagybetűkkel is írhatók, a DOS nem tesz köztük különbséget. A kulcsszó és az első paraméter

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

LibreOffice Makró Basic

LibreOffice Makró Basic 2017/01/12 13:05 1/11 LibreOffice Makró Basic < Basic LibreOffice LibreOffice Makró Basic Szerző: Sallai András Copyright Sallai András, 2013 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu

Részletesebben

Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség

Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség A JAVA TECHNOLÓGIA LÉNYEGE Programozás III Többlépcsős fordítás JAVA ALAPOK Platformfüggetlenség A JAVA TECHNOLÓGIA LÉNYEGE JAVA PLATFORM Két komponense: Java Virtual Machine (JVM) Java Application Programming

Részletesebben

INFORMATIKAI ALAPISMERETEK

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

Részletesebben

MATLAB alapismeretek I.

MATLAB alapismeretek I. Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. MATLAB alapismeretek I. A MATLAB bemutatása MATLAB filozófia MATLAB modulok A MATLAB felhasználói felülete MATLAB tulajdonságok

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

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk

Részletesebben

Alkalmazott modul: Programozás. C++ alapismeretek. C++ alapismeretek Történet

Alkalmazott modul: Programozás. C++ alapismeretek. C++ alapismeretek Történet Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Történet Wikipédia: a C++ általános célú, magas szintű programozási nyelv, mely támogatja az imperatív, az objektum-orientált,

Részletesebben

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

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

Részletesebben

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >; Rövid elméleti összefoglaló 1. Gyakorlat A C++ nyelv hatékony, általános célú programozási nyelv, amely hagyományos fejlesztőeszközként és objektum-orientált programozási nyelvként egyaránt használható.

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 2. gyakorlat Változók, kiiratás, bekérés 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, 2007 1 tar@dcs.vein.hu

Részletesebben

5. Gyakorlat. struct diak {

5. Gyakorlat. struct diak { Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv A nyelv alapjai 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/34 Java információ források

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

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

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

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

Alkalmazott modul: Programozás 8. előadás. Strukturált programozás: dinamikus memóriakezelés. Dinamikus memóriakezelés. Dinamikus memóriakezelés

Alkalmazott modul: Programozás 8. előadás. Strukturált programozás: dinamikus memóriakezelés. Dinamikus memóriakezelés. Dinamikus memóriakezelés Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 8. előadás Strukturált programozás: dinamikus memóriakezelés Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

OOP III. A C# nyelv alapelemei II.

OOP III. A C# nyelv alapelemei II. OOP III. A C# nyelv alapelemei II. 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

Alkalmazott modul: Programozás 2. fejezet. C++ alapismeretek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Alkalmazott modul: Programozás 2. fejezet. C++ alapismeretek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 2. fejezet C++ alapismeretek Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2015. évi Jegyzetpályázatának támogatásával

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

Bevezetés a programozásba I.

Bevezetés a programozásba I. Elágazás Bevezetés a programozásba I. 2. gyakorlat, tömbök Surányi Márton PPKE-ITK 2010.09.14. Elágazás Elágazás Eddigi programjaink egyszer ek voltak, egy beolvasás (BE: a), esetleg valami m velet (a

Részletesebben

C# feladatok gyűjteménye

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

Részletesebben

PASzSz. Dr. Kotsis Domokos

PASzSz. Dr. Kotsis Domokos PASzSz Készítette: Dr. Kotsis Domokos Első témakör: Lazarus terminál alkalmazás készítése. Lazarus terminál alkalmazás készítése. Egyszerű algoritmusok leírása, megvalósítása. Free Pascal A Turbo Pascal

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

Programozási technológia I.

Programozási technológia I. Programozási technológia I. 2.gyakorlat A tárgy célja A tárgy alapvető Java ismeretek nyújt. A fő célja, hogy a hallgatók képesek legyenek az UML diagramokból Java kód előállítására. Félév tematikája Bevezetés,

Részletesebben

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok 1 Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát

Részletesebben

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

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

Részletesebben

Python bevezető foglalkozás Python bevezető foglalkozás

Python bevezető foglalkozás Python bevezető foglalkozás Python bevezető foglalkozás program, programozás, programnyelvek a Python nyelv és az IDLE környezet változók és adattípusok konzol input és output (input(), print()) vezérlési szerkezetek (if/else, while)

Részletesebben

A C# nyelv alapelemei

A C# nyelv alapelemei A C# nyelv alapelemei 1. rész Hello, C# World Szintaktikai alapszabályok és konvenciók Alaptípusok (1. rész) Változók, kifejezések Operátorok és precedenciájuk (1. rész) Utasítások: üres utasítás, if,

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 2. gyakorlat Változók, típusok, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer - És Számítástudományi Tanszék Utolsó frissítés: September 21, 2009 1 tar@dcs.vein.hu

Részletesebben

C programozás. 1 óra Bevezetés

C programozás. 1 óra Bevezetés C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}

Részletesebben

Algoritmusok pszeudókód... 1

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

Részletesebben

BASH SCRIPT SHELL JEGYZETEK

BASH SCRIPT SHELL JEGYZETEK BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...

Részletesebben

A C# szintaktikája. a C programozási nyelv szintaxisát veszi alapul, ez három fontos szabályt von maga után:

A C# szintaktikája. a C programozási nyelv szintaxisát veszi alapul, ez három fontos szabályt von maga után: C# nyelv Története A C# (ejtsd: szí-sárp) a Visual Basic mellett a.net fő programozási nyelve. 1999 ben Anders Hejlsberg vezetésével kezdték meg a fejlesztését. A C# tisztán objektumorientált, típus biztos,

Részletesebben