Ada ea/gyak tematika

  1. Eloadás:

    A tárgy célja, kapcsolódása más tárgyakhoz. Követelmények.
    Az Ada nyelv tervezési szempontjai, története. GNAT.

    Deklarációs rész, változódefiníciók, alaptípusok, utasítások, kifejezések.
    Utasítások: értékadás, elágazások és ciklusok.

    Gyakorlat:

    A GNAT használata Linux és Windows alatt.
    Egyszeru algoritmusok lekódolása: 10!, lnko kétféleképpen, tökéletes számok, Newton-iteráció stb.
    Az Ada.Integer_Text_IO használata: adatok bekérése és kiírása.

  2. Eloadás:

    Programegység: specifikáció és törzs. Fordítási egység, könyvtári egység.
    Beágyazás és blokkszerkezet.
    Alprogramok: eljárások és függvények. Paraméterek módja, információcsere.
    Csomagok: bevezetés.
    With és use az Adában.

    Gyakorlat:

    Az elozo órai programok átírása eljárások és függvények segítségével.
    out: másodfokú egyenlet megoldása. Esetleg ciklus helyett rekurzió is.

  3. Eloadás:

    Erosen típusos nyelv. Statikus és dinamikus típusellenorzés.
    Típusok az Adában: alaptípusok, származtatás, altípusképzés, felsorolási típus, tömb típus. Nem teljesen meghatározott típus.

    Gyakorlat:

    Tömbökön értelmezett algoritmusok megvalósítása. Maximumkeresés, rendezés, összegzés.
    Mátrixmuveletek. Eljárással és függvénnyel való megvalósítások, ezek különbözosége és átjárhatósága. Rekurziót alkalmazó megoldások.

  4. Eloadás:

    Rekord. Diszkrimináns, variáns rekord.
    Csomagok. Típusmegvalósítás és singleton.
    Átlátszatlan típus. Korlátozott típus.
    Egységbe zárás, információ elrejtése.

    Gyakorlat:

    Mátrix típus megvalósítása csomagban.
    Verem típus megvalósítása, tömbös reprezentáció. Diszkrimináns.

  5. Eloadás:

    Polimorfizmus. Generic.

    Gyakorlat:

    A Verem típus, valamint a rendezo program átalakítása sablonná.

  6. Eloadás:

    Hatókör, láthatóság, élettartam. Változók leképzése a memóriára.
    Blokkszerkezetes nyelvek.
    Ada: Gyerekcsomagok. Blokk utasítás.
    Kivételkezelés.

    Gyakorlat:

    Kivételek a Verem típus megvalósításánál.
    Gyakorlás az elso zh-ra.

  7. Eloadás:

    Paraméterátadás.
    Paraméterek megfeleltetése az Adában.
    Paraméterek alapértelmezett értékkel.
    Túlterhelés. Felüldefiniálás.
    Fájlkezelés. Stream-ek?
    Kifejezések, operátorok. Attribútumok.

    Gyakorlat:

    Egyszeru fájlfeldolgozási feladatok: Text_IO és Sequential_IO.
    Gyakorlás az elso zh-ra.

  8. Eloadás:

    Mutató típusok. Dinamikus memóriakezelés.
    Felszabadítás és szemétgyujtés. Controlled.
    Láncolt adatszerkezetek megvalósítása.
    Aliased.

    Gyakorlat:

    A Verem típus megvalósítása láncolt adatszerkezettel. Controlled?
    Láncolt ábrázolás elore nem ismert méretu adatok feldolgozásához, például fájl feldolgozása. Rendezofa megvalósítása. AVL-forgatás?

  9. Eloadás:

    A párhuzamos programozás problémái.
    Ada taszkok. Ütemezés, randevú.

    Gyakorlat:

    Az ütemezo vizsgálata. Sorbanállás. A kocsmás feladat elkezdése. (Kocsmáros, részegek és egyetemisták elso változatai, select nélkül. Diszkrimináns, Tasking_Error, delay.)
    Álvéletlenszámok eloállítása. Parancssori argumentumok lekérdezése.

  10. Eloadás:

    A select utasítás. Néhány nevezetes szinkronizációs feladat.

    Gyakorlat:

    A kocsmás feladat folytatása: a különbözo select utasítások.

  11. Eloadás:

    Védett egységek.

    Gyakorlat:

    A kocsmás feladatban az ajtó átírása védett egységre.
    Gyakorlás a második zh-ra.

  12. Eloadás:

    Érdekességek az Ada nyelvbol.
    Pragmák, reprezentációs eloírások, megszakítások, elosztott rendszerek.
    Objektum-orientált programozás: tagged, 'Class stb.
    Alegységek. Átnevezés.
    Más nyelvekhez kapcsolódás. JGNAT.
    Néhány programkönyvtár: adatszerkezetek, socket, svgalib stb.

    Gyakorlat:

    Gyakorlás a második zh-ra.