Informatika2-2012/Kukaba12
A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „== Funkcionális programozás python-ban == === Programozási paradigmák === Egy probléma megoldásához többféleképp közelíthetünk. Az, hogy a problémát ho…”) |
(→Funkcionális programozás python-ban) |
||
11. sor: | 11. sor: | ||
** Az eljárások megváltoztatják a program kontrollstruktúráinak állapotát | ** Az eljárások megváltoztatják a program kontrollstruktúráinak állapotát | ||
* '''Objektumközpontú''' (objektumorientált, object-oriented) | * '''Objektumközpontú''' (objektumorientált, object-oriented) | ||
− | ** | + | ** Az emberek közti interakciókat és a való világ jelenségeit modellezi |
− | ** | + | ** A fogalmakat osztályok, a jelenségeket objektumok valósítják meg |
− | + | ||
− | + | ||
− | + | ||
* '''Függvényközpontú''' (funkcionális, functional) | * '''Függvényközpontú''' (funkcionális, functional) | ||
** A függvények matematikai elméletére épül, | ** A függvények matematikai elméletére épül, | ||
** A függvények értéket adnak vissza, de nincs mellékhatásuk, nincsenek változók | ** A függvények értéket adnak vissza, de nincs mellékhatásuk, nincsenek változók | ||
** A program függvényhívásokból áll | ** A program függvényhívásokból áll | ||
− | ** A parancsközpontúnál egyszerűbb struktúra, könnyebben bizonyítható a program helyessége | + | ** A parancsközpontúnál egyszerűbb struktúra, könnyebben bizonyítható a program helyessége, könnyebben tesztelhető, debug-olható |
* '''Logikai''', vagy a nála általánosabb értelemben használt '''deklaratív''' (logic, declarative) | * '''Logikai''', vagy a nála általánosabb értelemben használt '''deklaratív''' (logic, declarative) | ||
** A program végrehajtása az axiómáknak és a következtetési szabályoknak (deklarációknak) megfelelő lehetőség(ek) megkeresésből áll | ** A program végrehajtása az axiómáknak és a következtetési szabályoknak (deklarációknak) megfelelő lehetőség(ek) megkeresésből áll | ||
** Matematikai logikai alapú | ** Matematikai logikai alapú | ||
** Szűkebb alkalmazási lehetőségek | ** Szűkebb alkalmazási lehetőségek | ||
+ | |||
+ | === Függvényközpontú programozás === |
A lap 2012. április 30., 14:22-kori változata
Funkcionális programozás python-ban
Programozási paradigmák
Egy probléma megoldásához többféleképp közelíthetünk. Az, hogy a problémát hogyan bontjuk részekre, meghatározza a használható/andó programnyelvi elemeket. Ennek megfelelően a programnyelvi elemeknek négy fő típusát szokás megkülönböztetni:
- Parancsközpontú (imperative), vagy vele majdnem azonos értelemben használt eljárásközpontú (procedurális, procedural)
- algoritmikus gondolkodás, receptszerű programozás, ,,tedd ezt, majd ezt,..."
- A Neumann-elvű számítógép ötletére épül
- Számítási lépések időben egymás utáni elvégzése (parancsok végrehajtása)
- Tipikus parancsok: értékadás, eljárás meghívása,
- Az eljárások megváltoztatják a program kontrollstruktúráinak állapotát
- Objektumközpontú (objektumorientált, object-oriented)
- Az emberek közti interakciókat és a való világ jelenségeit modellezi
- A fogalmakat osztályok, a jelenségeket objektumok valósítják meg
- Függvényközpontú (funkcionális, functional)
- A függvények matematikai elméletére épül,
- A függvények értéket adnak vissza, de nincs mellékhatásuk, nincsenek változók
- A program függvényhívásokból áll
- A parancsközpontúnál egyszerűbb struktúra, könnyebben bizonyítható a program helyessége, könnyebben tesztelhető, debug-olható
- Logikai, vagy a nála általánosabb értelemben használt deklaratív (logic, declarative)
- A program végrehajtása az axiómáknak és a következtetési szabályoknak (deklarációknak) megfelelő lehetőség(ek) megkeresésből áll
- Matematikai logikai alapú
- Szűkebb alkalmazási lehetőségek