Programozási nyelvek 6. előadás

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

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

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

Programozás alapjai (ANSI C)

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

Programozási nyelvek (ADA)

Informatika tanítási módszerek

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

Bevezetés az informatikába

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

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

Kiterjesztések sek szemantikája

Adatstruktúrák, algoritmusok, objektumok

Mintavételes szabályozás mikrovezérlő segítségével

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

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

Hardver leíró nyelvek (HDL)

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

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Assembly Utasítások, programok. Iványi Péter

SzA19. Az elágazások vizsgálata

OKTATÁSI MINISZTÉRIUM. SZÓBELI VIZSGATÉTELEK A többször módosított 100/1997. (VI. 13.) Korm. rendelet alapján szervezett OKJ szakmai vizsgához

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

1. Alapok. #!/bin/bash

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Informatika érettségi vizsga

A programozás alapjai

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

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

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

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?

Algoritmusok, adatszerkezetek, objektumok

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

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

Programok értelmezése

Rekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Algoritmizálás, adatmodellezés tanítása 6. előadás

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Labor gyakorlat Mikrovezérlők

Web-programozó Web-programozó

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

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

Alapismeretek. Tanmenet

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Az interrupt Benesóczky Zoltán 2004

Adatszerkezetek 1. Dr. Iványi Péter

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

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Dr. Schuster György február / 32

Adatbázis és szoftverfejlesztés elmélet

FUNKCIONÁLIS PROGRAMOZÁS

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Kifejezések. Kozsik Tamás. December 11, 2016

INFORMATIKA ÉRETTSÉGI VIZSGA ÁLTALÁNOS KÖVETELMÉNYEI

Informatika 1 2. el adás: Absztrakt számítógépek

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

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

egy szisztolikus példa

Programozási módszertan

Összetett feladatok megoldása

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

INFORMATIKA ÉRETTSÉGI VIZSGAKÖVETELMÉNYEK AZ ÉRETTSÉGI VIZSGA RÉSZLETES TEMATIKÁJA

Programozási nyelvek Python

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

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

Bevezetés az informatikába

Komputeralgebra Rendszerek

Microsoft Excel 2010

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

S z á m í t ó g é p e s a l a p i s m e r e t e k

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

Java programozási nyelv

Párhuzamos programozási platformok

Programozási nyelvek 1. előadás

Paraméter átadás regisztereken keresztül

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

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

A számítógépes feladatok a várt megoldáshoz egyértelmű utalásokat tartalmazzanak.

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

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

Párhuzamos programozási platformok

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

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

B I T M A N B I v: T M A N

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

C programozási nyelv

Átírá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 képzeljük el a végrehajtást) A megoldandó problémához való viszony (általános, speciális) Egyéb osztályozások 2/25

Felhasználói kör Amatőr interaktivitás gyors nyelvi fejlődés sok nyelvi elem egyszerű programszerkezet speciális gépi tulajdonságok Professzionális modularitás stabil nyelvek kevés nyelvi elem sok lehetőség gépfüggetlenség, átvihetőség 3/25

Gépi nyelvek Emberközelség processzor utasítások memóriacímek (adat és utasítás lásd Neumann-elvek) műveletek: 1, 2,... byte-os adatokkal dolgoznak regiszterek verem megszakítások 4/25

Alacsonyszintű nyelvek Emberközelség a számítógép (hardver, operációs rendszer) lehetőségeinek maradéktalan kihasználhatósága szimbolikus utasítások direktívák makroutasítások szimbolikus memóriacímek (adat és utasítás) változó, mint memória kezdőcím elágazás, ciklus, eljárás szervezés támogatása 5/25

Alacsonyszintű nyelvek Emberközelség CIKLUS: CP 0 ; hasonlítsuk össze A-t 0-val! JP Z,IGEN; ugrás, ha A=0 volt JP M,NEM ; ugrás, ha A<0 volt BIT 0,A ; A legkisebb helyiértékű bitje 1-es? JP NZ,PTLANA ; ugrás, ha 1-es volt BIT 0,B ; B legkisebb helyiértékű bitje 1-es? JP NZ,PTLANB ; ugrás, ha 1-es volt SRL A ; A bitjeinek eggyel jobbra léptetése ; a legmagasabb helyiértékre 0 lép be SRL B ; B bitjeinek eggyel jobbra léptetése ; a legmagasabb helyiértékre 0 lép be 6/25

Emberközelség JP CIKLUS ; ugrás a CIKLUS címkére PTLANA: BIT 0,B ; B legkisebb helyiértékű bitje 1-es? JP Z,NEM ; ugrás, ha 0-s volt SUB B ; A:=A-B JP CIKLUS ; ugrás a CIKLUS címkére PTLANB: SRL A ; A bitjeinek eggyel jobbra léptetése ; a legmagasabb helyiértékre 0 lép be JP CIKLUS ; ugrás a CIKLUS címkére IGEN:... NEM:... B osztója-e A-nak? 7/25

Magasszintű nyelvek Emberközelség változó, mint memóriatartomány értékadás típus kifejezés elágazás ciklus eljárás, függvény, operátor 8/25

Emberközelség Nagyon magasszintű nyelvek (4. generációs, ) programgenerátorok vizuális fejlesztő eszközök adatbázis fejlesztő eszközök 9/25

A megoldandó problémához való viszony Univerzális programnyelvek Problémaorientált programnyelvek adatbázis-kezelés, szimuláció, termelésirányítás, szövegfeldolgozás, 10/25

A megoldandó problémához való viszony GPSS példa szimulációs nyelvre: SIMULATE GENERATE 10,3 QUEUE SOR SEIZE FODRÁSZ DEPART SOR ADVANCE 9,4 RELEASE FODRÁSZ TERMINATE 1 START 1000 END 11/25

Egyéb osztályozások Compiler -, illetve Interpreter nyelvek Procedurális nyelv, nem procedurális nyelv Deklaratív nyelv Utasításorientált (parancsorientált) nyelv Kifejezésorientált nyelv Objektumorientált nyelv 12/25

Neumann-elvű nyelvek 1. Elképzelések, tulajdonságok Számítási modellek memória, címezhető (sorszámmal) a program és az adatok a memóriában vannak a végrehajtás memóriaállapotok sorozata, állapottér (adatok tere), koordináták, programfüggvény: állapottér állapottér, konkrét állapot=pont, a program leírása szöveges 13/25

Neumann-elvű nyelvek 2. Következmények Számítási modellek van változó (névvel elnevezett memória tartomány) van értékadás utasítások ismételt végrehajtása lehetséges (ciklus, GOTO) elágazás (GOTO) eljárás (adott címen levő program végrehajtása, visszatérés) beolvasás: memória másolás (pl. billentyűzet puffer) kiírás: memória másolás (pl. képernyő) 14/25

Automata-elvű nyelvek Számítási modellek 1. Elképzelések, tulajdonságok az adatok állapotok, illetve bemenetek fix felosztású memória (pl. festőkar helye, fest-e,...): állapottér állapotkomponensek 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, állapotlekérdezés) a végrehajtó egy (véges) automata Pl. ipari robotok, Logo teknőc 15/25

Automata-elvű nyelvek 2. Következmények Számítási modellek 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ő állapotfüggő) ciklusok írhatók állapot-, vagy paraméter vagy érzékelő állapotfüggő elágazás 16/25

Automata-elvű nyelvek Számítási modellek 2. Következmények utasítások paraméterezhetőek eljárások lehetnek, paraméterezhetőek beolvasás: paraméterezés, állapotlekérdezés, érzékelő állapota kiírás: állapotváltozás nyoma párhuzamosság több végrehajtó automata 17/25

Számítási modellek Funkcionális (függvényszerű) nyelvek 1. 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 18/25

Számítási modellek Funkcionális (függvényszerű) nyelvek 2. Következmények változó, értékadás nincs konstansok = konstans függvények függvénykompozíció feltételes függvények ciklus nincs, helyette rekurzív függvények (esetleg lehet ciklus, ha léteznek a programon értelmezett függvények) 19/25

Számítási modellek Funkcionális (függvényszerű) nyelvek Függvénykompozíció: f x : g h x Alternatív függvény: f x : p x g x ha h x ha p x Rekurzív függvény: f x : g x ha p x h f i x ha p x 20/25

Számítási modellek Funkcionális (függvényszerű) nyelvek 2. Következmények függvényargumentum van különböző stratégiák a paraméterátadásra 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) 21/25

Logikai nyelvek Számítási modellek 1. 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) 22/25

Logikai nyelvek 2. Következmények Számítási modellek nincs változó, nincs értékadás szekvencia = és, elágazás = vagy (pontosabban ezek megfelelő alkalmazása) ciklus nincs, helyette rekurzív formulák vannak feltételes kifejezések elemi utasítás: mintaillesztés 23/25

Logikai nyelvek 2. Következmények Számítási modellek beolvasás, kiírás: mintaillesztés lehetőség új formulák létrehozására (új utasítás), formulák törlésére új formulák adatbázisba mentése kiértékelési algoritmus: backtrack (a felesleges visszalépések levágásával) 24/25

Programozási nyelvek 6. előadás vége