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ó    

    Programtervezés II.

    A tantárgy angol neve: Program Design II.

    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

    Villamosmérnöki Szak

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIET1017 2 0/0/2/v 2 1/1
    3. A tantárgyfelelős személy és tanszék Dr. Szikora Béla László,
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    dr. Németh Pál

    egyetemi adjunktus

    Elektronikai Technológia Tsz

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

    Programozás Pascal nyelven, Numerikus módszerek

    6. Előtanulmányi rend
    Kötelező:
    TárgyEredmény( "BMEVIAU1015" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIET1015" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIEE1010" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIAU1010" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIET1010" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIFO1010" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIHI1010" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIMH1501" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIMH1506" , "jegy" , _ ) >= 2

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

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:

    Programtervezés I.

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

    A hallgatóknak megfelelő jártasságot kell szerezniük egy második programozási nyelv, a C nyelv használatában, valamint az alapvető numerikus számítási módszerek használatában olyan szinten, hogy azt további tanulmányaik során képesek legyenek hatékonyan alkalmazni. A hallgatók megismerik a több modulból, illetve különböző forrásnyelvi modulokból álló programok készítését, jártasságot szereznek modulkönyvtárak használatában.

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

    1. hét

    Csoportbeosztások. Az első C program megírása. C program fordítása, linkelése. Az első program továbbfejlesztése, analógiák keresése a Pascal nyelvvel.

    Előadás:

    Bevezetés a C programozási nyelvbe (történelem, a nyelv helye). Egyszerű adattípusok, tárolási osztályok. A sizeof operátor alkalmazása típusokra. Értékadás, kifejezések, aritmetikai és egyéb fontosabb operátorok. Printf és 1 karakteres standard i/o röviden. Vezérlési szerkezetek (if, while, for).

    2. hét

    A változók alaptípusai. Modulok, blokkok. Kifejezések, operátorok. Utasítások. A feltételes utasítás. Ciklusok.

    3. hét

    Printf használata. Összetett adatszerkezetek. Tömbök, struktúrák.

    Előadás:

    További vezérlési szerkezetek (for még egyszer, do-while, case). Összetett típusok (tömb, enum, struct, union). Függvények. Egy C program szerkezete. Típusmódosító operátorok fogalma. Tömb-, pointer- és függvénytípusok, ezek kombináció. Az előfeldolgozó.

    4. hét

    Függvények deklarációja és definíciója. Tipusdefinició.

    5. hét

    Pointerek. Pointerek és tömbök, pointerek és függvények. Pointeraritmetika. A pointer mint függvényparaméter.

    Előadás

    A legfontosabb standard fejléc file-ok (stdio, stdlib, math), az ott deklarált függvények (stcpy, strcmp, stb). Dinamikus memóriakezelés (malloc, free, realloc). Pointer és címaritmetika.

    6.hét

    File kezelés. Saját copy program készítése.

    7. hét

    Házifeladatkiadás, konzultáció.

    8. hét

    Numerikus módszerek 1( Nemlineáris egyenletek numerikus megoldása, húr módszer, érintő módszer, Newton-Raphson iteráció).

    9. hét

    Numerikus módszerek 2 (lineáris egyenletrendszerek megoldása Gauss elimináció, Gauss-Jordan elimináció segítségével, részleges és teljes főelem kiválasztás).

    10. hét

    Numerikus módszerek 3( Numerikus integrálás téglalap módszer, trapéz illetve Simpson formula, pontossági kérdések).

    11. hét

    Numerikus módszerek 4 (Interpoláció, regresszió).

    12. hét

    Többmodulos programok írása. Object modul, forrás modul. Pascal és C programok összekapcsolása.

    13. hét

    Grafika

    14. hét

    Nagy házi feladatok beadása, bemutatása, értékelése, félév végi jegyek megadása.

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

    A félév elején 3 alkalommal a 2. a 4. és a 6. héten fakultatív előadást tartunk az általános alapismeretek elsajátítása céljából. A géptermi gyakorlatok során egyes részletkérdések ismertetése, illetve konkrét feladatok megoldása történik. A hallgatók minden géptermi foglalkozás alkalmával a következő heti anyagra vonatkozó segédletet kapnak. A 8. héttől kezdve a hallgatók géptermi munkáját értékeljük.

    10. Követelmények

    A szorgalmi időszakban:

    • A tárgyból heti 1 alkalommal 2 órás géptermi gyakorlatokat tartunk részben a HSZK-ban, részben a V2 302-es terminálszobában. A terminálgyakorlatokon a megjelenés kötelező, a részvételt minden alkalommal ellenőrizzük. A félév során a 11. héten nagy zárthelyi dolgozatot iratunk. A zárthelyi dolgozat megírása kötelező. A zárthelyi dolgozat megírására a szorgalmi időszakban 1 pótlási lehetőséget biztosítunk.
    • A félév első harmadában, az előadások utáni gyakorlaton az előadások anyagához illeszkedően kis zárthelyi dolgozatokat iratunk. Minden kis zárthelyi dolgozatra 0, 1 vagy 2 pont adható. A kis zárthelyi dolgozatokra kapott pontszámokat összegezve vesszük figyelembe a félév végi jegy kialakításakor. Meg nem írt kis zárthelyi dolgozat eredményét 0 ponttal vesszük figyelembe. A kis zárthelyik pótlólagos megírására nincs lehetőség.
    • A 8. héttől a 13. hétig a terminálgyakorlatokon végzett munkát is pontozással értékeljük (minden gyakorlaton 1, 2, vagy 3 pont szerezhető). A terminálgyakorlatok jellegüknél fogva nem pótolhatók.
    • A félév során egy nagy házi feladatot adunk ki, amelynek megoldását max. 10 ponttal értékeljük.
    • A nagy zárthelyi dolgozat eredményét szintén 10 pont erejéig vesszük figyelembe.

    A vizsgaidőszakban:

    • A nagyfeladat különeljárási díjjal történő pótlásának határideje a vizsgaidőszak második hetének utolsó munkanapja.
    • Amennyiben egy hallgató a nagyzárthelyi kivételével valamennyi félévközi követelményét teljesítette a szorgalmi időszakban, a TVSZ 14§ (6) pontja, ill. a KTVSZ 14§ 14§ (6) (6) és (7) pontja értelmében a vizsgaidőszak második hetének végéig ismételt vizsga jelleggel kísérletet tehet a félévközi jegy megszerzésére.

    A félév során gyűjthető pontok:

    Kis zárthelyik: max. 6 p. (3 * 2p.)

    Terminálgyakorlatok: max. 18 p. (6 * max. 3p.)

    Nagy házi feladat: max. 10 p. (jegy * 2p.)

    Nagy zh: max. 10 p. (jegy * 2p.)

    Összesen: max. 44 p.

    Az aláírás megszerzésének feltétele:

    • legalább elégséges eredményű nagy zárthelyi dolgozat megírása,
    • a nagy házi feladat legalább elégséges szintű megoldása és előírásszerű beadása-bemutatása a szorgalmi időszak befejeztéig (az utolsó tanítási napig),
    • valamint minimum 20 pont elérése.

    A nagy házi feladat akkor számít beadottnak, ha a programdokumentáció az előírásoknak megfelelően elkészült, mind adathordozón, mind kinyomtatva megvan, valamint a program forrásanyaga és futásképes változata adathordozón a gyakorlatvezető rendelkezésére áll, valamint a program a gyakorlatvezetőnek működés közben be lett mutatva. A félév végi jegy kialakítása a következők szerinti:

    38 - 44 p. 5

    32 - 37 p. 4

    26 - 31 p. 3

    20 - 25 p. 2

    0 - 19p. nincs aláírás

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

    Bármely numerikus módszerekkel, illetve a C programozási nyelvvel foglalkozó könyv vagy jegyzet használható.

    Ajánlott irodalom:

    [1] B.W. Kernighan - D.M. Ritchie: A C programozás nyelv. Műszaki Könyvkiadó, 1985.

    [2] B.W. Kernighan - D.M. Ritchie: The C Programming Language.

    Prentice Hall, 1988. 2nd edition

    [3] B. Stroutstrup: The C++ Programming Language.

    Addison/Wesley, 1986.

    [4] Benkő - Poppe( Bevezetés a BORLAND C++ programozásba.

    ComputerBooks, 1991.

    [5] Kocsis - Poppe( C programozás feladtgyűjtemény és példatár.

    BME Mérnöktovábbképző Intézet, 1992. (5328-as jegyzet)

    [6] Benkőné-Benkő-Tóth: Programozzunk C nyelven.

    Computerbooks 1994

    [7] Programozási feladatok és algoritmusok TURBO C és C++ nyelven

    Computerbooks 1997

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

    Név:

    Beosztás:

    Tanszék, Int.:

    dr Németh Pál

    egyetemi adjunktus

    Elektronikai Technológia Tsz.

    dr.Poppe András

    egyetemi docens

    Elektronikus Eszközök Tanszék