Programozás elmélete

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

Download "Programozás elmélete"

Átírás

1 Programozás elmélete

2 Programozás és program Programozás: folyamat, melynek során a feladat megoldását a számítógép számára érthető formában írjuk le. Program: a programozás eredménye, futtatható változatban (a szöveges változat: forráskód) interpretált program: soronként értelmezett, az értelmező (interpreter) beolvas egy utasítás-egységet a forráskódból, azt végrehajtja, majd újra olvas (általában lassú a futásuk, pl. Python alkalmazások) fordított (compiled) programok: egy speciális program a fordító (compiler) a forráskódból egy közvetlenül futtatható állományt készít (általában egy köztes állapoton keresztül, ún. linkeléssel, pl. C, C++, Pascal stb. nyelven írt alkalmazások) fordított és interpretált: ötvözi a kettő előnyeit, viszonylag gyors futás, ám a fordítási idővel nem kell törődni (pl. Java, Perl alkalmazások)

3 Amatőr és professzionális nyelvek Amatőr nyelvek interaktívak sok nyelvi elemmel rendelkeznek jellemző: gyors nyelvi fejlődés a programok szerkezete egyszerű speciális gépi tulajdonságokra épülnek Professzionális nyelvek jellemző: modularitás magas fokú stabilitás kevés nyelvi elem igen hatékonyak sok lehetőséggel bírnak gépfüggetlen kódot generálnak a kód átvihető más architektúrájú gépekre is

4 Emberközeliség Gépi nyelvek minden hardverlehetőség kihasználható a memóriacímeket a memóriakiosztást a programkódot A megírt programok gépközeliek önerőből kell megvalósítani közvetlenül a processzor utasításkészletére épülnek

5 Emberközeliség Alacsony szintű nyelvek géporientált nyelvek megjelennek a szimbolikus utasítások az azonosítók a címkenevek a feltételes vezérlésátadás fogalma az eljárások a visszatérések az adatokat deklarálni, definiálni lehet a tárhely ennek függvényében foglalódik le

6 Emberközeliség Alacsony szintű nyelvek megjelennek a makrók és a direktívák a közvetlen kódok helyett rövid, könnyen megjegyezhető szavakat alkalmazunk (mnemonikok) jobban áttekinthetők a címzési módok a programokba megjegyzéseket szúrhatunk be külön fordítható egységekkel dolgozhatunk

7 Emberközeliség Magas szintű nyelvek feladatorientáltak megjelenik a típus és a változó fogalma kifejezések kiértékelésével komoly számításokat lehet elvégezni egyszerűen megjelennek a ciklusok, elágazások eljárásokat, függvényeket tudnak használni komoly paraméterátadó mechanizmusokkal rendelkeznek

8 Nem típusos nyelvek Típusok használata ha létezik is a változó fogalma, ez nincs kötve semmiféle típushoz Típusos nyelvek megjelenik a típus fogalma, amely meghatározza, hogy a változó milyen értékeket vehet fel mekkora memóriatartományra van szüksége milyen műveletek végezhetők el vele stb. Szigorúan típusos nyelvek szigorú szabályok írják elő a típusok közötti átalakításokat, konverziókat

9 Csoportosítás alapelvek szerint Imperatív nyelvek eljárásorientált nyelv: a forráskód szövege részekre tagolható, melyeket eljárásoknak nevezünk; általában fordító programosak, csak ritkán interpreteresek. Pl. C, C++, Pascal, Fortran objektum-orientált nyelv: kielégíti az OOP alapelveket Pl. C++, Java, Perl objektum-alapú nyelv: az öröklés és a sokalakúság elvén kívül minden OOP alapelvet kielégít. Pl. JavaScript

10 Alapelvek szerint Imperatív nyelvek a Neumann architektúrához szorosan kötődő algoritmikus nyelvek a fő programozási egység az utasítás, és ezek egymásutánisága vezérli a processzort a tár bizonyos területén lévő értékeket módosíthatjuk változók a programozó mondja meg, hogy mit és hogyan kell csinálni

11 Az 5 Neumann-elv 1. A számítógép legyen soros működésű: a gép az egyes utasításokat egymás után, egyenként hajtja végre 2. A számítógép a kettes számrendszert használja, és legyen teljesen elektronikus: a kettes számrendszert és a rajta értelmezett aritmetikai ill. logikai műveleteket könnyű megvalósítani kétállapotú áramkörökkel 3. A számítógépnek legyen belső memóriája: a belső memóriában tárolhatók az adatok és az egyes számítások részeredményei, így a gép bizonyos műveletsorokat automatikusan el tud végezni

12 Az 5 Neumann-elv 4. A tárolt program elve: a programot alkotó utasítások adatként kezelhetők, a belső memóriában tárolhatók ezáltal a számítógép önállóan képes működni, hiszen az adatokat és az utasításokat is a memóriából veszi elő 5. A számítógép legyen univerzális: a számítógép különféle feladatainak elvégzéséhez nem kell speciális berendezéseket készíteni Alan Turing: az olyan gép, amely el tud végezni néhány alapvető műveletet, elvileg bármilyen számítás elvégzésére is alkalmas

13 Alapelvek szerint Háttérnyelvek és makrónyelvek nagyobb alkalmazások hátterében feladatokat valósítanak meg segítségükkel testre szabhatóak, könnyebben, gyorsabban vezérelhetők lesznek az alkalmazások Procedurális, strukturált nyelvek egy adott probléma megoldásának algoritmusát írják le

14 Alapelvek szerint Deklaratív nyelvek a matematikai logikára vagy függvényhasz-nálatra épülő nem algoritmikus nyelvek a programozó csak a megoldandó feladatot írja le, a megoldást magát, a rendszer végzi el nem létezik utasításfogalom a tárhely értékeit nem lehet módosítani nem léteznek adatok, vagy ezeknek teljesen más a szerepük általában értelmezőt használnak és párbeszédes jellegűek logikai nyelv: a matematikai logikára épül (pl. PROLOG, LISP) predikátumokra és relációkra épülnek tényekből szabályok segítségével következtetéseket tudnak levonni

15 Applikatív nyelvek Alapelvek szerint függvények változókra történő alkalmazásaival operálnak Funkcionális nyelvek magas szintű függvények használatára és operátordefiníciókra épülnek az operátorok függvényeket manipulálnak, mintha azok egyszerű adatok lennének nincsenek változók, nincs értékadás a függvények a bemeneti paraméterek egy halmaza alapján kiszámítanak egy outputot a megoldandó problémát funkcionális egységekre kell bontanunk (pl. LISP)

16 Definíciós nyelvek Alapelvek szerint a megfeleltetéseket (értékadásokat) definíciókként értelmezzük. Egyszeres megfeleltetésű nyelvek egy változó a láthatósági területén csak egyszer fordulhat elő a bal oldalon Adatfolyam (dataflow) nyelvek az adatfolyam architektúrák programozási nyelvei Megkötésorientált nyelvek a megoldandó feladatot megkötések sorozataként fogalmazzák meg és oldják meg

17 Konkurens nyelvek Alapelvek szerint a párhuzamos, konkurens, osztott, többszálas programokat tudjuk megfogalmazni Folyamatszálas vagy veremalapú nyelvek alacsony szintű, konkrét feladatok megoldására szakosodott programozási nyelvek hatékonyan programozható a verem Matematikai vagy szimulációs nyelvek konkrét feladatosztályok megoldására szakosodtak többnyire matematikai számítások, szimulációs folyamatok végezhetők el velük

18 Alapelvek szerint Szimbólum-feldolgozó nyelvek nagy mennyiségű szöveges információk, hosszú listaadatok értékelésére, elemzésére kidolgozott célnyelvek Formulakezelő nyelvek nagy pontosságot igénylő, bonyolult matematikai, műszaki számítások Objektumorientált nyelvek magas absztrakciós szinten lévő osztályok és ezekből példányosított objektumok segítségével fogalmazhatjuk meg és oldhatjuk meg a feladatot az osztályok zárt egységnek tekintik az adatokat és az őket kezelő eljárásokat az 08. objektumok egymással kommunikálnak 18

19 Vizuális nyelvek Alapelvek szerint grafikus eszközök vehetők igénybe az algoritmus leírására Negyedik generációs nyelvek nagyon magas szintű nyelvek, a megoldandó feladat természetes nyelven vagy diagramok használatával fogalmazható meg a fordítóprogram választja ki a megfelelő adatszerkezeteket vagy algoritmusokat Lekérdező nyelvek az adatbázis-programozás fő kommunikációs eszközei, interfészei

20 Alapelvek szerint Adatbázis és szövegfeldolgozó nyelvek adatokat, információkat strukturálhatunk, dolgozhatunk fel, módosíthatjuk, karbantarthatjuk az adatbázisban tárolt adatokat Specifikáló (leíró) nyelvek a szoftver vagy hardver tervezésének formális leírását szolgálják Assembly nyelvek a gépi kód szimbolikus jelölésére szolgálnak egy adott számítógép-architektúrán

21 Alapelvek szerint Rendszer- és fordítóprogramok írására specializálódott nyelvek hatékonyan támogatják az alacsony szintű programozást és az operatív tár közvetlen kezelését lehetővé teszik a bitenkénti műveletek végzését, rendelkeznek a magas szintű nyelvek előnyeivel Köztes nyelvek a fordítóprogramok használják mint ábrázolásrendszert lehetnek szöveges vagy bináris formátumúak

22 Alapelvek szerint Parancssor vagy szkriptnyelvek operációs rendszer közeli feladatok írhatók le. Kiterjeszthető nyelvek a programozási feladat megoldásához a nyelv csak egy minimális alapot definiál a hiányzó eszközöket a programozó maga állíthatja elő a már létező elemek felhasználásával, kombinálásával Metanyelvek más nyelvek deklarálására szolgálnak (Pl. BNF)

23 Alapelvek szerint Leíró (markup) nyelvek ún. markup szimbolikát használnak, vagyis <TAG>adat</TAG> formában adhatóak meg az utasítások (pl. HTML, XML, SQL, TEX) Szkriptnyelvek ún. szkripteket használnak, melyek futásidőben kerülnek értelmezésre előzetes gépi kódra fordítás nélkül beolvassa őket az értelmező környezet, majd a lefuttatás idején utasításról utasításra végrehajtatja azt az operációs rendszerrel (pl. awk, lua, JavaScript, PHP, Python)

24 Generációk szerint Az elektronikus számítógépek nagy generációi meghatározták a programozási nyelvek generációit is: első második harmadik negyedik ötödik generációs programozási nyelvek

25 Első generációs nyelvek ( ) teljes mértékű processzorfüggőség utasítások = bitsorozatok kapcsolókkal lehetett megadni a gépi kód utasításait a számítógép képes volt közvetlenül, minden átalakítás nélkül végrehajtani erősen gépfüggő (minden gépen más és más utasításokat használ) a gépi kód előnyei: gyorsaság egységesség

26 Első generációs nyelvek ( ) komoly előrelépés: az Assembly nyelvek megjelenése a gépi kódú utasításokhoz egy-egy mnemonikus kódot rendeltek hozzá a tárcímeket a memória kezdetéhez viszonyított relatív címekkel számították az egyes memóriacímeket egy-egy szimbolikus névvel lehetett helyettesíteni

27 Második generációs nyelvek ( ) a számítógépek alkalmazási területe kibővülésének eredménye a 60-as évek eleje: első magas szintű programozási nyelvek (nem a számítógép sajátosságaihoz, hanem a problémához igazodtak) egyetlen magas szintű programnyelvi utasítás több gépi kódú utasítást jelent fordítóprogramok (compiler) szerkesztők (linker) az első magas szintű programozási nyelv a FORTRAN

28 Harmadik generációs nyelvek ( ) magas szintű programozási nyelvek nem egy konkrét feladatosztály megoldására specializálódtak általánosak, univerzálisak új korszak: a procedurális programozási szemlélet és az adatok struktúrájának hangsúlyozása megjelennek az objektumorientált nyelvek

29 Harmadik generációs nyelvek ( ) alkalmasak: az adatfeldolgozási és a számítási problémák megoldására rendszerprogramozásra a program szerkezete egyszerű és követhető formai előírásai nem túl szigorúak a program tartalmaz egy főprogram részt, amely: külön blokkokban több alprogramot foglalhat magába az alprogramok egymásba ágyazhatók Strukturált programozás

30 Negyedik generációs nyelvek (1973 ) napjaink programozási eszközei bonyolult lekérdező nyelvek programkód generátorok interaktív fejlesztői környezetek gyors alkalmazásfejlesztés vizuális paradigmára támaszkodó objektum- és komponensorientált kódgenerátorok magas hardverfüggetlenséget támogatnak

31 Ötödik generációs nyelvek (1981 ) Két fogalmat takarnak: egy gép-közelebbi, de magas szintű nyelvet, amely tulajdonképpen a számítógép operációs rendszerét jelenti egy természetes nyelvet, amely során az ember és gép közötti kommunikáció ( programírás ) megvalósul

32 Számítási modellek szerint Modellek, amelyeknek alapján az algoritmusokat végre kell hajtani, a feladatot meg kell oldani: Az imperatív paradigma: egyszerű operációs paradigma a Neumann-féle paradigma az automata feldolgozás paradigmája az adatbázis-kezelés paradigmája A deklaratív paradigma a funkcionális paradigma a logikai paradigma A párhuzamos és osztott paradigma Az objektumorientált paradigma A vizuális paradigma Az ötödik generációs paradigma Alternatív paradigmák

33 A programozási nyelvek elemzési szempontjai Elemzési szempontok.doc

34 Szintaxis, szemantika Utasítás: a program legkisebb funkcionális egysége Szintaxis: a programozási nyelvek nyelvtana, szabályai (általában egy metanyelvben írják le, pl. BNF forma) Szintaktikai hiba: a program írásakor fellépő hiba, a program csak szöveg, hiszen működésképtelen Szemantikai hiba: a program futásakor a várttól eltérő működés

35 BASIC (Beginners All-purpose Symbolic Instruction Code) magas szintű programozási nyelv egyik legegyszerűbb didaktikai környezetben alkalmas komolyabb feladatok megoldására ritkán használják sok különböző változata található meg erősen gépfüggő a mai BASIC-ek már strukturáltak: CBM 64 BASIC, ZX SPECTRUM, CBM PLUS 4, GW BASIC, TURBO BASIC, QUIC K BASIC, VISUAL BASIC

36 Fortran (FORmula TRANslation) 1954 IBM, John Backus: a Fortran az algebrai nyelv fordítási lehetőségeinek eredménye a legrégebben használatos magas szintű programozási nyelv sok változata létezik elsősorban matematikai számítások, fizikai kutatóintézetekben szükséges számítások elvégzésére készült állománykezelése nem igazán fejlett karakterek kezelésére nem használják nem ismeri a rekurziót

37 Fortran verziók A különféle Fortran verziókat a megjelenési évük feltüntetésével különböztetik meg, a Fortran szó mögötti két számjegy erre utal. A jelenleg is használatban lévő verziók: Fortran 66 Fortran 77 Fortran 90 (95) speciális verziók: HPF (High Perforamance Fortran = Magas Szintű Fortran) a Fortran programok szabadon mozgathatók a különféle gépek és platformok között

38 Algol 60, Algol 68 ALGOrithmic Language a legkorábban kifejlesztett programozási nyelvek egyike elsősorban algoritmikus problémák megoldására fejlesztették ki még ma is van sok ún. "ALGOL"-szerűnek nevezett nyelv

39 Cobol (COmmon Bussines Oriented Language) a 60-as években az USA Hadügyminisztériumának megbízásából 60-as, 70-es évek: a magas szintű nyelven írt programok többségét COBOL-ban írták elsősorban adatfeldolgozásra készült ezen a területen még ma is használják hasonlít a normál beszédhez utasításai állítások

40 PL/1 IBM: 60-as évek a korábbi programozási nyelvek előnyeit egyesíti eléggé univerzális használatához nagyon nagy gépre volt szükség - IBM, ESZR legfontosabb erénye az adatállományok igen jó, rugalmas, magas logikai szintű definiálása és kezelése ill. hibakezelése ma már kevésbé használatos nyelv

41 Pascal az első legteljesebb körű megvalósítása a struktúrált programozás elveinek Niklaus Wirth, a zürichi Műszaki Főiskola oktatója dolgozta ki a 70-es években Wirth az ALGOL programozási nyelv alapján definiálta a PASCAL szabályait általános célú programozási nyelv elsősorban az oktatásban a műszaki-tudományos számítások területén a komplex programrendszerek fejlesztése során alkalmazzák elterjedten

42 Pascal szabad formátumú nyelv viszonylag kevés utasítást tartalmaz a programok szerkezete kötött, szigorú előírások vonatkoznak rá a Pascal programok blokkokból épülnek fel, a blokkok a begin foglalt szóval kezdődnek és az end foglalt szóval érnek véget két utasítást ; választ szét támogatja a moduláris programozást függvények és eljárások definiálhatók a function és a procedure foglalt szavak segítségével a függvények, eljárások egymásba ágyazhatók

43 Pascal a nyelv támogatja a rekurziót is erősen típusos nyelv a programban használni kívánt változókat a felhasználásuk előtt, a deklarációs részben fel kell tüntetnünk és meg kell adnunk a típusukat a Pascal fordítók compiler típusú fordítók a programok szabályos, szigorú, egyértelmű felépítése miatt a nyelv az oktatás kedvelt programozási nyelve jó alapot biztosít más programozási nyelvek tanulásához, a struktúrált programozás alapelveinek megértéséhez

44 Java a Sun által kifejlesztett programozási nyelv a web számára tervezték lényege: HTML dokumentumban hivatkozhatunk Java programokra platform-függetlenek bárhol futtathatók a Java programot a fordító egy köztes gépi kódra, úgynevezett virtuális gépi kódra fordítja le, amelyet majd a Webböngésző fordít le futtatható formátumra vannak olyan operációs rendszerek, amelyekbe már be van építve a Java támogatás

45 C Ken Thompson (1970): B nyelv ezen készült el az első UNIX operációs rendszer Dennis Ritchie (1971) C nyelv 1983: első szabványos C nyelv C nyelven írták a UNIX operációs rendszert, és ehhez hozzátartozik általában a C fordító is nagyon hatékony programozási nyelv a C forrásprogramok elég jól hordozhatók különböző platformok között

46 C++ a C++ a C nyelv objektum-orientált kiterjesztése a C támogatja bitstruktúrák kezelését is a C nyelv nem tartalmaz I/O utasításokat ezeknek a műveleteknek az elvégzésére függvénykönyvtárakban található alprogramokat alkalmazunk a C nyelv nem tartalmaz műveleteket sztringek, halmazok, listák és tömbök kezelésére sem a függvénykönyvtárak több hasznos eszközt kínálnak, mint más programozási nyelvekben

47 Az objektum-orientált programozás alapelvei Egységbezárás (encapsulation): adatstruktúrákat és az adott struktúrájú adatokat kezelő függvényeket kombináljuk ezeket az egységeket kezeljük elzárjuk őket a külvilág elől az így kapott egységeket objektumoknak nevezzük Az objektumoknak megfelelő tárolási egységek típusa az osztály, amiben adattagok (data members) és tagfüggvények (metódusok) (methods) szerepelnek

48 Az objektum-orientált programozás alapelvei Információrejtés (information hiding) a lokális adattagok tartalma rejve van a külvilág elől, s csak a tagfüggvények férhetnek hozzájuk Üzenet (message) az objektummal való kapcsolattartás módja Öröklődés (inheritance) adott, meglévő osztályokból származtatott újabb (utód) osztályok öröklik a definiálásukhoz használt alaposztályok (ős) már létező adatstruktúráit és függvényeit újabb tulajdonságokat is definiálhatnak, vagy régieket újraértelmezhetnek így osztályhierarchiához jutunk

49 Az objektum-orientált programozás alapelvei Sokalakúság/Többrétűség (polymorphism) egy adott tevékenység (metódus) azonosítója ugyanaz lehet egy adott osztályhierarchián belül a hierarchia minden egyes osztályában a tevékenységet végrehajtó függvény megvalósítása az adott osztályra nézve specifikus

50 Három implementációs formája C++-ban: Függvényoverloading korai kötéssel azonos hatáskörben, azonos néven, de különböző paraméterszignatúrával definiálhatunk függvényeket Virtuális függvény késői kötéssel származtatás során a hierarchiában lejjebb álló függvények azonos néven azonos paraméterszignatúrával és visszatérési értékkel szerepelhetnek, mint a feljebb deklarált és virtual kulcsszóval ellátott tagfüggvények Operátoroverloading a C nyelv szabványos operátorainak átdefiniálása

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

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)

Részletesebben

Programozási nyelvek 6. előadás

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

Részletesebben

ME 306-2 Szoftverfejlesztés

ME 306-2 Szoftverfejlesztés Programozási nyelvek kialakulása, fejlődése. Eljárás és objektumorientált nyelvek jellemzői, alapfogalmai. Grafikus fejlesztői környezetek kialakulása, eseményorientált programozás. 1. Programozási nyelvek

Részletesebben

Adatbázis rendszerek. dr. Siki Zoltán

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

Részletesebben

Bevezetés. Dr. Iványi Péter

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.

Részletesebben

Számítógép architektúra

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

Részletesebben

C programozás. 1 óra Bevezetés

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

Részletesebben

OOP. Alapelvek Elek Tibor

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

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

4. Programozási nyelvek osztályozása. Amatőr és professzionális

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

Részletesebben

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

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

Részletesebben

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Bemutatkozás. Bemutatkozás. Bemutatkozás. Bemutatkozás. 1. előadás. A tárgy címe: A programozás alapjai 1

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Bemutatkozás. Bemutatkozás. Bemutatkozás. Bemutatkozás. 1. előadás. A tárgy címe: A programozás alapjai 1 Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Ajánlott irodalom A programozás fogalma Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu 2012. február 7. A tárgy címe: A tárgy adminisztratív

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

Történeti áttekintés

Történeti áttekintés Történeti áttekintés Előzmények A számítástechnika kezdetén elterjedt (egyeduralkodó) volt a mérnökpult használata, a gép és az ember kommunikációja bináris nyelven zajlott. A gépi kódú programozás nem

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

Objektum orientált programozás Bevezetés

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

Részletesebben

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

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

Részletesebben

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

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

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ási technológia 1.

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

Részletesebben

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

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

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

Részletesebben

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

Részletesebben

Programzás I. - 1. gyakorlat

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)

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

Adatstruktúrák Algoritmusok Objektumok

Adatstruktúrák Algoritmusok Objektumok Adatstruktúrák Algoritmusok Objektumok A számítógépes problémamegoldás modellezésének módszerei. Programozási elvek és módszerek: imperatív, strukturált, moduláris, objektumorientált programozás. Programozási

Részletesebben

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás? Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii

Részletesebben

Már megismert fogalmak áttekintése

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

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

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

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

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

Részletesebben

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus

Részletesebben

A programozási nyelvek története, fejlődése

A programozási nyelvek története, fejlődése A programozási nyelvek története, fejlődése Időszámításunk előtt 1500-ra tehető az első számolást segítő eszközök megjelenése (abakusz). Már ezeknek az egyszerű eszközöknek a használata is algoritmikus

Részletesebben

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

Részletesebben

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance Az objektum-orientált programozás (röviden OOP) a természetes gondolkodást, cselekvést közelítő programozási mód, amely a programozási nyelvek tervezésének természetes fejlődése következtében alakult ki.

Részletesebben

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

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

Részletesebben

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,

Részletesebben

Adatstruktúrák, algoritmusok, objektumok

Adatstruktúrák, algoritmusok, objektumok Adatstruktúrák, algoritmusok, objektumok 1. Számítási modellek és programozási paradigmák 1 Modellezési alapelvek A modellezés célja A modellezés célja a világ minél teljesebb körő megértése Elemek, folyamatok,

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

Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila

Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila Programozás Objektum Orientált Programozás (OOP) Alapfogalmak Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 18.

Részletesebben

Párhuzamos programozási platformok

Párhuzamos programozási platformok Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási

Részletesebben

C programozási nyelv

C programozási nyelv C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György

Részletesebben

ISA szimulátor objektum-orientált modell (C++)

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

Részletesebben

Programozás alapjai Bevezetés

Programozás alapjai Bevezetés Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma

Részletesebben

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

Részletesebben

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,

Részletesebben

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

Algoritmusok, adatszerkezetek, objektumok

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.

Részletesebben

Programozási alapismeretek 4.

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

Részletesebben

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

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:

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

Iman 3.0 szoftverdokumentáció

Iman 3.0 szoftverdokumentáció Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3

Részletesebben

Podoski Péter és Zabb László

Podoski Péter és Zabb László Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő

Részletesebben

Programozás III. - NGB_IN001_3

Programozás III. - NGB_IN001_3 Programozás III. - az objektumorientált programozásba Varjasi Norbert Széchenyi István Egyetem Informatika Tanszék Programozás III. - 1. el adás institution-log Tartalom 1 El adások és gyakorlatok Zárthelyi

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

Párhuzamos programozási platformok

Párhuzamos programozási platformok Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási

Részletesebben

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

Részletesebben

Modellező eszközök, kódgenerálás

Modellező eszközök, kódgenerálás Modellező eszközök, kódgenerálás Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek

Részletesebben

Objektumorientált paradigma és a programfejlesztés

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

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

IK Algoritmusok és Alkalmazásaik Tsz, TTK Operációkutatás Tsz. A LEMON C++ gráf optimalizálási könyvtár használata

IK Algoritmusok és Alkalmazásaik Tsz, TTK Operációkutatás Tsz. A LEMON C++ gráf optimalizálási könyvtár használata IKP-9010 Számítógépes számelmélet 1. EA IK Komputeralgebra Tsz. IKP-9011 Számítógépes számelmélet 2. EA IK Komputeralgebra Tsz. IKP-9021 Java technológiák IK Prog. Nyelv és Ford.programok Tsz. IKP-9030

Részletesebben

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

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

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

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

Részletesebben

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin 1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy

Részletesebben

Hardver leíró nyelvek (HDL)

Hardver leíró nyelvek (HDL) Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.

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

Bevezetés a Programozásba II 1. előadás. Szoftverfejlesztés, programozási paradigmák

Bevezetés a Programozásba II 1. előadás. Szoftverfejlesztés, programozási paradigmák 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 2014.02.10. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

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

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

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 szoftverfejlesztés eszközei

A szoftverfejlesztés eszközei A szoftverfejlesztés eszközei Fejleszt! eszközök Segédeszközök (szoftverek) programok és fejlesztési dokumentáció írásához elemzéséhez teszteléséhez karbantartásához 2 Történet (hw) Lyukkártya válogató

Részletesebben

A JavaScript főbb tulajdonságai

A JavaScript főbb tulajdonságai JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén

Részletesebben

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Könyvészet Kátai Z.: Programozás C nyelven Brian W. Kernighan, D.M. Ritchie: A C programozási

Részletesebben

.NET (Dot-NET) #1 (Bevezetés)

.NET (Dot-NET) #1 (Bevezetés) .NET (Dot-NET) #1 (Bevezetés) v0.2a 2004.02.05. 23:49: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 1 E jegyzet másolata

Részletesebben

Objektumorientált szoftverfejlesztés alapjai

Objektumorientált szoftverfejlesztés alapjai Objektumorientált szoftverfejlesztés alapjai Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben @Katona József Kővári Attila Lektorálta: Dr. Fauszt Tibor DOI:

Részletesebben

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

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

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

Web-programozó Web-programozó

Web-programozó Web-programozó Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,

Részletesebben

S0-02 Típusmodellek (Programozás elmélet)

S0-02 Típusmodellek (Programozás elmélet) S0-02 Típusmodellek (Programozás elmélet) Tartalom 1. Absztrakt adattípus 2. Adattípus specifikációja 3. Adattípus osztály 4. Paraméterátadás 5. Reprezentációs függvény 6. Öröklődés és polimorfizmus 7.

Részletesebben

Interfészek. PPT 2007/2008 tavasz.

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

Részletesebben

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk. JSON tutorial Készítette: Cyber Zero Web: www.cyberzero.tk E-mail: cyberzero@freemail.hu Msn: cyberzero@mailpont.hu Skype: cyberzero_cz Fb: https://www.facebook.com/cyberzero.cz BEVEZETÉS: A JSON (JavaScript

Részletesebben

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

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

Részletesebben

Programozás s 2. Alapok

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

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

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

Fordító Optimalizálás

Fordító Optimalizálás Fordító Optimalizálás Kód visszafejtés. Izsó Tamás 2012. szeptember 27. Izsó Tamás Fordítás Optimalizálás / 1 Section 1 Fordító részei Izsó Tamás Fordítás Optimalizálás / 2 Irodalom Fordító részei Optimalizálás

Részletesebben

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #6 (VMT és DMT) v1.0 2003.03.07. 19:33: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_06-1 - E jegyzet másolata

Részletesebben

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

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

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 8. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

III. Alapfogalmak és tervezési módszertan SystemC-ben

III. Alapfogalmak és tervezési módszertan SystemC-ben III. Alapfogalmak és tervezési módszertan SystemC-ben A SystemC egy lehetséges válasz és egyben egyfajta tökéletesített, tovább fejlesztett tervezési módszertan az elektronikai tervezés területén felmerülő

Részletesebben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelvek JAVA EA+GY 1. gyakolat Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program

Részletesebben

Java és web programozás

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:

Részletesebben

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület

Részletesebben

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

egy szisztolikus példa

egy szisztolikus példa Automatikus párhuzamosítás egy szisztolikus példa Áttekintés Bevezetés Példa konkrét szisztolikus algoritmus Automatikus párhuzamosítási módszer ötlet Áttekintés Bevezetés Példa konkrét szisztolikus algoritmus

Részletesebben

GPU Lab. 5. fejezet. A C++ fordítási modellje. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

GPU Lab. 5. fejezet. A C++ fordítási modellje. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc 5. fejezet A C++ fordítási modellje Grafikus Processzorok Tudományos Célú Programozása Kódtól a végrehajtásig Végrehajtás előtt valamikor létre kell jönnie az adott architektúrára jellemző bináris utasításoknak.

Részletesebben