Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Számítógép-laboratórium III.

    A tantárgy angol neve: Computers Laboratory III.

    Adatlap utolsó módosítása: 2006. július 1.

    Tantárgy lejárati dátuma: 2015. január 31.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Műszaki Informatika Szak

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIFO2235 3 0/0/2/f 3 6/1
    3. A tantárgyfelelős személy és tanszék Dr. Szirmay-Kalos László,
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    dr. Szirmay-Kalos László

    docens

    Irányítástechnika és Informatika

    5. A tantárgy az alábbi témakörök ismeretére épít

    programozás, digitális technika

    6. Előtanulmányi rend
    Kötelező:
    TárgyEredmény( "BMEVIEE1227" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIAU1227" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIMH1502" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIMH1507" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIEE1240" , "jegy" , _ ) >= 2

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:

    Programozás alapjai II kredit

    Programozás technológiája kredit

    7. A tantárgy célkitűzése

    A tárgy célja, hogy bevezessen az objektum-orientált és gépi szintű programozásba DOS és MS-WINDOWS környezetekben.

    8. A tantárgy részletes tematikája

    I. C++ nyelv származtatása a C-ből

    - Makró (inline), konstans megvalósitás,

    - tipusértékű struct, enum

    - Megjegyzések

    - Prototipusok, Default argumentumok és overload,

    - memória allokáció, new, delete, new_handler

    - Referencia tipus, függvény paraméterek és visszatérési érték

    - cin, cout, cerr objektumok

    - Adat deklaráció és definicó mint utasitás

    - Adatok láthatóság és érvényessége

    - Forditás, szerkesztés, debug BORLAND C++ IDE alatt

    II.Objektumok létrehozása

    - Objektum orientált programozás és funkcionális programozás

    - Class fogalma, egységbe zárás, védelem és információ takarás

    - tagfüggvények tipusai

    - Védelem enyhitése, friend mechanizmus

    - Construktor, Destruktor

    - Adatok (objektumok) inicializálása

    - this pointer használata

    III. Operátor overload

    - Operátor overload fogalma

    - Dinamikusan allokált mezővel rendelkező objektumok értékadása és inicializásása, Copy constructor

    - Op. Overload megvalósitása member függvénnyel és friend mechanizmussal

    - Referencia tipussal visszatérő fv. mint balérték (index operátor)

    IV. Öröklés

    - Az öröklés szerepe az objektumorientált programozásban

    - Öröklés, származtatott osztály, alaposztály

    - Védelem öröklés alatt

    - virtuális függvények, forditási és késői összerendelés,

    - Inicializálás

    - Többszörös öröklés

    - Virtuális alap osztály

    - Objektumok mint más objektumok attributumai

    - Objektum tömbök

    V. Generikus osztályok

    - Generikus adatszerkezetek jelentősége

    - Dinamikus adatstruktúrák, generikus osztályok

    - Név konkatenáló macro

    - Declare és implement macro

    - Friend class fogalma és szerepe pl. a listaszerkezet kialakitásánál

    - C++ könyvtárak felépitése

    VI. MS-WINDOWS futtató környezet

    - MS-WINDOWS felhasználói felület (ablak, menü, ikon, cursor)

    - A program manager

    - Alkalmazói programok felépitése (modul def. és erőforrás file )

    - WndProc és WndMain függvények szerepe

    - WNDCLASS struktúra, CreatWindow és UpdateWindow függvények

    - Üzenetciklus működése

    - Forditás, szerkesztés, futtatás

    VII. MS-WINDOWS programozás API könyvtár felhasználásával

    - Erőforrás file felépitése és használata, Menü séma definiálása

    - menü, cursor, icon

    - Windows események

    - Windows hivások

    VIII. Objektumszeméletű programozás MS-WINDOWS környezetben:

    - Windows felépités és az OOP szemlélet kapcsolata

    - Event hierarchia, Window, AppWindow.. MyWindow class hierarchia

    - Virtuális Függvények mint átdefiniálható üzenet handler-ek

    - Menu class

    - Geometriát definiáló olsztályok, Point, RectAngle

    - Appl, applikációs programot definiáló osztály

    IX. i8086 assembly nyelv

    - i8086 programozási modellje, szegmentált memóriakép

    - utasitáskészlet, cimzési módok, regiszterek

    - assembler

    - konstansok, operandusok

    - műveletek: PTR, SHORT, SEG, OFFSET,

    - direktivák: SEGMENT, ENDS, PROC, ENDP, MACRO, ENDM, END, ASSUME

    - deklarációk: adatok (DB, DW ...), cimek,

    - feltételes forditás

    - moduláris programozás (INLUDE, PUBLIC, EXTRN)

    - forditás és szerkesztés

    - makró-assembly nyelvű programok felépitése

    - operációs rendszer hivások

    - ROM BIOS hivások (klaviatúra-INT16h, képernyő-int10h)

    - DOS hivások (program befejezése, klaviatúra, képernyő)

    - Forditás és szerkesztés ( masm ), program belövés (afd, codeview)

    X. Hardware közeli programozás

    - Alfanumerikus képernyőmemória elérése, tipus felismerése (HERC, EGA...)

    - Hangszóró kezelése

    - Klaviatúra programmal ellenőrzött vizsgálata

    - Nyomtató programmal ellenőrzött vizsgálata

    XI. Hardware közeli programozás IT rutinokkal

    - i8086 IT rendszere, IT tábla

    - i8259 vázlatos ismertetése, EOI szerepe

    - IT rutinok általános felépitése (mentés, visszaállitás, adatszegmens, it engedélyezés, EOI...)

    - IT tábla kitöltés (it átvétel és felfűzés)

    - SET_IT, SAVE_IT, RESTORE_IT macrók elkészitése

    - óra IT átvétele (felfűzés)

    XII. Illesztés magas szintű nyelvekhez

    - C stack frame kialakitása (PASCAL-t csak megemliteni), ENTER/LEAVE

    - Függvény paraméter és visszatérési érték átadása, lokális adatok

    - Függvény név konvenciók

    - Moduláris programozás PUBLIC, EXTRN

    - Globális adatok szervezése (DGROUP)

    - String kezelő 8086 utasitások áttekintése, REP előtag

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    A tárgy óráit a számítógép laboratóriumban tartjuk, ahol részint a szükséges elméleti alapokat tekintjük át, részint a hallgatók rögtön a gyakorlatban is kipróbálhatják a tanultakat.

    10. Követelmények

    Két házifeladat (C++ és WINDOWS, assembly) és egy nagy ZH. Házifeladat kiadás a 4. héten, beadás a 11. illetve a 15. héten. A gyakorlati jegy szükséges feltételei a 2 házifeladat dokumentációval együtt történő beadása, működőképességének személyes demonstrálása, a ZH min. elégséges megirása és az órákon a tanulm. szabályzat által meghatározott részvétel. Aláírást és félévközi jegyet az kaphat, aki a ZH-t legalább elégségesre megírta és a házi feladatokat is beadta. A félévközi jegyet alapvetően a ZH jegy határozza meg, a házifeladatok és órai szereplés egy jegy eltérést eredményezhetnek. A ZH-n mindenféle segédanyag használható. A szorgalmi időszakban egy pót ZH időpontot biztosítunk. A követelmények a vizsgaidőszakban nem pótolhatók.

    13. Jegyzet, tankönyv, felhasználható irodalom

    1. Kondorosi, László, Szirmay-Kalos: Objektum orientált szoftver fejlesztés, COMPUTERBOOKS

    2. B. Stroustrup: The C++ programming language

    Addison-Wesley, 1986

    3. B. Stroustrup: The Annotated C++ reference manual

    Addison-Wesley, 1986

    4. Lippmann: C++ Primer

    Addison-Wesley, 1986

    5. C. Petzold : Programming WINDOWS

    Microsoft

    6. Benkő-Tóth-Kiss: Igy könnyű WINDOWS-t programozni.

    Computerbooks

    7. Pethő: A ROM BIOS és ami mögötte van

    8.Úry: IBM PC DOS II-III

    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    dr. Szirmay-Kalos László

    docens

    Irányítástechnika és Informatika