Elmélet (1. félév)
Követelmények:
- A zárthelyi dolgozatok eredményes megírása.
- Kollokvium a tantárgy tematikája alapján összeállított
témakörökből
A tematika:
- A nyelvek, a programozási nyelvek: a nyelvek és a programozási
nyelvek felosztása, csoportosítása. A programok minősége, a
programozási nyelvek tervezése, szabványosítása.
- A lexikális elemek: jelkészlet, literálok. A nyelvtan: a
generatív grammatika, fordító és értelmezőprogramok működése.
- Vezérlési szerkezetek, utasítások: értékadás a COBOL, Pascal,
Smalltalk, CLU nyelveken. A szekvencia és a blokk utasítás a Pascal,
Ada, C nyelvcsalád nyelveiben. A feltétel nélküli vezérlésátadás a
FORTRAN, COBOL, Modula-3 és C nyelvekben.
- Feltételes utasításvégrehajtás, elágazási szerkezetek, FORTRAN,
COBOL, Pascal, Modula-3 nyelvekben és a C nyelvcsaládban.
Ciklusszerkezetek a FORTRAN, COBOL, Pascal, Modula-3, Ada nyelvekben
és a C nyelvcsaládokban. A bejárók és használatuk.
- Hatókör és élettartam: Statikus, dinamikus és automatikus
memóriaterület. Globális hatókör, a fordítási egység mint hatókör,
függvény mint hatókör, típus mint hatókör.
- Típusok, a programozási nyelvek típusossága, típuskonverzió. A
típusok osztályozása: skalár (diszkrét, egész, karakter és logikai
típusok), valós (fixpontos, lebegőpontos, kétszeres pontosságú
típusok). Mutató típusok. Kifejezések, kifejezések szerkezete,
kifejezések kiértékelése.
- Típuskonstrukciók: a direktszorzat típuskonstrukció, az unió
típuskonstrukció, az iterált típus, a vektor, tömbök, a halmaz.
- Alprogramok, az alprogramok hatása a szoftverminżségre: eljárások
és függvények. Alprogramok és hívások szerkezete, paraméter és
visszatérési érték.
- Az alprogramok meghívása és a visszatérés. Makrók és inline
alprogramok. Érték, cím és eredmény szerinti paraméterátadás. Rekurzív
alprogramok.
- Kivételkezelés: kivételkezelés a FORTRAN, COBOL, PL/I, CLU, Ada,
C++, Java, Delphi és a Perl nyelvekben.
- Absztrakt adattípusok: típuskonstrukció és adatabsztrakció.
Átlátszatlan típus a C nyelvben, a specifikáció és az implementáció
szétválasztása.
- Típussal való paraméterezés, polimorfizmus, altípusos és
overloading polimorfizmus, típuskényszerítéses polimorfizmus.
Példányosítás: explicit példányosítás, igény szerinti példányosítás,
lusta példányosítás.