Magas szintű programozási nyelvek 1. Előadás. Bevezetés. Espák Miklós. Juhász István jegyzete alapján

Hasonló dokumentumok
Programozás. A programkészítés lépései. Program = egy feladat megoldására szolgáló, a számítógép számára értelmezhető utasítássorozat.

Programozás alapjai Bevezetés

Adatok ábrázolása, adattípusok. Összefoglalás

Párhuzamos programozás

Adattípusok. Szám: pozitív egész, egész, valós, dátum + idő,... Szöveg, Formázott szöveg Kép Hang Mozgókép+Hang

Programozás I gyakorlat

Osztály szint tagok. Krizsán Zoltán 1 [2012. március 12.] Objektumorientált programozás C# alapokon tananyag

EPER E-KATA integráció

Történeti áttekintés

Áramlástechnikai gépek soros és párhuzamos üzeme, grafikus és numerikus megoldási módszerek (13. fejezet)

A NYELV NEVE. Kezdetben: Oak. James Gosling. Java: Sun Mycrosystems védjegyev

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

Adatstruktúrák Algoritmusok Objektumok

Időzített rendszerek és az UPPAAL

SW process Feladatok. SW process Feladatok

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

Fordítóprogramok Készítette: Nagy Krisztián

Bevezetés az ökonometriába

Az informatika oktatás téveszméi

Bank: minden tranzakciónál. Egyetemek: regisztráci. Emberi erőforr. források: alkalmazottak adatainak rögzr

Egyéb előterjesztés Békés Város Képviselő-testülete december 2-i ülésére

Árverés kezelés ECP WEBSHOP BEÉPÜLŐ MODUL ÁRVERÉS KEZELŐ KIEGÉSZÍTÉS. v ECP WEBSHOP V1.8 WEBÁRUHÁZ MODULHOZ

Kooperáció és intelligencia

Vegyes tételek könyvelése felhasználói dokumentum Lezárva:

Digitális technika (VIMIAA01) Laboratórium 1

3. HÉT: CRM RENDSZEREK A GYAKORLATBAN FUNKCIONALITÁSOK

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2006/2007

8. Fordítóprogramok. A lexikális és szintaktikai elemzés

B+ B- A+ A- G Y 1 C1 2 3 C2 4

Család, számítógép, internet, gyereknevelés

Algebra es sz amelm elet 3 el oad as Rel aci ok Waldhauser Tam as 2014 oszi f el ev

... ahol l 0. Minden tranzakcióhoz létezik. = f(σ i. A sorozat nem bővíthető. Ha véges, akkor az utolsó konfigurációnak nincs rákövetkezője.

Az MPM hálótechnika (I. előadás)

Beszerzések, közbeszerzési eljárások; Összeférhetetlenség, szabálytalanság. Előadó: dr. Keszler Gábor NFFKÜ Zrt.

MACH-TECH 2015 Ipar Napjai kiállításon Elismerő oklevéllel díjazott szoftver. CNCEDU Kft - Tari Attila

Az éves statisztikai összegezés. Statisztikai összegezés az éves közbeszerzésekrıl a Kbt. IV. és VI. fejezete szerinti ajánlatkérık vonatkozásában

Széchenyi István Szakképző Iskola

Á l t a l á n o s a n a L i n u x r ó l. DE-EFK Egészségügyi Ügyvitelszervező Szak Linux c. tantárgy 2006 I. félév

Első randi a QGIS SERVER környezettel

MEZŐGAZDASÁGI ALAPISMERETEK ÉRETTSÉGI VIZSGA II. A VIZSGA LEÍRÁSA

11. számú melléklet - FHB Bankszámlacsomagokhoz kapcsolódó Betéti bankkártyák egyéb díjai, jutalékai

Tanácsok egyszerű programok készítéséhez

Sikeres E-DETAILING KAMPÁNY receptje. GYÓGYKOMM KONFERENCIA Budapest, február 25. BALOGH JUDIT, PharmaPromo Kft.

Az Európai Szabadalmi Egyezmény végrehajtási szabályainak április 1-étől hatályba lépő lényeges változásai

Számítógépes alapismeretek

HWDEV-02A GSM TERMOSZTÁT

A szerzõrõl... xi Bevezetés... xiii

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

Az éves statisztikai összegezés. Statisztikai összegezés az éves közbeszerzésekről a Kbt. IV. és VI. fejezete szerinti ajánlatkérők vonatkozásában

Tájékoztató az önkéntes nyugdíjpénztárak számára a 2012-től érvényes felügyeleti adatszolgáltatási változásokról

A fiatalok pénzügyi kultúrája Számít-e a gazdasági oktatás?

Shared IMAP beállítása magyar nyelvű webmailes felületen

Tartalom. Újrafelhasználás alapú tervezés. Újrafelhasználás alapú tervezés Komponens alapú fejlesztés. Példák. Szoftvertechnológia előadás

UNIX operációs rendszer rövid története és jellemzői

Programozás elmélet tananyag

MBLK12: Relációk és műveletek (levelező) (előadásvázlat) Maróti Miklós, Kátai-Urbán Kamilla

dr.majoros Mária Kinpán Dániel: Költői művek zeneiségének vizsgálata a hangtan alapján

programozástechnika Kezdetek Fı célja 1. Kommunikáció Kezdetek - Adaptivitás

felsőfokú szakképzések szakirányú továbbképzések informatikai alapszakok informatikai mesterszakok informatikai doktori iskola

Mobiltelefónia & biztonság

Laborgyakorlat Windows 7 upgrade-je, felhasználói adatok költöztetése

Vodafone Connect Now

AEGON Magyarország Lakástakarékpénztár Zártkörűen Működő Részvénytársaság. Mérleg

Illeszkedésvizsgálat

Szervezeti formák bemutatása

(11) Lajstromszám: E (13) T2 EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Vállalkozásfinanszírozás

A táblázatkezelő felépítése

Közreműködők: Comics Uniting Nations: A változás hősei

AWP TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN

Tantárgyi program. 9. A tantárgy hallgatásának előfeltétele, előképzettségi szint: 10. A tantárgy tartalma:

A Szekszárdi I. Béla Gimnázium Helyi Tanterve

Lineáris algebra jegyzet

Prolog 1. Készítette: Szabó Éva

Összefoglaló jelentés a évi belső ellenőrzési terv végrehajtásáról

TANMENET. Tantárgy: Informatika Osztály: 9B. Heti óraszám: 2

Javítóvizsga témakörei matematika tantárgyból

CAD-CAM

A pedagógus-előmeneteli rendszer informatikai támogató rendszerének fejlesztése Fűrész Edit Budapest, október 27.

Nemzeti Alaptanterv Informatika műveltségterület Munkaanyag március

Erste MobilBank Felhasználói kézikönyv

Halmazok és függvények

INFORMATIKAI ALAPISMERETEK

A TŰZVÉDELMI TERVEZÉS FOLYAMATA. Dr. Takács Lajos Gábor okl. építészmérnök BME Építészmérnöki Kar Épületszerkezettani Tanszék

Számítógépes vírusok

15. Programok fordítása és végrehajtása

Alkalmazott funkcionális és logikai programozás (AFLP)

Egységes jelátalakítók

Azonosító jel: Matematika emelt szint

IDE64 dokumentáció. A merevlemez előkészítése az első használatra. 1. Előkészítés. 2. Csatlakoztatás. 3. Segédprogram másolás

Szakmai program 2015

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

Hálózat és rendszermenedzsmen ZABBIX

Néprajzi Múzeum. Új hely Új épület(ek) Új elképzelések. Museum

Kommunikációs rendszerek teljesítőképesség-vizsgálata

A SZERZŐDÉS TELJESÍTÉSÉRE VONATKOZÓ INFORMÁCIÓK

JAZZ KAROS MOTOR. Önzáró elektromechanikus motor manuális kioldóval. Egyfázisú, 230 V AC. Technikai adatok Mértékegység JAZZ

Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre

SAP JAM. Felhasználói segédlet

Átírás:

Magas szintű programozási nyelvek 1 Előadás Bevezetés Espák Miklós espakm@unideb.hu Juhász István jegyzete alapján

Valós világ leírása Egyedek Modellezés Tulajdonságok Kapcsolatok Viselkedés Egyedek osztályozhatók: Közös tulajdonságok Hasonló viselkedés Absztrakció: Modellalkotás alapja Közös, lényeges tulajdonságok kiemelése

Modellezés Milyen modellek vannak? Kotta (egy zeneszám modellje) Műszaki rajz (épületé, alkatrészé stb.) Piktogram (pl. fagylalt áthúzva) Blokkdiagram használati utasításon UML diagram stb.

Absztrakció: Modellalkotás alapja Modellezés Közös, lényeges tulajdonságok kiemelése Lényegtelen tulajdonságok elhagyása Osztály Az absztrakció segítségével a modellben egyedek osztályát írhatjuk le! (Nem független egyedekkel kell foglalkozunk.)

Mikor modellezünk? Modellezés Megoldandó problémán gondolkodunk Tervezünk valamit, rajzolunk Tanulunk (a magolás nem tartozik ide) Mitől modell a modell? Leképezés: léteznie kell az eredeti egyednek Leszűkítés: az egyednek csak bizonyos tulajdonságai jellenek meg (nem mind) Alkalmazhatóság: a modellben levont következtetés igaz az eredeti egyedre

Leképezés Modellezés Az eredeti egyed lehet képzelt vagy tervezett vagy akár feltételezett is. Pl. egy legyártandó gép. Leszűkítés A modell szegényebb, de kezelhetőbb mint az eredeti egyed Alkalmazhatóság A modell létcélja. A vizsgálatok a modellben egyszerűbbek. (Esetleg csak abban lehetséges.)

Modellezés Számítógépes modellezés Adat: egyedek tulajdonságai Kód (program): egyedek viselkedése Adatok modellezése (adatabsztrakció útján): Adatmodell Viselkedés modellezése (procedurális absztrakció útján: funkcionális modell (eljárásmodell) A két modell együttesen írja le a világot!

Alapfogalmak : Nyelvek osztályozása Programnyelvek osztályozása gépközeliség szerint: Gépi kódú nyelvek: Adott processzor utasításkészletére írt bináris programok nyelve Közvetlenül végrehajtható Assembly nyelvek: Alacsony szintű, közvetlen hardver elérés Szöveges (nem bináris) Magas szintű nyelvek Nem CPU-függők, emberközelibb szemlélet

Magas szintű programozási nyelvek Magas szintű programozási nyelvek Forrásprogram: az elkészített (megírt) program Szintaktikai szabályok: a nyelv felépítése, nyelvtana Szemantikai szabályok: A nyelvi elemek jelentése, tartalma. Pl. utasítások végrehajtásának menete, adatok letárolásának módja stb. Nyelv = szintaktikai + szemantikai szabályok

Magas szintű programozási nyelvek Gépi kódú program előállítása: Fordítóprogram (compiler) Forrásprogramból tárgyprogramot készít Lépések: Lexikális elemzés Szintaktikai elemzés Szemantikai elemzés Kódgenerálás (tárgykód előállítása) A tárgykód lehet ún. bájtkód (virtuális gép) Értelmező program (interpreter) Nem készít tárgyprogramot (csak az első 3 lépés van) Utasításonként értelmez és végrehajt

Magas szintű programozási nyelvek Gépi kódú program előállítása: Vegyes technikák: A kettő kombinációja: pl. Java HotSpot VM

Magas szintű programozási nyelvek Gépi kódú program előállítása: Lexikális elemző (lexer): lexikális elemekre bontás Szintaktikai elemzés (parser): A nyelvtani szabályok szerinti ellenőrzés pl.: C-ben x <> 7 fordítási hiba A program struktúrájának felépítése (AST) Szemantikai elemzés: Szemantikai összefüggések teljesülésének ellenőrzése pl. C-ben i = 4.5 fordítási hiba, ha i int típusú

Magas szintű programozási nyelvek Gépi kódú program előállítása: Szerkesztő, kapcsolatszerkesztő (linker): Tárgykódokból futtatható kódot készít Betöltő (loader): Elhelyezi a programot a tárban, és ráadja a vezérlést Futtató rendszer (runtime environment): A program futását vezérli Interpreteres nyelvnél ez az értelmezőprogram Bájtkódra fordító nyelvnél a virtuális gép Gépi kódra fordító nyelvnél a processzor

Magas szintű programozási nyelvek Fordítás menete, 0. lépés: Előfordító (precompiler) A forrásprogramban lehetnek nyelven kívüli elemek Ezeket eltávolítja, illetve feloldja Érvényes forrásprogramot állít elő

Programnyelvek osztályozása Imperatív nyelvek Algoritmikusak A program utasítások sorozata Alapvető eszköz a változó: A tárban lévő értékek közvetlenül módosíthatók Az algoritmus lényege a változók értékének sorozatos módosítása Szorosan kötődnek a Neumann-architektúrához Alcsoportjai: Eljárásorientált nyelvek, objektumorient. nyelvek

Programnyelvek osztályozása Deklaratív nyelvek Nem algoritmikusak A programozó csak a problémát adja meg A megoldáskeresés módja be van építve Memória közvetlen elérése nem lehetséges, vagy korlátozott Pl. Prolog: a változók csak egyszer kaphatnak értéket Nem kötődnek szorosan a Neumann-archit.-hoz Alcsoportjai: Funkcionális, ill. logikai nyelvek

Egyéb: Programnyelvek osztályozása Egyik csoportba sem sorolhatók, vagy éppen a kettő ötvözései (multiparadigmás nyelvek)

Nyílt forrás, zárt forrás A programot forráskód formájában készítik el Futtatáshoz a tárgykódra van szükség Nem módosítható (vissza kellene fejteni) Kié a program? Melyik a program? A forráskód? A tárgykód? Mindkettő?

Zárt forrás (closed source) A forráskód a gyártóé. Más számára nem elérhető. A felhasználó csak a tárgykódot érheti el: csak futtathatja a kódot, nem vizsgálhatja, nem alakíthatja át. Problémák: a felhasználó kiszolgáltatott, a gyártó kezében van (pl. speciális hardverek) Gyakran pénzbe kerül ( fizetős )

Nyílt forrás (OSS, open source sw.) A forráskód nyilvános. Ettől még a gyártóé/fejlesztőé, mivel rendszerint licenc védi. A felhasználó vizsgálhatja a kódot, de nem feltétlenül módosíthatja: ez már licenctől függ. A nyílt forrás csak a forráskód nyilvánosságát jelenti, ettől még nem feltétlen szabad szoftver, és nem is feltétlen ingyenes!

Szabad szoftver (FS, free software) Richard M. Stallman (RMS): Free as in freedom, not as in free beer Free software freeware Egyetlen etikus terjesztési mód GNU projekt: szabad operációs rendszer létrehozása (GNU: GNU is Not Unix) Saját kernelük nincs: GNU/Linux GPL: GNU Public Licence http://gnu.org FOSS: Free and Open Source Software

RMS

Szabadon lehet: Terjeszteni Szabad szoftver Vizsgálni Módosítani Azért szabad, mert a felhasználó szabadságát adja. A szabad szoftver ipari tendencia lett