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

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

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

Átírás

1 Adatbázis- és szoftverfejlesztés elmélet Informatikai rendszergazda 10. évfolyam Készítette: Nagy Zsolt Készült: 2015

2 Tartalom Bevezető... 4 Futtatható program elkészítése IDE... 5 Adattípusok jellemzői... 6 Csoportosításuk:... 7 Nevesített konstans... 7 Deklaráció... 7 Változó... 8 Elemi adattípusok... 9 Egész... 9 Valós Karakter Felsorolt, logikai, intervallum Összetett, strukturált adattípusok Karakterlánc, string, sztring Megvalósítások különböző programozási nyelvekben Karakterlánc műveletek Tömb Tömb indexelése Egydimenziós tömb Kétdimenziós tömb Többdimenziós tömb Rekord adattípus Pascal nyelvi megvalósítás C nyelvi megvalósítás Osztály fogalma Objektum, példány fogalma String osztály Utasítások Kifejezések jellemzői Operátorok Aritmetikai, logikai kifejezések Szekvencia Elágazások... 22

3 Egyágú szelekció Kétágú szelekció Többágú szelekció Független feltételek Ciklusok, iteráció Számláló ciklus Előfeltételes ciklus Végfeltételes ciklus Alprogramok Eljárás Függvény... 24

4 Bevezető Programok végrehajtása: A processzornak saját nyelve van, csak azt beszéli! Ez a gépi kód (gépi utasítás) Utasításkészlet. A magas szintű nyelven megírt programot forrásprogramnak, forrásszövegnek nevezzük. Minden magas szintű nyelv egyben formális nyelv, amely meghatározott nyelvtan szerint használható. A program forrásszövegére vonatkozó formai, nyelvtani szabályok összességét szintaktikai szabályoknak hívjuk. A tartalmi, értelmezési, jelentésbeli szabályok alkotják a szemantikai szabályokat. Egy magas szintű programozási nyelvet szintaktikai és szemantikai szabályainak együttese határoz meg.

5 Futtatható program elkészítése. Egy magas szintű programozási nyelven megírt forrásszövegből elő kell állítani a processzor számára érthető gépi kódú programot. Erre két technika létezik: fordítóprogramos interpreteres A fordítóprogramos megoldás folyamata Forrásszöveg Fordítás + Fordítóprogram Tárgykód Egyéb tárgykód Kapcsolatszerkesztő + Kapcsolat szerkesztés Betöltés a memóriába Futtatható program Folyamat, Process + + Betöltő Futtató rendszer IDE Az implementációk manapság egy integrált fejlesztői környezetben (Integrated Development Environment IDE) érhetők el. Részei: editor (szövegszerkesztő a forrásszöveg készítéséhez) compiler (fordító), interpreter (értelmező) linker (kapcsolatszerkesztő) debuger (nyomkövető, hibakereső) a szemantikai hibák feltárásában segít.

6 Adattípusok jellemzői Az adatok csoportosításának, kategorizálásának alapja az, hogy az azonos tulajdonságok kiemelésével kategóriákat, típusokat hozzunk létre. Egy kis ismétlés: Program = algoritmus + adatok Egy program végrehajtása során a következő történik: Bemeneti adatok Feldolgozás Kimeneti adatok Vagyis a programok adatokat dolgoznak fel. Ezek az adatok a felhasználásuk sokféleségéből adódóan nagyon változatosak lehetnek. Vannak olyanok, amelyekkel számolni akarunk, és olyanok is, amelyekkel nem. Pl.: szöveg, szám, de az előbbi kategóriák is bővíthetők (pár karakteres, vagy több Gbyteos szövegek). Éppen ezért nem mindegy, hogy milyen adat csoportokat akarunk kezelni. Az adattípus segítségével adatokat tudunk kategorizálni, csoportosítani. Az adattípus maga egy absztrakt programozási eszköz, amely mindig más, konkrét programozási eszköz egy komponenseként jelenik meg. Az adattípusnak van neve, ami egy azonosító. Egy adattípust három dolog határoz meg: tartomány: Azon értékek halmaza, amelyeket az adott típusú konkrét programozási eszköz felvehet értékként. (15, 16, 17, 18, stb.) műveletek: Azon operációk, amelyeket a tartomány értékein végre tudunk hajtani. (+, -, *, /, stb.) reprezentáció: Belső ábrázolási mód. Az egyes típusok tartományába tartozó értékek tárban való megjelenését határozza meg. Tehát azt, hogy az egyes elemek hány bájtra és milyen bitkombinációra képződnek le. (például hány byte-on tároljuk, csak pozitív számok, vagy lehetnek negatív értékei is)

7 Az adott programozási nyelvre jellemző: beépített, standard típusok programozó által definiált egyszerű, skalár összetett, strukturált Csoportosításuk: Egyszerű, skalár típusok: Olyan értékek, amelyek egy konkrét adatot jelentenek. Nem bonthatók fel kisebb egységekre. Pl.: Karakterek: a, b, +, 2, %, stb. Számok: 2, 3, 54, 6, -2, stb. Összetett, strukturált típusok: Itt több értéket kezelünk együtt. Az értékeket fel tudjuk bontani kisebb, önmagában is kezelhető (értelmezhető) részekre. Pl.: Dátum: év, hónap, nap Beépített típusok: amelyek egy programozási nyelv részei. A programozó felhasználhatja őket saját programozási eszközei létrehozásához. Programozó által létrehozott (definiált) típus: amelyet a programozó saját maga hozhat létre, megadva az értékek körét, az elvégezhető műveleteket és a megjelenését bitről-bitre. Nevesített konstans Olyan programozási eszköz, amelynek három komponense van: név, típus, érték. A nevesített konstanst deklarálni kell. A név egy azonosító, amely a programban mindig az értéket hivatkozza. A típus az értéknek megfelelően rendelődik hozzá. Deklaráció Minden névvel rendelkező saját programozási eszközt deklarálni kell. Ez deklarációs utasítással történik, amely információi a fordítóprogramnak szolnak. A fordítóprogram a deklaráció alapján rendeli hozzá a saját programozási eszközhöz a használat módjára vonatkozó információkat. Deklarációk fajtái: explicit: A programozó végzi explicit deklarációs utasítás segítségével. implicit: A programozó végzi. Betűkhöz rendel attribútumokat egy külön deklarációs utasításban. automatikus: A fordítóprogram rendel attribútumokat azokhoz a változókhoz, amelyekhez nincsenek explicit és implicit módon attribútumok rendelve.

8 Változó Olyan programozási eszköz, amelynek négy komponense van: név, attribútumok, cím, érték. A név egy azonosító. A program szövegében a változó mindig a nevével jelenik meg, az viszont a szövegkörnyezettől függően bármelyik komponenst jelentheti. Az attribútumok olyan jellemzők, amelyek a változó futás közbeni viselkedését határozzák meg. Az eljárás-orientált nyelvekben a legfőbb attribútum a típus, amely a változó által felvehető értékek körét határolja be. Változóhoz attribútumok deklaráció segítségével rendelhetők. A címkomponens a tárnak azt a részét határozza meg, ahol a változó értéke elhelyezkedik. A futási idő azon részét, amikor egy változó rendelkezik címkomponenssel, a változó élettartamának nevezzük. A programszöveg azon részét, amelyben egy név az általunk elérni kívánt programozási eszközt hivatkozza, a név hatáskörének, vagy láthatóságának nevezzük. A mechanizmust hatáskörkezelésnek. Tehát egy név hatásköre az a programszöveg egység, amelyben felhasználási módja, jellemzői, jelentése ugyanazok. Hatáskör: globális, osztályszintű lokális Láthatóság: publikus, védett, protected, private csomag szintű Java package (csomag) A változóhoz cím rendelhető az alábbi módokon: Statikus tárkiosztás: A címkomponens a futás előtt eldől. A betöltő helyezi el a változót egy általa meghatározott címre. A cím, futás alatt nem változik. Dinamikus tárkiosztás: A cím hozzárendelését a futtató rendszer végzi. A változó akkor kap címkomponenst, amikor aktiválódik az a programegység, amelynek ő lokális változója, és a címkomponens megszűnik, ha az adott programegység befejezi a működését. A címkomponens a futás során változhat, sőt vannak olyan időintervallumok, amikor a változónak nincs címkomponense.

9 Programozó által vezérelt tárkiosztás: A változóhoz a programozó rendel címkomponenst futási időben. o abszolút cím rendelése a változóhoz o relatív cím rendelése o speciális: A programozó csak azt adja meg, hogy mely időpillanattól kezdve legyen az adott változónak címkomponense, az elhelyezést a futtató rendszer végzi. A programozó nem ismeri az abszolút címet. A változó értékkomponense mindig a címen elhelyezett bitkombinációként jelenik meg. A bitkombináció felépítését a típus által meghatározott reprezentáció dönti el. A változó értékkomponenst kaphat: értékadó utasítással: Java-ban változónév = kifejezés; Az értékadó utasítás bal oldalán a változó neve általában a címkomponenst, kifejezésben az értékkomponenst jelenti. Típus egyenértékűséget valló nyelvekben a kifejezés típusának azonosnak kell lennie a változó típusával, típuskényszerítést valló nyelveknél pedig mindig a kifejezés típusa konvertálódik a változó típusára. input perifériáról kezdőérték adás: o explicit kezdőérték adás, a programozó végzi o automatikus kezdőérték adás Futás közben történik az értékadás. Ez után a változó korábbi értéke már nem hozzáférhető. Csak egy bitkombináció lehet egy időben egy helyen. Mindig adjunk kezdőértéket a változóknak. A lexikális elemzés ismeri fel a nevesített konstanst és a változót. Elemi adattípusok Olyan értékek, amelyek egy konkrét adatok jelentenek. Nem bonthatók fel kisebb egységekre. Egész 1, 2, 56, 5666, stb. Sorszámozott adattípusok. Lehetnek: Előjel nélküli: Negatív számokat nem tárolhatunk velük. o 1 byte-on tárolhatóak, amelyek értékkészlete: o 2 byte-os:

10 o 4 byte-os: o Stb. Előjeles: Lehetnek negatív számok is. Az első bit az előjelnek van fenntartva. o 1 byte-os: -128, -127,, 0,, 126, 127 ( ) o 2 byte-os: o Stb. Valós Törtszámok: Tizedes tört: pl. 234,5 Lebegőpontos alak: 2,345*10 2 exponens * alap mantissza Karakter A programozási nyelv által használt karakter kódtáblából egy karaktert jelölnek ki. (számok, abc karakterei, vezérlő karakterek, egyéb) Karakter kódtábla: Minden programozási nyelv mögött van egy olyan táblázat, amelyben felsorolják a használható karaktereket. Ebben a karakterekhez egy sorszám van rendelve. Pl. a Pascal az ASCII kódtáblát használja, a Java az UNICODE-ot.

11 ASCII kódtábla Felsorolt, logikai, intervallum Felsorolt: Értékek sorozata, amely mögött sorszámozás van. Pl.: HÉTFŐ, KEDD, stb. a hét napjai. Logikai: A logikai igen-nem, igaz-hamis eltárolására alkalmas. Intervallum: Valamely sorszámozott típus egy résztartománya. Pl.: 3, 4, 5, 6 az egész számok tartományából. Összetett, strukturált adattípusok Az értékeket fel tudjuk bontani kisebb, önmagában is kezelhető (értelmezhető) részekre. Karakterlánc, string, sztring Olyan adattípus, amely karakterek sorozatait tartalmazza. Ezzel az adattípussal rendelkező programozási eszközök (pl. változók) karakterek sorozatát szöveget tartalmazhatnak. (Pl.: alma, körte, narancs, stb.) A formális string tetszés szerinti (de véges) hosszúságú, a megvalósított nyelvekben ez a hossz gyakran mesterségesen maximalizált. Általánosságban, két fajtája létezik a string adattípusnak:

12 fix hosszúságú stringek, amikor függetlenül attól, hogy a string elemeinek száma elérie a maximumot, mindig ugyanakkora memóriaterületet foglalnak le a tárolásához, változó hosszúságú stringek, ahol a string hossza nem fix, és csak az aktuális hossza szerinti helyet foglal el memóriában. A legtöbb string megvalósítás nagyon hasonlít egy változó hosszúságú tömb megvalósításához, ahol az elemek tárolása karakter kódok segítségével történik. A fő különbség az, hogy a string esetében logikailag csak bizonyos kódolású karakterek tárolása megengedett. Tulajdonképen ez történik, ha UTF-8 kódolást használnak, ekkor egy karakter egy és négy byte közötti helyet foglal el. Ebben az esetben például a string hossza különbözik a tömb hosszától. Hossz: A sztring hossza megállapítható úgy, hogy a karakterek végén egy speciális jelet adunk meg. Például a NULL karaktert a C-szerű nyelvekben. Illetve direkt megadjuk a karakterek számát. Például Pascalban a karakterlánc elején egy Byte tárolja a karakter hosszát. Ezért nem lehet 255 karakternél nagyobb. Megvalósítások különböző programozási nyelvekben Pascal nyelv Deklaráció / értékadás: var nev: string[4]; begin nev := alma ; Képe a memóriában:

13 C nyelv: Deklaráció / értékadás: char *nev; *nev = ALMA; Képe a memóriában: Java nyelv: Deklaráció / értékadás: String str = Hello; Képe a memóriában: Karakterlánc műveletek Műveletek: hossz megállapítása: Vagy eltároljuk az aktuális hosszat, vagy számolunk a \0 karakterig. o Pascal nyelv: nev[0], illetve length(nev) hivatkozás megadja a karakterlánc aktuális hosszát. o C nyelv: strlen(nev) megszámolja a karaktereket a \0 jelig. o Java nyelv: str.length() metódus visszaadja a szöveg hosszát. összefűzés (konkatenáció): két vagy több karakterlánc egymás után fűzése. karakter, részlánc beszúrása, törlése, cseréje: A beszúrás karaktert vagy részláncot adott pozíciótól kezdve beilleszt úgy, hogy a hátralévő karaktereket feljebb tolja. A törlés adott karaktert vagy karakterláncot távolít el úgy, hogy a fentebb lévő

14 karaktereket, ha vannak, rámásolja. A csere eljárás adott indextől kezdve, adott indexig lecserél karaktereket egy megadott részláncra. karakter, részlánc keresése: Adott karaktert vagy részláncot keresünk a sztring elejétől, vagy megadott indextől kezdve. A visszaadott érték a megtalált szöveg első karakterének helye. Tömb Azonos típusú elemeket tartalmaz. (Ebben az értelemben majdnem olyan, mint a karakterlánc, de az elemek nem csak karakterek lehetnek.) Az egyes elemek lehetnek: számok, karakterek, karakterláncok, logikai értékek, teljes tömbök, rekordok és objektumok is. Az elemek sorszámozva vannak, és elérésük ezekkel a sorszámokkal történik. Ezeket a sorszámokat indexeknek nevezzük. Pl.: Fővárosok (Budapest, Prága, London, Pozsony, stb.). Tömb indexelése Az egydimenziós tömb minden egyes eleméhez egy egyértelmű indexérték tartozik, amely meghatározza az elem tömbön belüli helyét. Az index típusának sorszámozhatónak kell lennie. Az indextartomány két határérték közötti, és az indexek egyesével növekszenek. Indexelések például: A matematikában az index általában egész típusú, és az alsó határ 1. A Javában az index egész típusú, és az alsó határ minden esetben 0. Lásd: AngsterErzsébet_Java1.pdf jegyzete 384. oldaltól Egydimenziós tömb Lásd: AngsterErzsébet_Java1.pdf jegyzete 384. oldaltól

15 Kétdimenziós tömb Lásd: AngsterErzsébet_Java1.pdf jegyzete 384. oldaltól Többdimenziós tömb Lásd: AngsterErzsébet_Java1.pdf jegyzete 384. oldaltól Rekord adattípus Olyan adatszerkezet, amely több különböző típusú elemből állhat, és ezeket az adatokat valamilyen okból egy egységként akarjuk használni. Hasonló a tömbhöz, abban a tekintetben, hogy több részből áll. Viszont a rekord megengedi, hogy az egyes részek különböző típusúak

16 legyenek. A típust a programozó hozza létre, amelyhez nevet rendel, ezért deklarálni szükséges. Ilyen például egy emberhez tartozó néhány adat. Pl.: Személy(Név, Születési év, Nem, Súly, Fizetés) Pascal nyelvi megvalósítás RECORD mezőazonosító, [mezőazonosító ] : típus [; mezőazonosító[, mezőazonosító ]: típus ] END Rekord típus és változó definíciója és deklarációja Type TSzemely = Record nev: String[40]; szul_ev: Integer; nem: Boolean; suly: Real; fizetes: Integer; End; Var szemely: TSzemely; C nyelvi megvalósítás Szintakszis Példa: struct [structure tag] { member definition; member definition;... member definition; } [one or more structure variables]; struct szemely{ char * nev; int szulev; char nem; float suly; int fizetes; } //változó deklaráció struct szemely szemelyek[5];

17 Osztály fogalma Objektum, példány fogalma String osztály

18 Utasítások Az eljárás-orientált nyelveken megírt programok olyan egységei, amelyek egyrészt az algoritmusok egyes lépéseit adják, másrészt a fordítóprogram ezek segítségével generálja a tárgyprogramot. Az utasítások olyan programozási eszközök, amelyek az algoritmusok megvalósítására alkalmasak egy adott programozási nyelven. deklarációs végrehajtható utasítások A deklarációs utasítások mögött nem áll tárgykód. Ezen utasítások teljes mértékben a fordítóprogramnak szólnak, attól kérnek valamilyen szolgáltatást, üzemmódot állítanak be, illetve olyan információt szolgáltatnak, melyeket a fordítóprogram felhasznál a tárgykód generálására. Befolyásolják a tárgykódot, de maguk nem kerülnek lefordításra. A programozó a névvel rendelkező saját programozási eszközeit tudja deklarálni. A végrehajtható utasításokból generálja a fordítóprogram a tárgykódot. Általában a magas szintű nyelvek végrehajtható utasításaiból több - néha sok gépi kódú utasítás áll elő. Végrehajtható utasítások: értékadó utasítás a változó értékkomponensét állítja be üres utasítás ahol a szintaktika megköveteli vezérlés átadó: ugró GOTO címke eljáráshívás vezérlési szerkezetek: elágaztató: kétirányú többirányú esetszétválasztás ciklusszervező: feltételes: kezdőfeltételes végfeltételes előírt lépésszámú felsorolásos végtelen

19 összetett I/O utasítások egyéb utasítások Értékadó utasítás: Olyan utasítás, amellyel a váltózó értékkomponensét lehet beállítani. Pascalban: változónév := kifejezés; Java-ban: változó = kifejezés; Az értékadó utasítás bal oldalán a változó neve általában a címkomponenst, kifejezésben az értékkomponenst jelenti. Kifejezések jellemzői Szintaktikai eszközök, amelynek van értéke és típusa. Arra valók, hogy a program egy adott pontján ott már ismert értékekből az adott operátoroknak megfelelően új értéket határozzon meg. Mivel nincs neve, így nem kell deklarálni. Formálisan a következő összetevőkből áll: operandusok (értékek): literál, nevesített konstans, változó, függvényhívás operátorok: Műveleti jelek. Az értékkel végrehajtandó műveleteket határozzák meg. kerek zárójelek: A műveletek végrehajtási sorrendjét befolyásolják. A legegyszerűbb kifejezés egyetlen operandusból áll. Minden nyelv definiálja a saját operátor készletét. Operátor túlterhelés. Attól függően, hogy egy operátornak hány operandusa lehet, beszélhetünk: egyoperandusú (unáris) kétoperandusú (bináris) háromoperandusú (ternáris) Kétoperandusú operátorok esetén az operandusok és operátorok sorrendje lehet: prefix (* 3 5) infix (3 * 5) posztfix (3 5 *)

20 Azt a folyamatot, amikor a kifejezés értéke és típusa meghatározódik, a kifejezés kiértékelésének nevezzük. A kiértékelés során adott sorrendben elvégezzük a műveleteket, előáll az érték, és hozzárendelődik a típus. A kifejezés értékének meghatározása futási idejű tevékenység. A fordítóprogramok általában az infix kifejezésekből posztfix kifejezéseket állítanak elő, és ezek tényleges kiértékelése történik meg. Az infix alak nem egyértelmű. Az ilyen alakot használó nyelvekben az operátorok nem azonos erősségűek. Az ilyen nyelvek operátoraikat egy precedencia táblázatban adják meg. A precedencia táblázat sorokból áll, az egy sorban megadott operátorok azonos erősségűek (prioritás), az előrébb szereplők erősebbek. Minden sorban meg van adva a kötési irány, amely megmondja, hogy az adott sorban szereplő operátorokat milyen sorrendben kell kiértékelni, ha azok egymás mellett állnak egy kifejezésben. A kötési irány lehet balróljobbra, vagy jobbról-balra. Az infix kifejezések esetén kell használni a kerek zárójeleket, amelyek a precedencia táblázat alapján következő végrehajtási sorrendet tudják felülbírálni. A típus egyenértékűséget valló nyelvek azt mondják, hogy az operátor operandusainak azonos típusúaknak kell lenniük. Ilyenkor nincs konverzió. A típuskényszerítés elvét valló nyelvek esetén különböző típusú operandusai lehetnek az operátoroknak. A műveletek viszont csak az azonos belső ábrázolású operandusok között végezhetők el, tehát különböző típusú operandusok esetén konverzió van. Ilyen esetben a nyelv definiálja, hogy egy adott operátor esetén egyrészt milyen típuskombinációk megengedettek, másrészt mi lesz a művelet eredményének a típusa. A kifejezés kiértékelésénél minden művelet elvégzése után eldől az adott részkifejezés típusa és az utoljára végrehajtott műveletnél pedig a kifejezés típusa. Konstans kifejezés: Az a kifejezés, amelynek értéke fordítási időben eldől, kiértékelését a fordító végzi. Operandusai általában literálok és nevesített konstansok lehetnek.

21 Operátorok A Java nyelv operátor készlete: A magyarázat megtalálható Angster Erzsébet Java 1 könyvének 229. oldalán. Aritmetikai, logikai kifejezések Angster Erzsébet Java 1 könyv 230. oldalától. Szekvencia Olyan utasítások, amelyek sorban egymás után hajtódnak végre.

22 Elágazások Egy feltételtől függő program elágaztatás. A szelekciós utasítás végrehajtásakor kiértékelődnek a feltételek, és ezek után az az ág hajtódik végre, amelyikhez a hozzárendelt feltétel igaz lesz. Csak egy ilyen ág lehet. Egyágú szelekció

23 Kétágú szelekció Többágú szelekció Független feltételek Ciklusok, iteráció Az iteráció segítségével utasítások ismétlődő végrehajtását adhatjuk meg. Azt, hogy az ismétlések száma milyen számú legyen, egy feltétel határozza meg. Azokat az utasításokat, amelyeken az ismétlést elvégezzük, az iteráció magjának nevezzük. Számláló ciklus Jellemzője, hogy az iteráció magja annyiszor hajtódik végre, amennyit előre meghatározunk. Ehhez szükség van egy kezdeti és egy végértékre. Annyiszor hajtódik végre az iteráció magja, amennyi az ebben az intervallumban lévő érték. Ebből következik, hogy az értékhalmaz csak megszámlálható típus lehet. Előfeltételes ciklus Jellemzője, hogy az ismétlési feltétel kiértékelése a ciklus törzsének végrehajtása előtt történik meg. Előfordulhat olyan eset is, hogy az iteráció törzse egyszer sem hajtódnak végre. Végfeltételes ciklus Jellemzője, hogy az ismétlési feltétel kiértékelése a törzs végrehajtása után történik meg. Ebben az iteráció fajtában minden esetben legalább egyszer végrehajtódik az iteráció törzse.

24 Alprogramok Eljárás Az eljárások olyan alprogramok, amelyek a főprogram bármely pontján meghívhatók, ha megadjuk az eljárás nevét és a hozzá tartozó paramétereket. Az olyan programrészletet, amely jól meghatározott adatokon műveleteket hajt végre, és ez, mint egy tevékenység jelenik meg a programban, eljárásnak nevezzük. Eljárást utasításszerűen hívunk meg! System.out.println( Üdvözöllek dicső lovag ); Függvény A függvények olyan alprogramok, amelyek a főprogram bármely pontján meghívhatók úgy, hogy egy értékadó utasítás jobb oldalán történik a függvényhívás, míg a bal oldalon egy olyan változó szerepel, melybe a függvény értéke kerül. Ha egy modul a jól meghatározott adatokon végrehajtott műveletek után egy értéket állít elő, melyet azután a programunkban minden olyan kifejezésben felhasználhatunk, melynek

25 típusa megegyezik a hozzárendelt elem típusával, akkor az ilyen modult függvénynek nevezzük. Függvényt kifejezésszerűen hívunk meg! c = Math.sqrt(4);

Programozási nyelvek (ADA)

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

Részletesebben

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

Az algoritmusok alapelemei

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

Részletesebben

Java 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

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

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

Részletesebben

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

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

Részletesebben

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

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

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

Részletesebben

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

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

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

Részletesebben

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

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

Részletesebben

A C programozási nyelv I. Bevezetés

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

Részletesebben

A C programozási nyelv I. Bevezetés

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

Részletesebben

Juhász István Programozás 1

Juhász István Programozás 1 Juhász István Programozás 1 mobidiák könyvtár Juhász István Programozás 1 mobidiák könyvtár SOROZATSZERKESZTŐ Fazekas István Juhász István Programozás 1 Egyetemi jegyzet első kiadás mobidiák könyvtár

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

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

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

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

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

Részletesebben

Adatbázis és szoftverfejlesztés elmélet

Adatbázis és szoftverfejlesztés elmélet Adatbázis és szoftverfejlesztés elmélet Témakör 4. Összefoglalás 1. A kódolás eszközei Általános szövegszerkesztő Programozói szövegszerkesztő Fejlesztői környezet Vizuális fejlesztői környezet Általános

Részletesebben

Középiskolai programozás oktatás

Középiskolai programozás oktatás Középiskolai programozás oktatás Nagy Zsolt, informatikatanár 2012 v0.6 Tartalomjegyzék Elméleti betekintő... 3 A programkészítés menete.... 3 Futtatható program elkészítése.... 4 Magas szintű nyelvek

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

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

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

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

Részletesebben

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

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

Részletesebben

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály

Részletesebben

I. A FELADATMEGOLDÁS LÉPÉSEI ÉS MÓDSZEREI

I. A FELADATMEGOLDÁS LÉPÉSEI ÉS MÓDSZEREI I. A FELADATMEGOLDÁS LÉPÉSEI ÉS MÓDSZEREI Amikor olyan feladatot szeretnénk megoldani számítógépen, amelyeket a rendelkezésre álló felhasználói programok segítségével (szövegszerkesztők, táblázatkezelők,

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

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

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása A programozás alapjai 1 A C nyelv típusai 4. előadás Híradástechnikai Tanszék C típusok -void - skalár: - aritmetikai: - egész: - eger - karakter - felsorolás - lebegőpontos - mutató - függvény - union

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 3. előadás Programozási nyelv felépítése szabályok megadása Lexika Milyen egységek építik fel? Szintaktikus szabályok

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

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

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása

Részletesebben

B I T M A N B I v: T M A N

B I T M A N B I v: T M A N Műszaki informatika IPA Tesztek+Megoldások B I v: T 2014.02.15 M A N 1/41 Ellenőrző kérdések Alapfogalmi kitérő kérdéssor IPA kérdéssor 2/41 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye a

Részletesebben

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

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

Részletesebben

MAGAS SZINTŐ PROGRAMOZÁSI NYELVEK 1

MAGAS SZINTŐ PROGRAMOZÁSI NYELVEK 1 Juhász István MAGAS SZINTŐ PROGRAMOZÁSI NYELVEK 1 mobidiák könyvtár Juhász István MAGAS SZINTŐ PROGRAMOZÁSI NYELVEK 1 mobidiák könyvtár SOROZATSZERKESZTİ Fazekas István Juhász István MAGAS SZINTŐ PROGRAMOZÁSI

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

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix 2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.

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

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

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

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

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

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

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

Részletesebben

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája A programozás alapjai 1 Kifejezések 5. előadás Híradástechnikai Tanszék Operandusok Literál Azonosító Kifejezés Kifejezések Precedencia Melyik hajtódik először végre? Asszociativitás Balról jobbra vagy

Részletesebben

Fordítóprogramok. Aszalós László. 2009. szeptember 7.

Fordítóprogramok. Aszalós László. 2009. szeptember 7. Fordítóprogramok Aszalós László 2009. szeptember 7. 1. Bemelegítés Honlap: www.inf.unideb.hu/ aszalos/diak.html (Fordítóprogramok, 2009) Jegymegajánló: utolsó hét előadásán. PótZH (csak gyakorlat) vizsgaidőszak

Részletesebben

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

sallang avagy Fordítótervezés dióhéjban Sallai Gyula sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordí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

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

Programozás alapjai. 2. előadás 2. előadás Általános Informatikai Tanszék A számítógépes feladatmegoldás eszközei Adatok (Amiken utasításokat hajtunk végre) Utasítások (Amiket végrehajtunk) Program struktúra Adatok Konstans (a programon

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

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

Programozás alapjai (ANSI C)

Programozás alapjai (ANSI C) Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu

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

Algoritmusok. Dr. Iványi Péter

Algoritmusok. Dr. Iványi Péter Algoritmusok Dr. Iványi Péter Egyik legrégebbi algoritmus i.e. IV század, Alexandria, Euklidész két természetes szám legnagyobb közös osztójának meghatározása Tegyük fel, hogy a és b pozitív egész számok

Részletesebben

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

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

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

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

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

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

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

Részletesebben

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

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

Részletesebben

GYAKORLATIAS JAVA MINTA

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

Részletesebben

Szoftvertervezés és -fejlesztés I.

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

Részletesebben

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

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos OOP I. Egyszerő algoritmusok és leírásuk Készítette: Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát képezik. Ismeretük

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók

Részletesebben

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"

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

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

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

Aritmetikai kifejezések lengyelformára hozása

Aritmetikai kifejezések lengyelformára hozása Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási

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

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat Formális nyelvek a gyakorlatban Formális nyelvek, 1 gyakorlat Segédanyagok Célja: A programozási nyelvek szintaxisának leírására használatos eszközök, módszerek bemutatása Fogalmak: BNF, szabály, levezethető,

Részletesebben

Python tanfolyam Python bevezető I. rész

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

Részletesebben

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

Programozás alapjai. 7. előadás 7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való

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

Pénzügyi algoritmusok

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

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. Dr. Iványi Péter Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(

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

B I T M A N B I v: T M A N

B I T M A N B I v: T M A N Műszaki informatika Tesztek+Megoldások B I v: T 2015.04.19 M A N 1/42 Tesztek + Megoldások Alapfogalmi kitérő kérdéssor IPA kérdéssor CPA kérdéssor 2/42 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye

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

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1 Fordító részei Kód visszafejtés. Izsó Tamás 2016. szeptember 29. Izsó Tamás Fordító részei / 1 Section 1 Fordító részei Izsó Tamás Fordító részei / 2 Irodalom Izsó Tamás Fordító részei / 3 Irodalom Izsó

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

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

Globális operátor overloading

Globális operátor overloading Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal

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

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

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

Részletesebben

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

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

Részletesebben

Alprogramok, paraméterátadás

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

Részletesebben

Oktatási segédlet 2014

Oktatási segédlet 2014 Oktatási segédlet 2014 A kutatás a TÁMOP 4.2.4.A/2-11-1-2012- 0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése

Részletesebben

Bevezetés a programozásba

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

Részletesebben