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

programozás nyelvek közoktatásban

Embed Size (px)

DESCRIPTION

programozás nyelvek közoktatásban 2. előadás

Citation preview

Page 1: programozás nyelvek közoktatásban

Programozási nyelvek a

közoktatásban

alapfogalmak I. előadás

Page 2: programozás nyelvek közoktatásban

Programozási nyelvek

osztályozása

Szempontok

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

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban 22011.09.08.

Page 3: programozás nyelvek közoktatásban

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

32011.09.08.

Professzionális

modularitás

stabil nyelvek

kevés nyelvi elem

sok lehetőség

gépfüggetlenség,

átvihetőség

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 4: programozás nyelvek közoktatásban

Emberközelség

Gépi nyelvek

processzor utasítások

memóriacímek (adat és utasítás – lásd Neumann-elvek)

regiszterek

verem

megszakítások

42011.09.08.Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 5: programozás nyelvek közoktatásban

Emberközelség

Alacsonyszintű nyelvek

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

52011.09.08.Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 6: programozás nyelvek közoktatásban

Emberközelség

Magasszintű nyelvek

változó, mint memóriatartomány

értékadás

típus

kifejezés

elágazás

ciklus

eljárás

62011.09.08.Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 7: programozás nyelvek közoktatásban

Emberközelség

Nagyon magasszintű nyelvek (4. generációs,…)

programgenerátorok

vizuális fejlesztő eszközök

adatbázis fejlesztő eszközök

72011.09.08.Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 8: programozás nyelvek közoktatásban

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,

82011.09.08.Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 9: programozás nyelvek közoktatásban

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

92011.09.08.Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 10: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

10

Neumann-elvű nyelvek

1. 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, állapottér (adatok

tere), koordináták, programfüggvény: állapottér → állapot-

tér, konkrét állapot=pont,

a program leírása szöveges

Pap Gáborné, Szlávi Péter, Zsakó László:

Programozási nyelvek a közoktatásban

Page 11: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

11

Neumann-elvű nyelvek

2. Következmények

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

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 12: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

12

Pl. ipari robotok, Logo teknőc

Automata-elvű nyelvek

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

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 13: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

13

Automata-elvű nyelvek

2. Következmények

az utasítások általában egy állapotkomponenst változtatnak

változó, értékadás nincs (csak névvel ellátott állapotkompo-

nensek)

csak primitív (állapot-, vagy paraméter- vagy érzékelő-álla-

potfüggő) ciklusok írhatók

állapot-, vagy paraméter vagy érzékelő-állapotfüggő elágazás

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 14: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

14

Automata-elvű nyelvek

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

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 15: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

15

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

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 16: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

16

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)

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 17: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

17

Funkcionális (függvényszerű) nyelvek

Függvénykompozíció:

Alternatív függvény:

Rekurzív függvény:

f x g h x:

f x

g x ha p x

h x ha p x:

f x

g x ha p x

h f i x ha p x:

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 18: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

18

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

sal rendelkező függvény)

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 19: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

19

Logikai nyelvek

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)

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 20: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

20

Logikai nyelvek

2. Következmények

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

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 21: programozás nyelvek közoktatásban

Számítási modellek

2011.0

9.08.

21

Logikai nyelvek

2. Következmények

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)

Pap Gáborné, Szlávi Péter, Zsakó László: Programozási nyelvek a közoktatásban

Page 22: programozás nyelvek közoktatásban

Programozási nyelvek a

közoktatásban

alapfogalmak I. előadás

vége