Bevezetés a Programozásba II 1. előadás. Szoftverfejlesztés, programozási paradigmák
|
|
- Teréz Pásztor
- 5 évvel ezelőtt
- Látták:
Átírás
1 Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 1. előadás, programozási paradigmák Giachetta Roberto groberto@inf.elte.hu
2 A program A program matematikailag: állapotterek (értékek direktszorzata) felett értelmezett reláció informatikailag: utasítások sorozata, amelyek műveleteket hajtanak végre a megadott értékekkel, az adatokkal A programban foglalt utasítássorozatot, vagy programkódot a processzor (CPU, GPU, ) hajtja végre a processzor korlátozott utasításkészlettel rendelkezik, ezért összetett utasításokat nem képes véghezvinni a végrehajtáshoz segédtárakat (regiszterek, gyorsítótárak) használ, és kommunikál a memóriával PPKE ITK, Bevezetés a programozásba II 1:2
3 A program háttértár adatok és utasítások adatok adatok memória utasítások 0010 regiszterek és gyorsítótárak adatok processzor PPKE ITK, Bevezetés a programozásba II 1:3
4 Absztrakció a szoftverfejlesztésben A processzor által értelmezhető utasításkészletet és adathalmazt nevezzük gépi kódnak (object code) A programokat ennél magasabb szinten kell elkészíteni, ezért szükségünk van a működés és az adatkezelés absztrakciójára: az utasításabsztrakció (control abstraction) biztosítja, hogy a processzor egyszerű, egymást követő utasításai (összeadás, mozgatás, összehasonlítás) mellett összetett parancsokat és vezérlési módszert fogalmazzunk meg az adatabsztrakció (data abstraction) lehetővé teszi, hogy különböző típusokba soroljuk adatainkat, amelyek meghatározzák az értéktartományt, és a végezhető műveleteket PPKE ITK, Bevezetés a programozásba II 1:4
5 Absztrakció a szoftverfejlesztésben tr.getperimeter() Triangle tr(2,6,4) utasítás absztrakció pow(2,4) mov 2.6+4i 2.6 adat absztrakció 0010 gépi kód 1010 utasítás adat PPKE ITK, Bevezetés a programozásba II 1:5
6 Absztrakció a szoftverfejlesztésben Az absztrakció előnyei: összetett funkciók könnyebben megfogalmazhatóak el lehet vonatkozni a konkrét megvalósítástól (pl. hardver) a fejlesztési idő jelentősen csökken Az absztrakció hátrányai: összetettebb utasításkészletet kell elsajátítani az egyes utasítások végrehajtása nem áttekinthető az absztrakciót jól, körültekintően kell megvalósítani, különben minden rá épülő tevékenység hibás lesz, illetve mellékhatásai lehetnek PPKE ITK, Bevezetés a programozásba II 1:6
7 A programozási nyelv Az absztrakciót megvalósító eszközt nevezzük programozási nyelvnek egy adott programozási nyelven megírt programkódot nevezünk a program forráskódjának (source code) a programozási nyelv meghatározza az absztrakció szintjét, a használható típusok és utasítások halmazát, amely egy adott nyelvre rögzített, ám a programozó által általában kiterjeszthető a nyelvet meghatározza a célja, vagyis milyen feladatkörre alkalmazható, továbbá a nyelv rendelkezik egy kifejezőerővel, azaz milyen összetett számításokat képes kifejezni PPKE ITK, Bevezetés a programozásba II 1:7
8 A programozási nyelv A programozási nyelvek osztályozása: alacsony szintű (assembly): a gépi kódot egyszerűsíti szövegszerűre, de nem biztosít absztrakciót, pl.: data segment ; adatok number dw -5 ; változó létrehozása data ends code segment ; utasítások mov ax, number ; regiszterbe helyezése cmp ax, 0 ; regiszterérték összehasonlítása jge label1 ; ugrás, amennyiben nem negatív mov cx, 0 sub cx, ax ; pozitívvá alakítás kivonással PPKE ITK, Bevezetés a programozásba II 1:8
9 A programozási nyelv magas szintű: a gépi architektúrától független utasításkészlettel, nagyobb kifejező erővel rendelkezik lehetőséget ad az utasítás- és adatabsztrakcióra egy egyszerű reprezentációját adja az alacsony szintű kódnak pl.: int main(){ int number = -5; // változó létrehozása if (number < 0) // ha negatív number = -number; // ellentettre váltás } PPKE ITK, Bevezetés a programozásba II 1:9
10 Újrafelhasználhatóság Az absztrakció során keletkezett összetett funkciókat alacsonyabb szintű funkciók együttes végrehajtását eredményezi az így keletkezett összetett funkciót hordozni kell, és későbbi alkalmazásokban újrahasználni Az újrafelhasználható programegységek olyan magas szintű, összetett funkciók, amelyek kellően általánosak és hatékonyak alaposan ellenőrzöttek (teszteltek), hibamentesek általában programkönyvtárakba (nyelvi könyvtárba) tömörülnek PPKE ITK, Bevezetés a programozásba II 1:10
11 A szoftverfejlesztés folyamata A szoftverfejlesztés a kódoláson túl több lépésből áll, amely függ a feladat bonyolultságától is: 1. A feladatot elemezni kell, és megadni a formális megfelelőjét, vagyis a specifikációt 2. A specifikációt alapján megtervezhető a program, amely egyszerű feladatnál az absztrakt program, míg bonyolult feladatnál a programterv elkészítésével jár, amelyből elállítható a programmodell (egyszerűsített célprogram) 3. A tervet implementáljuk a megfelelő programozási nyelven 4. Az implementált programot, illetve a programkódot tesztelésnek vetjük alá, ami módosításokat eredményezhet az implementációban (vagy a korábbi fázisokban) PPKE ITK, Bevezetés a programozásba II 1:11
12 A szoftverfejlesztés folyamata egyszerű feladat specifikáció absztrakt program feladat elemzés tervezés implementálás bonyolult feladat specifikáció programterv programmodell program tesztelés PPKE ITK, Bevezetés a programozásba II 1:12
13 A feladat elemzése és tervezése Önmagában a feladat elemzése is nagyban meghatározza a programfejlesztés folyamatát, ennek két formája: felülről lefelé (top-down): a főfeladatot részfeladatokra, majd azokat további részfeladatokra bontjuk alulról felfelé (bottom-up): a feladatban szereplő egységeket határozzuk meg, majd azokat kombináljuk A tervezés során egy nyelv-független vázát kell elkészítenünk a szoftvernek, amely megadja annak közeli működését lehet formális, vagy informális modell használhat modellező eszközt (pl. stuktogram), vagy nyelvet (pl. UML) PPKE ITK, Bevezetés a programozásba II 1:13
14 Tesztelés A tesztelés annak ellenőrzése, hogy a program teljesíti-e az előírt minőségi mutatókat, célja elsősorban a futási idejű hibák, működési rendellenességek keresése a tesztelés módja szerint lehet: fekete doboz tesztelés: a tesztelendő programrész ismeretlen, csak a hiba voltát fedezzük fel fehér doboz tesztelés: a programrész teljes mértékben ismert, tehát így a hiba helyét is megtalálhatjuk szürke doboz tesztelés: a belső adatok, illetve egyes algoritmusok elérhetőek, így a hiba helye behatárolható a tesztelés módszere lehet statikus (kód kiértékelés és ellenőrzés), illetve dinamikus (futtatás adott tesztesetekkel) PPKE ITK, Bevezetés a programozásba II 1:14
15 A szoftverfejlesztés optimalizálása A szoftverfejlesztés során a legfőbb cél, hogy a kész program megfeleljen a funkcionális és minőségi követelményeknek emellett, a fejlesztők számára fontos, hogy a kész szoftver fejlesztése a lehető legoptimálisabb legyen A szoftverek tervezésének és programozásának módszerét nevezzük programozási paradigmának meghatározza a programozási stílust, az absztrakciós szintet meghatározza az alkalmazható programozási nyelvek körét is, és fordítva sok programozási nyelv több paradigmát is támogatnak, ezek a multiparadigma nyelvek PPKE ITK, Bevezetés a programozásba II 1:15
16 Programozási paradigmák A paradigmák csoportosítása A programozási paradigmákat két csoportba soroljuk: imperatív: a programot állapotváltozások sorozatával írja le az utasításokat szekvenciálisan hajtja végre megfelel a gépi szintű végrehajtásnak deklaratív: a program a tartalmát, megjelenését írja le, nem pedig a funkció végrehajtásának módját nem alkalmaz változókat, csak konstans értékeket az utasításokat nem feltétlenül szekvenciálisan hajtja végre, automatikusan párhuzamosít magasabb szintű kifejezőerővel rendelkezik PPKE ITK, Bevezetés a programozásba II 1:16
17 Programozási paradigmák A jelentősebb paradigmák csak adatstruktúrák tartományleíró rekord Turing-teljes λ-kalkulus eljárás állapot ekvivalencia funkcionális relációs (logikai) adatfolyam folyam-alapú deklaratív procedurális lokalizáció strukturált öröklődés objektum-orientált imperatív PPKE ITK, Bevezetés a programozásba II 1:17
18 Programozási paradigmák Procedurális programozás Procedurális (Procedural): a programot alprogramokra (subroutine) bontja, és minden alprogram meghatározott részfeladatot végez el az alprogramoknak két típusa lehet: eljárás (procedure): valamilyen utasítássorozatot futtat, végeredmény nélkül függvény (function): valamilyen matematikai számítást végez el, és megadja annak eredményét az alprogramok programkonstrukciókkal épülnek fel, meghívhatnak más alprogramokat, és kommunikálhatnak velük PPKE ITK, Bevezetés a programozásba II 1:18
19 Programozási paradigmák Procedurális programozás a vezérlést a főprogram szolgáltatja, az kezeli a teljes programban jelen lévő adatokat nyelvek: Fortran, C, BASIC, Pascal pl. (C++, vektor összegzése függvénnyel): int Sum(vector<int> values){ // a függvény paraméterben megkapja a vektort int sum = 0; for (int i = 0; i < value.size(); i++) sum = sum + values[i]; // ciklussal hozzávesszük ez elemeket return sum; // visszatérési érték az összeg } PPKE ITK, Bevezetés a programozásba II 1:19
20 Programozási paradigmák Strukturált programozás Strukturált (Structured): a program részegységekre (csomagokra, vagy blokkokra) tagolódik, minden egység rendelkezik egy belépési ponttal, és egy kilépési ponttal a programegységeknek van egy kívülről látható része (interfész), és egy belső megvalósítása (implementáció) a programban használt adatstruktúrák a programegységeknek megfelelően strukturálódnak támogatja a kivételkezelést, tiltja a programkódban történő ugrálást (goto) nyelvek: Pascal, C, ADA PPKE ITK, Bevezetés a programozásba II 1:20
21 Programozási paradigmák Strukturált programozás pl. (C++, verem típus): class Stack { private: // rejtett rész, implementáció int* values; // attribútumok int top; public: // látható rész, interfész Stack(){ values = new int[10]; top = 0; } // konstruktor ~Stack() { delete[] values; } // destruktor void Push(int v) { // metódus if (top < 10) { values[top] = v; top++; } } }; PPKE ITK, Bevezetés a programozásba II 1:21
22 Programozási paradigmák Objektum-orientált programozás Objektum-orientált (Object-oriented): a feladat megoldásában az alulról-felfelé megközelítést alkalmazza, alapja az egységbe zárás és az öröklődés a programot egymással kommunikáló objektumok adják, amelyek valamilyen relációban állnak egymással manapság a legnépszerűbb programozási paradigma, a programozási nyelvek jelentős része támogatja objektumorientált támogatással rendelkező nyelvek: C++, Objective-C, Matlab, PHP, Python, Perl, tisztán objektumorientált nyelvek: Smalltalk, Java, C#, Eiffel, Ruby, PPKE ITK, Bevezetés a programozásba II 1:22
23 Programozási paradigmák Objektum-orientált programozás pl. (C++, grafikus felületű ablak): class DemoWindow : public QWidget { // ablak osztály public: DemoWindow(QWidget* parent = 0) { // a konstruktor megkaphatja a szülőt setbasesize(200, 120); setwindowtitle("demo Window"); qbutton = new QPushButton("Quit", this); // gomb példányosítása } private: QPushButton* qbutton; // gomb az ablakon }; PPKE ITK, Bevezetés a programozásba II 1:23
Programozási technológia 1.
ngleton Sin ELTE-IK + st: boo ol Programozási technológia 1. 2. gyakorlat: Programozási paradigmák, az objektumorientált tált programozás Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
ELTE IK, Programtervező BSC Szoftvertechnológia 1. gyakorlat: Programozási paradigmák
ELTE IK, Programtervező BSC 1. gyakorlat: 2010.09.16. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Feladata Egy szoftvernek, mint terméknek gyártási technológiára van szüksége,
Bevezetés a programozásba I 1. gyakorlat. Programozási alapismeretek, a PLanG programozási nyelv. Programozási alapismeretek.
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 1. gyakorlat, a PLanG programozási nyelv 2011.09.13. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Bevezetés a programozásba I 1. gyakorlat. Programozási alapismeretek, a PLanG programozási nyelv
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 1. gyakorlat Programozási alapismeretek, a PLanG programozási nyelv 2011.09.13. Giachetta Roberto groberto@inf.elte.hu
Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 5. előadás Objektumorientált programozás és tervezés 2014.03.10. Giachetta Roberto groberto@inf.elte.hu
Objektumorientált paradigma és programfejlesztés Bevezető
Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján
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
Alkalmazott Modul III 4. előadás. Objektumorientált programozás: objektumok és osztályok. Procedurális programozás Koncepció
Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 4. előadás : objektumok és osztályok 2011.10.10. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Koncepció
Objektumorientált paradigma és a programfejlesztés
Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján Objektumorientált
Objektumelvű programozás
Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé
Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Szoftverek tesztelése 2014 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
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
Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma
A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai
A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási
Objektum orientált programozás Bevezetés
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
Már megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
Adatbázis rendszerek. dr. Siki Zoltán
Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti
Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 11. előadás 2014.05.12. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Adatszerkezetek
Bevezetés a Programozásba II 3. előadás. Biztonságos adattípusok megvalósítása
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 3. előadás Biztonságos adattípusok megvalósítása 2014.02.24. Giachetta Roberto groberto@inf.elte.hu
Adatbázis-kezelő rendszerek. dr. Siki Zoltán
Adatbázis-kezelő rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati
ISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
Eljárások, függvények
Eljárások, függvények Tartalomjegyzék Az alprogramok...2 Kérdések, feladatok...2 Kérdések, feladatok...3 Eljárások...3 Kérdések, feladatok...4 Érték és cím szerinti paraméterátadás...5 Kérdések, feladatok...6
Számítógép architektúra
Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek
Objektumelvű alkalmazások fejlesztése 6. gyakorlat. Öröklődés, polimorfizmus. Öröklődés Kódismétlődés objektum-orientált szerkezetben
Eötvös Loránd Tudományegyetem Informatikai Kar Objektumelvű alkalmazások fejlesztése 6. gyakorlat, polimorfizmus 2011.10.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Kódismétlődés
Bevezetés. Dr. Iványi Péter
Bevezetés Dr. Iványi Péter Programozási készség Számos munka igényel valamilyen szintű programozási készséget Grafikus a képfeldolgozót, Zenész a szintetizátort, Programozó a számítógépet programozza.
Java programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
Programozási nyelvek 6. előadás
Programozási nyelvek 6. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig) Számítási modell (hogyan
Programozási nyelvek a közoktatásban alapfogalmak I. előadás
Programozási nyelvek a közoktatásban alapfogalmak I. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig)
Java és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
Bevezetés a Programozásba II 3. előadás. Biztonságos adattípusok megvalósítása. Biztonságos adattípusok megvalósítása
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 3. előadás Biztonságos adattípusok megvalósítása 2014.02.24. Giachetta Roberto groberto@inf.elte.hu
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
Név: Neptun kód: Pontszám:
Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:
Információtartalom vázlata
1. Az Ön cégétől árajánlatot kértek egy üzleti portál fejlesztésére, amelynek célja egy online áruház kialakítása. Az árajánlatkérés megválaszolásához munkaértekezletet tartanak, ahol Önnek egy vázlatos
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
és az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
4. Programozási nyelvek osztályozása. Amatőr és professzionális
4. Programozási nyelvek osztályozása. Amatőr és professzionális programozási nyelvek. Számítási modellek (Neumann-elvű, automataelvű, funkcionális, logikai). Programozási nyelvekkel kapcsolatos fogalmak
PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar
PROGRAMOZÁS tantárgy Gregorics Tibor egyetemi docens ELTE Informatikai Kar Követelmények A,C,E szakirány B szakirány Előfeltétel Prog. alapismeret Prog. alapismeret Diszkrét matematika I. Óraszám 2 ea
GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc
4. fejezet Fordítók felépítése Grafikus Processzorok Tudományos Célú Programozása Fordítók Kézzel assembly kódot írni nem érdemes, mert: Egyszerűen nem skálázik nagy problémákhoz arányosan sok kódot kell
Interfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
OOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
Programozás módszertan p.1/46
Programozás módszertan Öröklődés Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert
Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája Készítette: Urbán Norbert Szoftver-minőség A szoftver egy termelő-folyamat végterméke, A minőség azt jelenti,
OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.
OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39: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_01-1 - E jegyzet másolata
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
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(
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
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)
Programozás s 2. Alapok
Programozás s 2 Objektum Orientált Programozás Alapok utolsó változtatás s 2008.04.12. Alapok A programokat valamilyen "programozási nyelv"-en en írjuk A programozási nyelv formális (szintaktikai) és s
Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.
Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb
Szoftver-technológia II. Modulok és OOP. Irodalom
Modulok és OOP Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 7. 2 Modulok és objektumok Modulok Lexikálisan folytonos utasítás sorozatok,
2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
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)
Osztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
Bevezetés, a C++ osztályok. Pere László
Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK
Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
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"
Osztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
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
Osztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
Programtervezés. Dr. Iványi Péter
Programtervezés Dr. Iványi Péter 1 A programozás lépései 2 Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3 Feladat megfogalmazása Egyértelmű
Bánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 8. ELŐADÁS - OBJEKTUMOK, OSZTÁLYOK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }
Funkcionális és logikai programozás { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi ` 1 Jelenlét: Követelmények, osztályozás Az első 4 előadáson
Abstract osztályok és interface-ek. 7-dik gyakorlat
Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,
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ó
Számítógépek felépítése
Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák
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
Programozás alapjai II. (3. ea) C++ Programfejlesztés. Néhány programozási módszer. Feladatanalízis. Modellezés Tervezés. Implementáció (programozás)
Programozás alapjai II. (3. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT M Ű E G Y T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2011.02.22.
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI
Programfejlesztési Modellek
Programfejlesztési Modellek Programfejlesztési fázisok: Követelmények leírása (megvalósíthatósági tanulmány, funkcionális specifikáció) Specifikáció elkészítése Tervezés (vázlatos és finom) Implementáció
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
Programozási technológia
Programozási technológia Generikus osztályok Gyűjtemények Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Generikus osztályok Javaban az UML paraméteres osztályainak a generikus (sablon) osztályok felelnek
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
A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása
A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus
Programozás Minta programterv a 2. házi feladathoz 1.
Programozás Minta programterv a. házi feladathoz 1. Gregorics Tibor. beadandó/0.feladat 01. január 11. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy szöveges állományban bekezdésekre tördelt szöveg
Elemi Alkalmazások Fejlesztése II.
Elemi Alkalmazások Fejlesztése II. Osztályok közötti kapcsolatok öröklődés asszociáció aggregáció kompozíció 1. Feladat Készítsünk programot, amellyel testek térfogatát határozhatjuk meg, illetve megadhatjuk
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat
Bevezetés a Programozásba II 4. előadás. Adattípusok hordozhatósága
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 4. előadás 2014.03.03. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Programok
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
NC program ellenorzo szimulátor fejlesztése objektumorientált módszerrel
Megjelent: Magyar Tudomány Napja, Doktoranduszok Fóruma, Miskolc, 1997. nov. 6, pp. 11-15 NC program ellenorzo szimulátor fejlesztése objektumorientált módszerrel Hornyák Olivér I. éves doktorjelölt Miskolci
Programfejlesztés. Programozás alapjai II. (3. ea) C++ Néhány programozási módszer. Korai szoftverkészítés jellemzői. Gépi nyelv? Strukturált tervezés
Programozás alapjai II. (3. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT Programfejlesztés Feladatanalízis világ = dolgok + tevékenységek Modellezés
OOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
Programozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
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
Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 4. előadás Procedurális programozás: iteratív és rekurzív alprogramok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Osztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;
PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function
Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20
Teljesítmény Mérés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés 2013 1 / 20 Tartalomjegyzék 1 Bevezetés 2 Visual Studio Kód metrikák Performance Explorer Tóth Zsolt
Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Kivételkezelés a C++ nyelvben Bevezetés
Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:
Algoritmusok, adatszerkezetek, objektumok
Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.
Programzás I. - 1. gyakorlat
Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)
Java programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék