A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Programozás
Programming
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIEEA024 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | félévközi érdemjegy | ||||||||||||
| Tantárgy kreditértéke | 4 | ||||||||||||
| Tantárgyfelelős |
DR. Pohl László
beosztás: egyetemi docens
elérhetőség:
pohl.laszlo@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Elektronikus Eszközök Tanszéke
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | http://www.eet.bme.hu/~kohari/vieea024/ | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
1. hét
a tárgy tematikája, követelményei,
algoritmus, adat, nyelv,
programozási nyelvek, miért pont a c?
specifikáció, tervezés, kódolás, tesztelés, dokumentálás
algoritmus választás kérdései LNKO kapcsán (próbálgatás, prímtényezők, euklideszi formula)
algoritmusok elemei: szekvencia, elágazás, ciklus
n! kiszámítása
- algoritmus kiválasztása, milyen elemekből épül fel, milyen adatszerkezeten dolgozik,
- algoritmus szöveges leírása
- algoritmus blokkvázlattal
- kódolás
itt kis elemzés: egy c program kötelező elemei, a keret. a main fv. szerepe, return 0
az indentálás célja es jelentősége.
scanf egész érték beolvasása, printf egész értékek kiírása.
2. hét
tárolási egységek
- változók, konstansok
- függvények
kötelező deklaráció/definíció
szintaktika/szemantika
- szintaxis diagram, egész szám szintaxisa
- alapvető szintaxis szabályok: szabad írásmód (whitespace-ek), a != A, #preproc, /* komment */, szabályos azonosítók
előre definiált típusok, miért int-et es double-t használjunk
egész konstans megadása, dec, okt, hexa alakban
logikai típus hiánya, számok logikai értéke
utasítások
- ;
- deklaráció/definíció
- kifejezés utasítás
- feltételes utasítás
- ciklus (most CSAK a while)
- vezérlésátadó (switch/case csak említés szinten)
- {}
if..else és while-nál blokkdiagram
feltételek
- relációs operatorok ('==' != '=', az ebben rejlő veszély)
- logikai operatorok !, &&, ||
3. hét
a múlt heti ismeretek kiegészítése és mélyítése. vezérlési szerkezetek, utasítások, beépített típusok, számábrázolási kérdések.
könyvtári függvények használata
4. hét
alapvető operatorok:
* aritmetikai, egész, valós,
* type cast,
* értékadó,
* sizeof,
* relációs,
* logikai, shortcut
* bitenkénti,
* ?:
5. hét
iteratív megoldások
pre/post ++ --, post veszélyei
tömbök, 1d, 2d, stringek
pointerek
6. hét
1d dinamikus tömb (példa a használatra)
(csak érintőleg, a használat szintjen:
getchar, putchar, EOF, ctrl+z/ctrl+d)
filter program template
enum típus
véges automata
példa: írjuk ki a beolvasott C kódból a kommenteket.
ly számláló
7. hét
Függvények
a program számára foglalt memóriaterületek, mi hol van/lesz,
heap, stack viselkedése, az eltérések következményei.
tárolási osztályok (lokális változókra)
a függvényhívás mechanizmusa
több érték visszaadása:
void descart2polar( double, double, double*, double*)
miért tilos lokális változó címét visszaadni
8. hét
- struct, . , ->
- typedef
- rendezés direct selection, bubble, struktúratömbre is.
- hasonlító függvények, strcmp, szöveg szerinti rendezések.
9. hét
- függvénypointerek,
- qsort használata,
- string, int, double hasonlító fv készítése (struktúratömb rendezése példáján),
- önhivatkozó szerkezet bevezetése,
- CSAK rajzolva egyirányú, kétirányú, több szempont szerint rendezett lista,
- bináris fa
- kód szinten csak a keresés a listában ciklus.
10. hét
listák kezelése
beszúró, kereső, törlő függvény
a két lehetséges head kezelés:
head=insert(head... ill. insert(&head,...
rekurzió értelmezése n!-on, bináris fák kezelése
kód szinten csak az inorder bejárás
11. hét
I/O FILE, fopen, fclose, feof, f/sprintf f/scanf, getc/s putc/s, main paraméterei
12. hét
Röviden, ami kimaradt: vessző op., (union, bitmező, vararg )
a C előfeldolgozó
13. hét
NAGYZH
14. hét
tartalék (ha nincs szükség elmaradt előadás pótlására, akkor több forrásmodulból álló programok kérdései)
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
Nincs megadva.
Ajánlott tantárgyak
Nincs megadva.
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.