Programozás
A tantárgy angol neve: Programming
Adatlap utolsó módosítása: 2019. május 17.
BME Természettudományi Kar
Fizikus alapképzés (BSc) Szak
Kohári Zsolt
Egyetemi tanársegéd
Elektronikus Eszközök Tsz
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ó.
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)
a. A szorgalmi időszakban:
A tárgyból heti 1 alkalommal 2 órás előadást és 2 órás laborgyakorlatokat tartunk.
A laborgyakorlatokon a megjelenés kötelező, a részvételt minden alkalommal ellenőrizzük. A laborgyakorlatokon a felkészültséget ún. beugróval ellenőrizhetjük, amelynek anyaga az adott labor előadáson már bemutatott anyagával kapcsolatos. A beugró lehet teszt, házi feladat vagy órai feladat is. Az elégtelen felkészültség mulasztott laboralkalomnak számít. A félév során a laborgyakorlatok alkalmával 5 kis zárthelyit iratunk “röp-zh” jelleggel. Ezeknek a pótlására nincs lehetőség, az elmulasztott kis zh-k eredményét 0-nak tekintjük. A három legeredményesebb kiszh átlaga számít.
A félév során a dékáni hivatal ütemezése szerinti időpontban egy nagy zárthelyi dolgozatot iratunk. A nagy zárthelyi dolgozat megírása kötelező. A nagy zárthelyi dolgozat megírására 1 pótlási lehetőséget biztosítunk a szemeszter végén. Főszabály szerint további pótlási lehetőség nincs.
A félév 6. hetében nagy házi feladat kiadására kerül sor a laborgyakorlatok alkalmával. A feladat beadása a szorgalmi időszak utolsó hetében, a laborgyakorlaton esedékes. Késedelmes feladatbeadás a pótlási időszak végéig lehetséges.
A félév elfogadásának és a félév végi jegy megadásának a feltétele:
Aláírást az kaphat,
· aki a gyakorlatokról nem hiányzott többet, mint a TVSZ-ben meghatározott mérték (30%),
· akinek a 3 legjobb kis zárthelyi dolgozat eredményéből számított átlaga legalább elégséges,
· aki legalább elégséges osztályzatot szerzett a nagy zárthelyi dolgozatával, és
· aki az előírt időn belül beadta a nagy házi feladatát és arra legalább elégséges osztályzatot kapott.
Félévközi jegyet az szerezhet, aki aláírást is szerzett. A félévközi jegy mind a kis zh-k, mind a nagy zh, mind a nagy házi feladat eredményétől függ, a következők szerint:
· nagy zh eredménye: 35% súllyal,
· a 3 legjobb kis zh átlaga: 35% súllyal,
· a nagy házi feladatra kapott osztályzat: 30% súllyal.
Az így kialakuló osztályzatot a gyakorlatvezetők a hallgatóknak a laborfoglalkozásokon tanúsított aktivitása alapján, saját belátásuk szerint +/– 0.5 jeggyel módosíthatják.
A nagy zárthelyi dolgozat megírására 1 pótlási lehetőséget biztosítunk a szemeszterben. Főszabály szerint további pótlási lehetőség nincs. Gyakorlaton való részvétel valamint a kis ZH-k pótlására nincs lehetőség. Házi feladat késedelmes beadása a pótlási időszak végéig lehetséges.
Kontakt óra
56
Készülés előadásokra
7
Készülés gyakorlatokra
0
Készülés laborra
14
Készülés zárthelyire
16
Házi feladat elkészítése
27
Önálló tananyag-feldolgozás
Vizsgafelkészülés
Összesen
120
Dr.Poppe András
Egyetemi docens