Adatstruktúrák, algoritmusok, objektumok

Hasonló dokumentumok
Adatstruktúrák, algoritmusok, objektumok

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

Programozási Paradigmák

Objektumorientált paradigma és a programfejlesztés

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

Objektumorientált paradigma és programfejlesztés Bevezető

Programozási nyelvek 6. előadás

Programozási technológia 1.

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

Számítógépek architektúrák. Architektúrák

Adatstruktúrák Algoritmusok Objektumok

30.B 30.B. Szekvenciális hálózatok (aszinkron és szinkron hálózatok)

Szekvenciális hálózatok és automaták

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

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

egy szisztolikus példa

OOP. Alapelvek Elek Tibor

A gyártástervezés modelljei. Dr. Mikó Balázs

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Irányítástechnika Elıadás. PLC-k programozása

FUNKCIONÁLIS PROGRAMOZÁS

AAO 1. félév EA - PDF 01

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Objektum orientált programozás Bevezetés

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

Bevezetés. Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Programozás alapjai (ANSI C)

BPEL nyelvű üzleti folyamatok modellezése és formális ellenőrzése

Irányítástechnika alapvetı célja

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Adatstruktúrák, algoritmusok, objektumok

BASH script programozás II. Vezérlési szerkezetek

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

Algoritmusok, adatszerkezetek, objektumok

CAD Rendszerek I. Sajátosság alapú tervezés - Szinkron modellezés

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Adatstruktúrák, algoritmusok, objektumok

A TANTÁRGY ADATLAPJA












Informatika Rendszerek Alapjai

A szoftverfejlesztés eszközei

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

Irányítástechnika Elıadás. Relék. Relés alapkapcsolások

Informatika tanítási módszerek

A különbözı közigazgatási-közszolgáltatási reformelképzelések kidolgozása hagyományosan nem jár együtt hatáselemzések készítésével.

S01-8 Komponens alapú szoftverfejlesztés 2

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

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

Logikai programozás ADMINISZTRATÍV KÉRDÉSEK KÖVETELMÉNYRENDSZER FŐBB PONTOK NÉHÁNY BIZTATÓ SZÓ

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Mérnökinformatikus alapszak (BSc)

Parametrikus tervezés

Számítógépek felépítése, alapfogalmak

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

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

Programozási nyelvek Python

A PhysioBank adatmegjelenítő szoftvereinek hatékonysága

Irányítástechnika Elıadás

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

MÉRNÖKINFORMATIKUS ALAPSZAK TANULMÁNYI TÁJÉKOZATÓ 2017.

nappali tagozat, tanítói szak TAN05MSZ Szigorlati követelmények és tételek Vizsgatematika A szigorlat követelményei:

M+P SECURITY Vagyonvédelmi és Szolgáltató KFT

Algoritmusok. Dr. Iványi Péter

Számítógépek felépítése

A TANTÁRGY ADATLAPJA

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

Operációs rendszerek gyak.

A fejlődés megindulása. A Z3 nevet viselő 1941-ben megépített programvezérlésű elektromechanikus gép már a 2-es számrendszert használta.

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Turing-gép május 31. Turing-gép 1. 1

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Összefoglaló - Jármőipari biztonságtechnikai szakmai nap

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba

Utolsó módosítás:

Irányítástechnika Elıadás. Programozható logikai vezérlık

Az alállomási kezelést támogató szakértői funkciók

Bevezetés a programozásba

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Mi a folyamat? Folyamatokkal kapcsolatos teendőink. Folyamatok azonosítása Folyamatok szabályozása Folyamatok folyamatos fejlesztése

Funkcionális menedzsment Általános (naturális) filozófiai értelmezés

Kiterjesztések sek szemantikája

LABMASTER anyagvizsgáló program

Hálózati folyamok. A használt fogalmak definiálása

Objektumorientált Programozás III.

HDM Bemutató BS-BÉR2001. Humán Dokumentum Menedzsment Modul

DIGITÁLIS TECHNIKA I 1. ELİADÁS A DIGITÁLIS TECHNIKA TANTÁRGY CÉLKITŐZÉSEI ÁLTALÁNOS BEVEZETÉS AZ 1. FÉLÉV TEMATIKAI VÁZLATA ÉS ISMERETANYAGA (2)

1. Bevezetés A C++ nem objektumorientált újdonságai 3

Átírás:

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, összefüggések, viszonyok A modellezés során a fenti cél érdekében az ember: ábrázolásokat készít a világról, majd leképezi a világ egyes szeleteit az általa használt eszközökben (ennek során egy vagy több szempontot kiemel más szempontokkal szemben). 2006. szeptember 12. 2 2

Modellezési alapelvek A modellezés folyamata Absztrakció Lényeg kiemelése, a jellegzetességek leegyszerősített leképezése Megkülönböztetés Elemek meghatározása, elemek és tulajdonságaik szétválasztása Osztályozás Elemek típusokba, csoportokba sorolása Általánosítás és specializáció Elemtípusok bıvítése és szőkítése, elemhierarchiák kialakítása Kapcsolatok meghatározása Különbözı kapcsolattípusok meghatározása, elemek közötti kapcsolatok felállítása Ismeretség, leszármazás, tartalmazás, kompozíció... 2006. szeptember 12. 3 3

Programozási paradigmák A paradigma fogalma Paradigma: szemléletmód; modellezési, problémadefiníciós és problémamegoldási módszer Programozási paradigma: a számítógép konkrét feladatok megoldására történı felhasználásának, irányításának módja 2006. szeptember 12. 4 4

Programozási paradigmák Programozási paradigmák és programozási nyelvek A programozási nyelveket általában egy-egy paradigma ihleti Céljuk egy adott programozási paradigma legfontosabb jellemzıinek megvalósítása A programozási paradigmák egy-egy számítási modellre épülnek A programozási nyelvek absztrakciós szintje folyamatosan nı A kiindulópont a számítógép konkrét hardvermegvalósítása volt Minden új paradigma növeli az absztrakció szintjét Néha holtágak is keletkeznek, így egyes magasabb absztrakciós szintet képviselı nyelvek kihalnak, de a fenti állítás a fı fejlıdési irányokra is igaz 2006. szeptember 12. 5 5

Programozási megoldások Számítási modellek és programozási paradigmák (1) Imperatív számítási modellek ( hogyan számítsuk ki ) Turing-modell Alan Turing nevéhez főzıdik (1936) Nincs hozzá kapcsolódó programozási paradigma (csak elvi jelentısége van) Neumann-modell Neumann János nevéhez főzıdik (1945) Procedurális/strukturált programozási paradigma Utasításorientált; az egyes mőveletek megismételhetık; többszörös értékadás; változók; alapvetıen soros végrehajtást feltételezı modell Objektumorientált modell Objektumorientált (OO) programozási paradigma Adatorientált; adatok és a rajtuk végezhetı mőveletek összerendelése objektumokká; üzenetáramlás az egyes objektumok között; a modell nem feltételez soros végrehajtást Adatfolyamelvő modell Adatfolyamelvő programozási paradigma Adatorientált (bemenı adatokból kimenı adatok); adatok kiértékelése rendelkezésre álláskor 2006. szeptember 12. 6 6

Programozási megoldások Számítási modellek és programozási paradigmák (2) Deklaratív számítási modellek ( mit akarunk kiszámítani ) Funkcionális/applikatív számítási modell Funkcionális programozási paradigma Függvények redukciója automatikus behelyettesítésekkel Példa (ML programozási nyelv) fun factorial 0 = 1 factorial n = n * factorial(n-1) Logikai alapú számítási modell Logikai programozási paradigma Egymással összefüggésben lévı állítások levezetése (rezolúció) mintaillesztéssel és következtetésekkel Példa (Prolog programozási nyelv) testvér(x,y) :- szülı(z,x), szülı(z,y). szülı(x,y) :- apa(x,y). szülı(x,y) :- anya(x,y).?- testvér(jancsi, Ilona) anya(klára, Jancsi). igen. apa(péter, Jancsi). apa(péter, Ilona). apa(józsef, Péter). 2006. szeptember 12. 7 7

Programozási megoldások A számítási modellek, számítógép-architektúrák és programozási nyelvek összefüggése Számítási modell Specifikációs eszköz Megvalósítási eszköz Programozási nyelv Végrehajtó eszköz Számítógép-architektúra 2006. szeptember 12. 8 8

Programozási megoldások fejlődése Különbözı számítási modelleken alapuló architektúrák versenye Logikai alapú számítási modell Elemi mőveletek szintjén párhuzamos modellek Funkcionális/applikatív számítási modell Adatfolyamelvő számítási modell Neumann-féle számítási modell 1950 1960 1970 1980 1990 2000 2006. szeptember 12. 9 9

A Neumann-architektúra A Neumann-architektúra alapvetı felépítése Adat/utasítás Vezérlés Memória Bemenet Kimenet ALU Vezérlés 2006. szeptember 12. 10 10

A Neumann-architektúra A Neumann-architektúra fıbb jellemzıi Utasítások és adatok tárolása egy közös memóriában Adatok tárolása nevesített változókban (elkülönített memóriarekeszek) Nincs külsı megkülönböztetés az utasítás és az adat között, csak az aktuális programállapot dönt az értelmezésrıl Az utasítások sorozata a programból, külsı beavatkozás nélkül is módosítható Folyamatos, ciklikus programvégrehajtás A végrehajtás a memória elsı rekeszétıl indul, majd ha elérte a memória végét, ismét az elsı rekesztıl folytatódik Feltételes és feltétel nélküli vezérlésátadás A következı utasítás végrehajtása függjön az elızı eredményétıl Megismételhetı mőveletek, értékadások Soros, szinkron mőködés 2006. szeptember 12. 11 11

A Neumann-architektúra Az ENIAC számítógép (1946) 2006. szeptember 12. 12 12