Programozás II. segédlet

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

Download "Programozás II. segédlet"

Átírás

1 Programozás II. segédlet Csordás Martin V1.5

2 A segédletben megtalálható függvényeket eléritek a macsodev.hu oldalon. A segédlet BETA jellegű, folyamatos javítás és bővítés alatt áll. Changelog: V1 initial release V1.2 Fájlkezelés V1.3 V1.4 V1.5 V1.6 Light képek Dinamikus memóriafoglalás Struktúra megjegyzés Stílus javítása Többdimenziós tömbök Struktúra kiegészítés Fájlkezelés feladat javítás Egyirányú láncolt lista Kétirányú láncolt lista Parancssori paraméterek Typo

3 1. Struktúra A struktúra egy összetett adatszerkezet, amiben egyszerre több adatot is tárolhatunk. Segítségével objektum-szerű elemeket hozhatunk létre, amikkel könnyedén tárolhatunk adatokat. Egymáshoz kapcsolásukkal láncolt lista készíthető. Nézzük meg, hogyan is készíthetünk egy struktúrát: Közvetlenül a main függvényünk előtt tudjuk ezeket a szerkezeteket felvenni. Itt nincs közvetlenül értéktárolás, csupán mintaként szolgál, amit majd a mainben felveszünk és használunk. Itt egy öt elemű struktúra tömböt vettünk fel, amely az ember nevű struktúra mintájára készült. Éppen ezért ennek is van nev[] és eletkor tagja. A tagokat a tömbelem után írt pont segítségével érhetjük el. Innentől kezdve ugyanúgy használhatóak, mint a primitív adattípusokból álló változók. Megjegyzés: - Az azonos típusú struktúraelemek között megengedett az értékadás művelet. - Az egyes struktúraelemek önmagukban érték szerint, míg tömbösítve cím szerint kerülnek átadásra a külső függvényeknek. - A struktúrákat sorrendben kell deklarálni, így amelyik struktúra valamilyen formában hivatkozik egy másikra, a hivatkozott struktúrát a jelenleginél előrébb kell helyeznünk a kódban Írjunk olyan programot, mely 5 ember adatait kéri be ellenőrzötten. Az életkor legalább 1 és legfeljebb 120 lehet, a név minimum 6 maximum 20 karakterből áll, nem lehet benne betűn kívül más írásjel, valamint nagybetűvel kell hogy kezdődjenek. A bekérés végeztével külön eljárás segítségével rendezzük őket évszám szerint növekvő sorrendbe, majd írassuk ki a nevüket! Írjunk olyan programot, amely autók rendszámát tárolja. Legfeljebb 5 darab autó bekérésére kell felkészülni, a rendszám formátuma XXX-YYY, ahol X betűket, Y pedig számokat jelöl. Kérjük be az autó nevét, valamint a rendszámot. Ha a rendszám kisbetűvel lett írva, írjuk át nagyra. A bekérés érjen véget, ha bekértük mind az 5 autó adatait, vagy ha az autó nevének bekérésekor üres sort adtunk meg. Bekérés után külön függvényben rendezzük őket rendszám szerint csökkenő sorrendbe, majd írassuk ki az autók adatait.

4 2. Mutató A mutatók a változók egy speciális csoportja. Alapvetően viselkedhetnek rendes változóként, viszont fel tudják venni más változók memóriacímét, ezáltal hivatkozni rá. A hivatkozott elemeket ezután a mutató segítségével (azon keresztül) is elérhetőek, megváltoztathatóak. Mutatók használatával lehetőségünk van függvényeknek és eljárásoknak cím szerinti átadásra. Ezáltal az ott megváltoztatott érték az eredetit fogja módosítani. A C nyelvben a tömbök paraméterként való átadása mindig cím szerint történik. Mutatókat a * operátorral tudunk deklarálni. Egy változó memóriacíme az & operátorral érhető el. Azt a területet, amire a mutatónk mutat a * operátorral érjük el, annak segítségével módosíthatjuk. Készítsünk olyan függvényt, mely bemenő paraméterként egy karaktertömböt és annak hosszát várja. A paraméterek felhasználásával alakítsuk át a nagy- és kisbetűket kis- és nagybetűs párjaikra. A paramétereket mutatóként adjuk át! Írjunk programot, mely 5 darab név-telefonszám párost két be. Írjunk olyan függvényt, mely az egyes struktúrák mutatóit várja paraméterként. A függvény határozza meg, hogy a telefonszám érvényes-e, és ezt mentse is el a struktúra egy tagjába. A nem érvényes számokat írassuk ki a szabvány kimenetre.

5 3. Idő- és dátumkezelés A time.h fejfájl használatával idő- és dátumkezeléssel kapcsolatos adatszerkezeteket és különböző függvényeket kapunk. Ezek használatával meg tudjuk határozni a jelenlegi időt, valamint miliszekundumos pontossággal a futási időt. Egyszerű futási idő meghatározására két clock_t struktúrát kell felvennünk, az egyiket a program futásának legelején, a másikat a legvégén fogjuk lefixálni. Így a kettő közti időkülönbség osztva egy előre beépített konstanssal (CLOCKS_PER_SEC) adja a program futási idejét. Az érték beállításához a clock() függvény visszatérési értékét használjuk, amit float vagy double értékké alakítunk át típuskényszerítéssel. Az aktuális dátum és idő kiíratásához kell egy struct tm mutatós adatszerkezet, valamint ennek beállítására szükség van a jelenlegi időre is, amit a time_t adatszerkezet alkot a time eljárással. A time() eljárás a time_t szerkezet címét várja paraméterként. Ezt felhasználva a localtime() függvénynek átadjuk a time_t szerkezet címét, visszatérési értékként megkapjuk a dátumot, melynek különböző tagjai az egyes időértékeket jeletnik (év, hónap, nap, stb ). Az évszám az 1900 óta eltelt éveket jelentik. A hónapokat egy egyszerű sztringtömb készítésével szövegesen is megjeleníthetjük.

6 4. Fájlkezelés A fájlkezeléshez szükséges függvényeket és eljárásokat az stdio.h fejfájl tartalmazza. Egy fájl kezeléséhez egy FILE pointert társítunk, amire műveleteknél hivatkozni tudunk. Az állományokat az fopen() függvénnyel tudjuk megnyitni írásra és olvasásra. A függvény visszatérési értéke az elérési út memóriacíme, ezért ezt a pointerünkben tárolnunk kell. A függvény paraméterként várja az útvonalat (string) és a megnyitás módját, ami a következők egyike lehet: r olvasás w írás a hozzáfűzés Olvasáskor ha a fájl nem létezik, a pointer NULL értéket vesz fel. Íráskor a fájl létrehozódik a megadott helyen, ha létezik a fájl, akkor pedig tartalma törlődni fog, és üres fájlként lesz megnyitva. Hozzáfűzéskor a létező fájl beolvasásra kerül, a kurzor pedig a fájl végén fog elhelyezkedni, nem létező fájl esetén pedig létrehozza azt. A megnyitott fájlt a program utolsó fázisában (vagy ahol szükség van erre) be kell zárnunk az fclose() eljárással, ezzel visszaíratjuk a memóriából a fájlba a módosításokat. Fontos kiemelni még az fgets() eljárást, ami egy karaktertömbbe képes soronként beolvasni a fájlból. Ezen felül az fseek() beépített funkció is hasznos lehet, segítségével a fájlon belül tudunk navigálni, bezárás nélkül tudjuk a kurzort a fájl elejére, végére, vagy egy tetszőleges helyre állítani. Fájlokat az fprintf() eljárással tudunk írni, ami gyakorlatilag egy módosított printf() eljárás. A fájl mutatójával kiegészítve ugyanazon módon írható a fájl, mintha csak szabvány kimenetre íratnánk ki valamit. fp = fopen(dest, X ) fclose(fp) Fájl megnyitása. fp a felvett fájlmutató, dest az útvonal (string), X a megnyitás módja (r, w, a) Fájl bezárása fgets(mibe_str,mennyit,honnan_fp) Egy sor beolvasása a fájlból (sor vége: \n) fseek(fp,0,seek_set) rewind(fp) fprintf(fp, kiiratas fajlba\n ) c = getc(fp) A kurzor helyének beállítása A kurzor visszaállítása a fájl elejére Kiíratás a fájlba A következő karakter beolvasása a fájlból Pointerünk NULL értéket kap, ha a fájlmegnyitás nem sikerült, EOF jelzést, ha a kurzor a fájl legvégén (végjelen) áll. Az fseek() függvény konstans értékei: SEEK_SET (fájl eleje) és SEEK_END (fájl vége). Írjunk programot, mely 5 bolt adatait tartja nyilván. Minden boltban 5 féle árú lehet, mindegyik árúnak van egységára, és neve. Minden boltnak kérjük be a nevét és az egyes árúhoz tartozó rendelések számát, majd írassuk ki egy fájlba az egyes üzletekhez tartozó rendelések összértékét. Határozzuk meg a legnagyobb beruházást végző üzlet nevét. Az egyes árúk neveit és egységárát a program elején egy külön eljárás segítségével határozzuk meg. o Módosítsuk az előző programot úgy, hogy egy előre (általunk) meghatározott szerkezető fájlból képes legyen 5 darab árút beolvasni, és a program lefutásához ezeket az adatokat használni. Írjunk olyan programot, mely egy tetszőleges fájlról megmondja, hogy tartalmazza-e a program karakterláncot. Amennyiben tartalmazza, úgy írja ki a kurzor aktuális pozícióját.

7 5. Dinamikus memóriafoglalás Számtalanszor előfordul az az eset, mikor előre meghatározhatatlan, hogy mekkora méretű tömböt kell felvennünk. A fix elemszámmal felvett tömb nem mindig megfelelő az adott célra, mert lehet, hogy nagyobb méretű fog kelleni, vagy pont fordítva; túl nagy a tömb és éppen ezért pazarlóan bánik a memóriával. A dinamikus memóriafoglalással bármikor pontosan akkora memóriát tudunk lefoglalni, amekkora kell. A foglalásra írjunk egy külön függvényt, mely paraméterként a lefoglalandó tömbelemek számát várja, visszatérő értéktípusa pedig a lefoglalt memóriaterületen elhelyezett tömb kezdőcíme, vagyis egy mutató. Abban az esetben, ha a foglalás valamilyen oknál fogva sikertelen volt, a mutató NULL értéket vesz fel. A foglalás a calloc() beépített függvénnyel történik, amely paraméterként a lefoglalandó tömb elemszámát, valamint az egyes elemek méretét várja. Előbbit átadtuk a foglaló függvénynknek, utóbbira pedig a sizeof(adattipus) kifejezést használhatjuk. Visszatérési értéktípusa megegyezik a fenntebb leírtakkal. A kapott tömböt ezután ugyanúgy használhatjuk (akár indexekkel is), ahogyan azt megszokhattuk a fix mérettel felvett tömböknél. A memóriaterületet a program futása végén szabadítsuk fel a free() eljárással. Megjegyzés: a calloc() függvény a felvett memóriaterületet nullázza, ami plusz művelet. A malloc() függvény érintetlenül adja át a memóriaterületet, cserébe valamivel gyorsabb. A gyakorlatban ennek nincs nagy jelentősége. - Írjunk olyan programot, mely egy festékbolt készletét képes tárolni. Az adatok legyenek struktúrában tárolva. Egyes festékeknek van neve (színek) és mennyisége. Azt, hogy hány ilyen adategyüttest kérjünk be a program a futása elején kérje be tőlünk, és ennek megfelelően foglaljunk neki helyet a memóriában. A bekérés végeztével az adatokat írassuk ki egy fájlba keszlet.txt néven! - Írjunk olyan programot, melyben két általunk megírt függvény kerül meghívásra. Ez egyik kérjen be tölünk egy pozitív egész számot, majd ezt a számot használjk fel egy egész típusú tömb felvételére. A tömb elemeinek adjunk értékeket. A másik eljárás írassa ki egy fájlba a tömbben lévő elemeket tabulátorral elválasztva!

8 6. Többdimenziós tömbök A többdimenziós tömbök olyan összetett tömbök, melynek elemei is tömbökből állnak. Az egyes elemeket többszintű indexeléssel érhetjük el. Használtunk már sztringekből álló tömböt, ami nem más, mint egy 2D karaktertömb (a sztring egy karakterekből álló tömb). A kétdimenziós tömb közismertebb neve a mátrix. Bármilyen primitív vagy összetett adattípusból tudunk többdimenziós tömböket létrehozni. A többdimenziós tömbök felvételét az alábbi ábra szemlélteti egy egész számokat tartalmazó mátrixszal: Ebben az esetben (int) az első index a sor, a második index az oszlop elemszáma. Fontos megjegyezni, hogy a sorrend felcserélhető, ekkor viszont ügyelnünk kell a sorrendre minden tömbműveletnél. Stringek esetében az első index a sztringek kívánt számát, míg a második index az egyes sztringek (karaktertömbök) elemszámát határozza meg. A tömb egyes elemeinek az elérése a megszokott módon történik, az egyedüli változást a többes indexelés jelenti (mátrixoknál pl.: matrix[i][j] vagy matrix[0][max-1]). A helyes indexelés után az egyes tömbelemek az eddigi megszokott módon kezelhetőek. Sztringek esetében a getline() függvénynek át kell adnunk a tömbünk nevét, valamint azt, hogy a mátrix hányadik sorába szeretnénk bekérni. Így az eddigi megszokott paraméter kiegészül a tömb megfelelő indexével. - Kérjünk be futási időben meghatározott számú valós számot. A számokat tárolás után egy külön eljárás segítségével rendezzük sorba, majd írassuk ki egy fájlba sor.txt néven! - Futási időben kérjünk be két egész pozitív számot 5 és 10 között. Az adatoktól függően dinamikusan vegyünk fel egy int mátrixot, amin soronként végighaladva töltsük fel 1-től kezdve számokkal. Az kitöltött mátrixot jelenítsük meg a szabvány kimeneten, és mentsük el egy fájlba is matrix.txt néven!

9 7. Egyirányú láncolt lista A listák olyan struktúraelemek összessége, melyeknek száma dinamikusan méretezhető, és az egyes elemek egy (vagy két) mutató segítégével össze vannak kapcsolva, ezáltal egy bizonyos sorrendiséget kialakítva. Gyakorlatban ez egy struktúra, melynek adattagjai között szerepel egy (vagy két) ugyanolyan struktúra típusra felvett mutató, és mellette a struktúrára jellemző más primitív vagy összetett adattagok. Egyirányú lista esetén csupán egy mutató áll rendelkezésünkre, így a listában való kereséskor csak egy irányban tudjuk bejárni a listát. Az utolsó listaelem mutatója minden esetben NULL értéket vegyen fel. Az első elem memóriacímét el kell tárolni, mert a lista használatakor tudnunk kell, hogy a lista hol kezdődik. Minden esetben az egyes láncelemek dinamikusan (malloc vagy calloc) kerülnek felvételre, majd felfűzésre. Egy elem törléséhez szükségünk lesz az előző elem címére, így bejáráskor két mutatóra lesz szükségünk; az aktuális elemre mutató mutató, és egy, az előző elem memóriacímét tartalmazó mutató. A következő elem az aktuális elem tagjaként elérhető. Egy példa egyirányú láncolt listára: - Írjunk olyan programot, mely üres sorig képes színeket bekérni a felhasználótól. Az egyes színeket a program lefutása után írjuk ki egy fájlba. - Írjunk olyan programot, mely az előző feladatban letárolt színek neveit beolvassa fájlból, és egy láncolt listát hoz létre belőlük. A lista bejárásával írassuk ki a színeket a képernyőre.

10 8. Kétirányú láncolt lista Hamarosan

11 9. Parancssori paraméterek Ha parancssorból hívjuk meg a programunkat, akkor lehetőségünk van paraméterezni a programunkat. Valójában ez a paraméter a main függvényünk paramétere. A paraméterek számossága egy int argc nevű változóban, míg maguk a paraméterek egy char **argv 2D karaktertömbben foglalnak helyet. Az egyes paramétereket használhatjuk akár kapcsolókként is, melyekkel befolyásolhatjuk programunk működését, lefutásának módját. Fontos, hogy a paraméterek a képen látható sorrendben legyenek: először a paraméterszámláló, majd a karaktertömb. Egy példaprogram a paraméterek kiíratására: A program kimenete kapcsolo1 és kapcsolo2 paraméterekkel: Az első paraméter mindig a programunk elérési útvonala. Ebből következik, hogy a számláló értéke minden esetben nagyobb vagy egyenlő mint 1.

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

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

Programozás I. - 11. gyakorlat

Programozás I. - 11. gyakorlat Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar

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

10. gyakorlat Struktúrák, uniók, típusdefiníciók

10. gyakorlat Struktúrák, uniók, típusdefiníciók 10. gyakorlat Struktúrák, uniók, típusdefiníciók Házi - (f0218) Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd

Részletesebben

Programozas 1. Strukturak, mutatok

Programozas 1. Strukturak, mutatok Programozas 1 Strukturak, mutatok Strukturak Tömb: több egyforma típusú változó együttese Struktúra: több különböző típusú de logikailag egybetartozó változó együttese, amelyet az egyszerű kezelhetőség

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

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.

Részletesebben

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7. Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a

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

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

7. gyakorlat Sorozatok, Fájlkezelés

7. gyakorlat Sorozatok, Fájlkezelés 7. gyakorlat Sorozatok, Fájlkezelés Házi ellenőrzés - f0124 Írj programot, amelyben a felhasználónak egy, a program által meghatározott számot kell kitalálnia! A felhasználó tippjét a program vagy elfogadja,

Részletesebben

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás Mérnöki programozás 7 Szerkesztette: dr. Vass Péter Tamás Függvények Függvény (function) egyedi azonosítónévvel ellátott számítási egység. A függvények formájában kidolgozott programkódok viszonylag egyszerűbb

Részletesebben

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism) Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

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

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu

Részletesebben

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás alapjai gyakorlat. 2. gyakorlat C alapok Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel

Részletesebben

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk Láncolt lista int szam char szoveg[10] következő elemre mutató pointer int szam char szoveg[10] következő elemre mutató pointer elem elem elem int szam char szoveg[10] következő elemre mutató pointer A

Részletesebben

Programozás I gyakorlat. 10. Stringek, mutatók

Programozás I gyakorlat. 10. Stringek, mutatók Programozás I gyakorlat 10. Stringek, mutatók Karakter típus A char típusú változókat karakerként is kiírhatjuk: #include char c = 'A'; printf("%c\n", c); c = 80; printf("%c\n", c); printf("%c\n",

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa: 1. Tétel Az állomány két sort tartalmaz. Az első sorában egy nem nulla természetes szám van, n-el jelöljük (5

Részletesebben

Programozás II. Fájlkezelés

Programozás II. Fájlkezelés Programozás II. Fájlkezelés Kocsis Zoltán Tamás 2013. 03. 28 Fájlkezelés Az stdio.h-ban megadott FILE* típusú pointerrel és függvényekkel lehet elérni a fájlunkat. FILE *fp; /* fájl mutató (file pointer/handle)

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

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

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor. Függvény pointer Több feladat közül futási időben döntöm el, hogy melyiket hajtom végre. A függvényre mutató pointer a függvény kódjának a címére mutat, azon keresztül meghívhatom a függvényt. A pointernek

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

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS 2015-2016 Fájlkezelés PHP-ben Fájlok és könyvtárak kezelése 2 A PHP a Javascript-hez hasonlóan, nem képes a felhasználó merevlemezén

Részletesebben

Listák, szótárak, fájlok Listák, szótárak, fájlok

Listák, szótárak, fájlok Listák, szótárak, fájlok lista fogalma, használata listák másolása (alap szintű, teljes körű) szótárak fogalma, használata adatbázis alkalmazás fejlesztése műveletek fájlokkal (megnyítás, írás, olvasás, lezárás) rejtjelező alkalmazás

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

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája: Struktúrák (struct) A struktúra egy olyan összetett adatszerkezet, amely nemcsak azonos típusú elemeket rendelhet össze. A struktúra definíciójában leírjuk, hogy a struktúra hogyan épül fel. A struktúra

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 alapjai 6. előadás. Wagner György Általános Informatikai Tanszék

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék Programozás alapjai 6. előadás Wagner György Általános Informatikai Tanszék Record A valós életben a nyilvántartásra kerülő adatok nem azonos típusúak. Pl.: Név Cím Telefon GySz Fiz Kis Béla Miskolc Török

Részletesebben

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

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

Részletesebben

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

Programozás 6. Dr. Iványi Péter Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak

Részletesebben

Adatbázisrendszerek I. Fájlszintű adattárolás C-ben

Adatbázisrendszerek I. Fájlszintű adattárolás C-ben Adatbázisrendszerek I. Fájlszintű adattárolás C-ben Feladat: Tervezzen meg egy fájlszintű adatnyilvántartó rendszert és implementálja C nyelven. A tárolandó adatok: autó rendszáma, típusa, színe, gyártási

Részletesebben

Mutatók és mutató-aritmetika C-ben március 19.

Mutatók és mutató-aritmetika C-ben március 19. Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:

Részletesebben

Készítette: Nagy Tibor István

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

Részletesebben

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

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

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

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

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés 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

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. 7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,

Részletesebben

A C programozási nyelv VI. Parancssori argumentumok File kezelés

A C programozási nyelv VI. Parancssori argumentumok File kezelés A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori

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

Adatszerkezetek 1. Dr. Iványi Péter

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

Részletesebben

Egyirányban láncolt lista

Egyirányban láncolt lista Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten

Részletesebben

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. 11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;

Részletesebben

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

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a

Részletesebben

Adatszerkezetek I. 1. előadás

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

Részletesebben

Í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

10. gyakorlat. Pointerek Tárolási osztályok

10. gyakorlat. Pointerek Tárolási osztályok 10. gyakorlat Pointerek Tárolási osztályok Pointer A pointer egy mutató egy memóriacellára, egyfajta "parancsikon", csak nem fájlokra, hanem változókra. Létrehozás: tipus * név;, ahol a típus a hivatkozott

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 8. gyakorlat Fájlkezelés Surányi Márton PPKE-ITK 2010.11.02. Fájlkezelés C++-ban C++-ban van lehet ségünk fájlok kezelésére. Itt már tényleges fájlokkal dolgozunk, nem pedig

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

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

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

Részletesebben

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

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

Programozási nyelvek II. JAVA

Programozási nyelvek II. JAVA Programozási nyelvek II. JAVA 8. gyakorlat 2017. november 6-10. Általános tudnivalók A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat, illetve a szövegek

Részletesebben

Adatbázisrendszerek I. File-szintű adattárolás C-ben. 1. gyakorlat

Adatbázisrendszerek I. File-szintű adattárolás C-ben. 1. gyakorlat Adatbázisrendszerek I. File-szintű adattárolás C-ben 1. gyakorlat Feladat: Tervezzen meg egy fájlszintű adatnyilvántartó rendszert és implementálja C nyelven. A tárolandó adatok: autó rendszáma, típusa,

Részletesebben

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Reguláris kifejezések - alapok, BASH Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor

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

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása A verem (stack) A verem egy olyan struktúra, aminek a tetejére betehetünk egy új (vagy sorban több) elemet a tetejéről kivehetünk egy (vagy sorban több) elemet A verem felhasználása Függvény visszatérési

Részletesebben

Felvételi tematika INFORMATIKA

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

Részletesebben

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

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

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

Programozás alapjai. 10. előadás

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális

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

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt

Részletesebben

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt: BME MOGI Gépészeti informatika 12. 1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt: Matematika;Fizika;Történelem;Irodalom;Nyelvtan;Angol;Testnevelés;

Részletesebben

Dinamikus mátrixok. Dinamikus többdimenziós tömbök

Dinamikus mátrixok. Dinamikus többdimenziós tömbök Fém /H arány 0,03 0,02 0,01 0,01 0,001 ~ 0 Kor (év) < 10 8 10 8-10 9 10 9-10 10 1-1,2 10 10 >1,2 10 1 >1,3 Összesített tömeg (Mo) Legfényesebb csillagok Főbb képviselők, markerek 2-3 10 9 5 10 9 4,7 10

Részletesebben

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

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java -en objektumot tárolunk. Automatikus változók Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 3. előadás - végrehajtási vermen (execution stack) jönnek létre - alprogramok

Részletesebben

Példák tematikus csoportosításban

Példák tematikus csoportosításban 1. fejezet Példák tematikus csoportosításban 1.1. A legegyszerűbb feladatok 1.1. feladat. Írjon programot, amely billentyűzetről látható karaktereket olvas mindaddig, amíg a @ karaktert meg nem kapja.

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a

Részletesebben

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

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

Részletesebben

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

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

Bevezetés a C++ programozási nyelvbe

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

Részletesebben

Ó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 Struktúrák és Unionok Dr. Schuster György 2016. október 6. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C programozási 2016. októbernyelv

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

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

Gyakorló feladatok az 1. nagy zárthelyire

Gyakorló feladatok az 1. nagy zárthelyire Gyakorló feladatok az 1. nagy zárthelyire 2012. október 7. 1. Egyszerű, bevezető feladatok 1. Kérjen be a felhasználótól egy sugarat. Írja ki az adott sugarú kör kerületét illetve területét! (Elegendő

Részletesebben

Programozás I. segédlet

Programozás I. segédlet Programozás I. segédlet Tartalomjegyzék Előszó... 2 1. Bevezetés... 3 2. Adattípusok, értékadás, egyenlőségek... 4 3. Kiíratás... 5 4. Elágazás... 6 5. For ciklus... 7 6. While, do while ciklusok... 8

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

Programozás I. segédlet

Programozás I. segédlet Programozás I. segédlet Tartalomjegyzék Előszó... 2 1. Bevezetés... 3 2. Adattípusok, értékadás, egyenlőségek... 4 3. Kiíratás... 5 4. Elágazás... 6 5. For ciklus... 7 6. While, do while ciklusok... 8

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

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

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

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

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

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév 1. feladat (nehézsége:*****). Készíts C programot, mely a felhasználó által megadott függvényt integrálja (numerikusan). Gondosan tervezd meg az adatstruktúrát! Tervezz egy megfelelő bemeneti nyelvet.

Részletesebben

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot

Részletesebben

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH recap, reguláris kifejezések Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor

Részletesebben

1. gyakorlat

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

Részletesebben

C++ programozási nyelv Konstruktorok-destruktorok

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

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

Programozás alapjai 9.Gy: Struktúra 2.

Programozás alapjai 9.Gy: Struktúra 2. Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).

Részletesebben