Programozási nyelvek csoportosítása.

Slides:



Advertisements
Hasonló előadás
T ESZTELÉS. C ÉLJA Minél több hibát találjunk meg! Ahhoz, hogy az összes hibát fölfedezzük, kézenfekvőnek tűnik a programot az összes lehetséges bemenő.
Advertisements

Programozási feladatok
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Adatelemzés számítógéppel
Hatékonyságvizsgálat, dokumentálás
Neumann-elvek A számítógép legyen teljesen elektronikus, külön vezérlő és végrehajtó egységgel. Kettes számrendszert használjon. Az adatok és a programok.
A számítógép működése II.
3. A programozás eszközei, programozás-technikai alapismeretek
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke A programozás alapjai 1. (VIEEA100) 9. előadás.
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
Programozási nyelvek.
Bevezetés a Java programozásba
Mutatók, tömbök, függvények
A Neumann-elvű számítógép jellemzői:
Neumann elvek.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
CISC - RISC processzor jellemzők
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Egy egyszerű gép vázlata
Miben hasonlítanak egymásra a mai és az ötvenes évek számítógépei? Takács Béla Melyek a közös tulajdonságaik ?
Hardvereszközök Hardvereszközök I.rész. Hardvereszközök CPU Memóri a Input Háttértárolók Outpu t A számítógép felépítési elve Neumann elvek: 1.Soros utasításvégrehajtás.
A problémamegoldás lépései
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
Neumann János és elvei.
Szintaktikai, szemantikai szabályok
3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, szerepe, deklarációja.
Programozási nyelvek.
Objektumorientált programozás
Számítógépek története, felépítése összefoglalás
A Neumann-elvŰ számítógép
A számítógép elvi felépítése
Algoritmusok.
A Neumann-elvek 3. ÓRA.
A Neumann-elvű gépek A Neumann elvek:
Logikai programozás 2..
Objektum orientált programozás
Az algoritmuskészítés alapjai
IT ALAPFOGALMAK HARDVER.
ProgramozásProgramozás célja hosszabb számítások elvégzése ill. kiíratása akkor érdemes programot írni, ha sok számolni való van illetve ha ugyanazt az.
MI 2003/6 - 1 Elsőrendű predikátumkalkulus (elsőrendű logika) - alapvető különbség a kijelentéslogikához képest: alaphalmaz. Objektumok, relációk, tulajdonságok,
Programozás, programtervezés
Összeállította: Sashalmi Tibor
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
1 A számítógépek felépítése jellemzői, működése. 2 A számítógép feladata Az adatok Bevitele Tárolása Feldolgozása Kivitele (eredmény megjelenítése)
Neumann elvű számítógép. Neumann János ► Neumann János december 28-án Budapesten született ► 1930-ban emigrált az USA-ba.
kialakulása, fejlődése, generációk
Készítette: Weigel Szilvia számítástechnika szak III. évfolyam, Budapest – ADU A Logo programozási nyelv X.
A NEUMANN-ELVŰ SZÁMÍTÓGÉP. A számítógép:  Információk tárolására, feldolgozására szolgáló eszköz.
Programstruktúrák. Program A program utasítások olyan sorozata, amely a számítógépen önállóan képes megoldani egy feladatot. A program háttértáron futtatható.
Alkalmazásfejlesztés F#-ban Dunaújvárosi Főiskola Kiss Gyula mérnökinformatikus hallgató Nemzeti Tehetség Program Tehetségútlevél Program „NTP-TÚP ”
Programozás alapjai Készítette: Csiszár Nóra Anita
kialakulása, fejlődése, generációk
Adatstruktúrák Algoritmusok Objektumok
Programozási alapok.
Neumann elvek, a számítógép részei
Neumann elvek és a Neumann elvű számítógép felépítése
a programegységek között
Programozási nyelvek típusossága.
Compiler illetve interpreter nyelvek
Beépített függvények használata programozáskor
Programozás C# -ban Elágazások.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Számítógépes algoritmusok
Algoritmus készítés.
Előadás másolata:

Programozási nyelvek csoportosítása

Csoportosítás működésük szerint Neumann-elvű nyelvek A Neumann-elvek egyértelműen fellelhetők a program felépítésében és nyelvezetében. Automata-elvű nyelvek A programnyelv állapotváltozásokat, lekérdezéseket kezel adattárolás nélkül. Logikai nyelvek A nyelvben állítások megadására van lehetőség, amelyből a program „kihámozza” a lehetséges megoldás(oka)t, illetve a megoldhatatlanságot. Funkcionális nyelvek A program megírása tulajdonképpen egy függvény meghatározása, amely paraméterezhető.

Neumann-elvű nyelvek a végrehajtó egy Neumann-elvű számítógép, rendelkezik címezhető memóriával, a program végrehajtása az utasítások egymás utáni végrehajtásával történik utasításorientált nyelvek változó: névvel ellátott memóriatartomány, amelyet kezelni tudunk (értékadás, adatok beolvasása, kiírása) a program végrehajtható egy adott memóriacímtől kezdve, ezzel szervezhetőek a ciklusok, elágazások A jelenlegi számítógépek Neumann-elvűek, ezért a nyelvek jelentős többsége is. Elképzelések, tulajdonságok memória, címezhető (sorszámmal) a program és az adatok a memóriában vannak a végrehajtás memóriaállapotok sorozata a program leírása szöveges Következményei van változó, van értékadás utasítások ismételt végrehajtása lehetséges (ciklus), elágazás lehetséges beolvasás (memória másolás) kiírás (memória másolás képernyőre, fájlba) Neumann-elvek: - Legyen soros működésű! - Legyen teljesen elektronikus, külön vezérlő és végrehajtó egységgel! - Az adatok és a programok ugyanabban a belső tárban, a memóriában helyezkedjenek el! - Központi vezérlőegységet - Aritmetikai egységet (műveletvégzés) - Memóriát - Be- és kimeneti egységet Kettes számrendszert használjon! Legyen univerzális!

Automata-elvű nyelvek a végrehajtó egy automata (állapotok, műveletek, állapotátmenet- függvények) Változó helyett állapotjellemzők vannak: számuk, típusuk, nevük rögzített, eljárások/utasítások paraméterei lehetnek nincs értékadás definiálni kell az automata kezdeti állapotát beolvasás helyett eljárások paraméterezése, kiírás nincs (nem is kell, mert a program lefutása után előáll az eredmény) elágazások, ciklusok paraméter- ill. állapotfüggőek van rekurzió és párhuzamosság Pl: LOGO grafikai része, ipari robotok nyelvei Elképzelések, tulajdonságok az adatok állapotok, illetve bemenetek – fix felosztású memória (pl. festőkar helye, fest-e, ...): állapottér a végrehajtás egyszerű állapotok sorozata a program egy állapotátmenet-függvény a program elkülönül az állapotoktól tevékenységorientáltság (állapotváltoztatás) Következmények az utasítások általában egy állapotkomponenst változtatnak változó, értékadás nincs (csak névvel ellátott állapotkomponensek) csak primitív (állapot-, vagy paraméter- vagy érzékelőállapot-függő) ciklusok írhatók állapot-, vagy paraméter vagy érzékelőállapot-függő elágazás utasítások paraméterezhetőek beolvasás: paraméterezés, állapotlekérdezés, érzékelő állapota kiírás: állapotváltozás nyoma párhuzamosság

Logikai nyelvek a programozási egy logikai formula (igaz/hamis értékű függvény), a feladat megoldása egy formula kiértékelésének felel meg a program azt jelzi vissza, lehetséges-e a számítás, ha igen, akkor megad egy megoldást a programozónak azt kell leírnia, hogy a megadott adatokból mit kellene kiszámítani, és nem azt, hogy hogyan Nem algoritmust kell írni, hanem megadni a kiinduló formulákat (szabályokat), a célformulát, és a program meghatározza, hogy következik-e a célformula a többi formulából. A program leírása a matematikai logika egyik ágának felel meg. Pl.: Prolog (1972) https://web.archive.org/web/20140323032934/http://enteraktiv.hu/prologika/prologika4.html#iii2 Elképzelések, tulajdonságok a program egy logikai formula (általában nem lehet teljesen általános formula: megszorítások!) a program végrehajtása a logikai formula kiértékelése erős matematikai kidolgozottság a formulákban szerepelhetnek paraméterek a program és az adatok nem különülnek el (minden adat egy azonosan igaz formula) Következmények nincs változó, értékadás szekvencia = és, elágazás = vagy ciklus nincs, helyette rekurzív formulák vannak feltételes kifejezések elemi utasítás: mintaillesztés beolvasás, kiírás: mintaillesztés lehetőség új formulák létrehozására (új utasítás) kiértékelési algoritmus: backtrack Ž csak a MIT? kell leírni Pl.: PROLOG

Funkcionális nyelvek a programozási egy függvény, a feladat megoldása egy függvény kiértékelésének felel meg A programozó inkább azt specifikálja programban, mit kell kiszámítani, nem azt, hogy hogyan, milyen lépésekben. Függvények hívásából és kiértékelésből áll a program. Lehetséges, hogy a megoldáshoz vezető út nem ismert, csak a megoldás pontos definíciója. Nincsenek állapotok, mellékhatások. A rekurzió a funkcionális programozás egyik fontos lehetősége, az ismétlések és ciklusok helyett rekurziót alkalmazhatjuk. Pl.: Logo, Clean, Haskell, Erlang Felhasználás: kommunikációs, és egyéb nagy hibatűrést igénylő rendszerek készítése, matematikai számításokat végző rendszerek Elképzelések, tulajdonságok a program egy függvény memória nincs a végrehajtás függvénykifejtés erős matematikai kidolgozottság Következmények változó, értékadás nincs konstansok = konstans függvények függvénykompozíció ciklus nincs, helyette rekurzív függvények lehet ciklus, ha léteznek a programon értelmezett függvények feltételes függvények függvényargumentum van beolvasás: speciális függvény kiírás: a függvény eredménye, esetleg speciális (mellékhatással rendelkező függvény)

+1: Objektumelvű nyelvek objektumtípus (osztály): adatok és a kezelésükhöz szükséges műveletek meghatározása az adat definiáláskor jönnek létre az őt kezelő eljárások: objektum = adatok + műveletek az objektumokat csak a saját műveleteikkel lehet kezelni az objektumok üzenetekkel kommunikálnak egymással eseményvezérelt programozás jellemzi agy objektumosztályból létrehozható új objektumosztály új adatok és műveletek hozzá vételével, vagy meglévő műveletek módosításával (öröklés)

Csoportosítás - ember/gépközeliség szerint Gépi kód Alacsony szintű nyelvek Magas szintű nyelvek

Csoportosítás - felhasználó szerint Amatőr nyelvek sok nyelvi elem egyszerű programszerkezet a felhasználóbarát környezet, folyamatos visszajelzés az esetleges hibákról gyors nyelvi fejlődés (változatok) sok esetben géptípushoz kötött Professzionális nyelvek kevés nyelvi elem összetett programszerkezet, sok lehetőség, modularitás stabilitás, felülről lefelé kompatibilitás, megbízhatóság hordozható, gépfüggetlen

Csoportosítás - Alkalmazás szerint Matematikai számítások Adatfeldolgozás Rendszerprogramozás Szövegfeldolgozás Folyamatvezérlés Szimuláció Oktatás Általános