1. |
Algoritmizálás: Algoritmikus és alapvető adatszerkezetek; és leírásuk a programban; 'struktúraszerinti feldolgozás' elve, struktúrált programozás lényege. Algoritmusleíró eszközök. |
2. |
Adattípusok: Adatok jellemzői, a
típus fogalma, a típusokhoz kapcsolódó műveletek osztályozása,
„szabványos” elemi és összetett típusok; sorozattípusokról általában
(ábrázolási lehetőségek, műveletek). A modul mint a típusmegvalósítás
kerete. |
3. |
Kódolás: Pascal nyelv elemei: Programszerkezet, típusdefiníció, adatdeklaráció, algoritmikus szerkezetek, eljárások, függvények; néhány elemi kódtranszformáció. A unit fogalma, célja… Programergonómia: tájékoztató, help, menük, ablakok és megvalósítási problémáik. |
4. |
Programozási tételek 1.: Sorozathoz érték rendelése. (Tételkimondás: specifikáció+algoritmus, helyességhez: ciklusinvariáns, illusztrálás példákkal.) |
5. |
Programozási tételek 2.: Sorozathoz sorozat rendelése. (Tételkimondás: specifikáció+ algoritmus, helyességhez: ciklusinvariáns, illusztrálás példákkal.) |
6. |
Programozási tételek 3.: A programtranszformációk fogalma, szerkezete, célja; példák. Tételek összeépítése: néhány összetett típusfeladata megfogalmazása (specifikáció), és megoldása programtranszformációk segítségével. |
7. |
Programozási tételek 4.: Rendezések – elemiek és a Shell-rendezés. (A rendezés mint feladat, algoritmusok, helyességhez: ciklusinvariáns, hatékonysági megfontolások.) Rendezéselmélet (a „legjobbságról”). |
8. |
Programozási tételek 5.: Keresés rendezett sorozatokban; a backtrack. (Tételkimondás: specifikáció+algoritmus, helyességhez: ciklusinvariáns, illusztrálás példákkal, hatékonysági megfontolások.) |
9. |
Programozási tételek 6.: Tételek a ’visszalépéses keresés ...’ elvre építve (eldöntés, kiválasztás, kiválogatás, maximum kiválasztás). (Az alap backtrack feladat kimondása, a programvariációk algoritmusai, példák.) |
10. |
Programozáselmélet: Struktúrált és nem struktúrált programok, fogalmak, állítások. Böhm-Jaccopini tétel kimondása és bizonyítása. Programok bonyolultsága. |
11. |
Hatékonyság: Lokális hatékonyság. A hatékonyság mérése: elvben (ordó- … -fv.), gyakorlatban. Programergonómia: tájékoztató,
help, menük, ablakok és Pascal-nyelvű megvalósítási problémáik. |
12. |
A programozás folyamata. Programkészítési elvek. A programozás alapfogalmai (faladat/program, állapottér…), specifikációk (sorozatnyelv elemei). Példák. Kapcsolat a folyamat egyes lépései között. („információ-konverzió” elve) |
13. |
Típuskonstrukciós eszközök 1.: Tömbök. (Axiómák, reprezentáció, implementáció; címfüggvények, speciális és hiányosan kitöltött tömbök.) |
14. |
Típuskonstrukciós eszközök 2.: Listák. (Axiómák, reprezentáció láncolt ábrázolással és implementáció.) |
15. |
Típuskonstrukciós eszközök 3.: Vermek. (Axiómák, reprezentációk, implementációk.) |
16. |
Típuskonstrukciós eszközök 4.: Sorok. (Axiómák, reprezentációk, implementációk.) |
17. |
Típuskonstrukciós eszközök 5.: Prioritási sorok. (Axiómák, reprezentáció, implementáció; alkalmazási példák.) |
18. |
Típuskonstrukciós eszközök 6.: Táblázatok. (Axiómák, kulcsproblémák és megoldási lehetőségek.) |
19. |
Kifejezéskiértékelési módszerek:
A kifejezések alapfogalmai, példák. A Rutishauser-módszer, a Lengyel-forma
(pre- és postfix); példák és algoritmusok. |
20. |
Típuskonstrukciós eszközök 7.: File-ok. (Alapfogalmak. A file-osztályok specifikálása, megvalósítási problémák és megoldási elképzelések: file-modulhierarchia) |
21. |
Programspecifikálás, tesztelés (elvek, példák), hibakeresés (elvek, példák), hibakeresési eszközök. (Gyakorlati megfontolások: axiómák, elő-, utófeltételek és a tesztesetek kapcsolata.) Dokumentáció (fajtái, részei, elvárások). |
|
Beugró tétel (azonnal és fejből): Programozási tételek
közül egy: feladat + specifikáció + algoritmus |
<script
language="JavaScript1.2" type="text/javascript"
src="http://pub30.bravenet.com/counter/code.php?id=359364&usernum=2522458202&groupnum=30&cpv=1">
</script>
<noscript>
<a
href="http://counter30.bravenet.com/index.php?id=359364&usernum=2522458202&cpv=1"
target="_top"><img
src="http://counter30.bravenet.com/counter.php?id=359364&usernum=2522458202"
alt="Bravenet.com" border="0"
/></a>
</noscript>