Tanácsok a tanuláshoz
Czirkos Zoltán · 2022.10.04.
Hogyan kell tanulni a prog ZH-kra? Ne kövesd el azt a hibát, hogy csak a megoldott feladatokat nézegeted!
tl;dr
Hogyan kell tanulni a prog ZH-kra? „Sehogyan.” Ez nem bemagolható, csak gyakorolható tárgy.
Minden tárgy számonkéréseire más módon kell tanulni. Máshogyan egy történelem tesztre, máshogyan egy KRESZ vizsgára, és máshogyan a programozásra.
A programozás inkább a KRESZ-re hasonlít. Töriből megtanulhatsz két dolgot, mondjuk azt, hogy 1222 és hogy 1848: a többit attól még nem fogod tudni. Viszont ha a KRESZ-hez megtanulod ezt a két dolgot: aki szemből jön, azt elengeded, és aki jobbról jön, azt is elengeded – akkor szinte mindent tudsz. A képes kérdések 98%-ára ebből a két szabályból ki tudod következtetni a választ. Ha még egy kis gyakorlatod is van, akkor kérdésenként semmivel nem több, mint két másodperc alatt.
Tipikus hibák a prog ZH-kra készülés és a ZH írás alatt
Ha rossz módszerrel ugrasz neki, abból nem sok jó fog kisülni.
- Hiba a ZH előtti este vagy éjjel nekiállni megtanulni programozni. Nem fog menni.
- Nagy hiba a honlapon lévő anyagokat, vagy más forrásokat csak olvasgatni. Nem jó ötlet a feladatok mintamegoldásait nézegetni! Nem vezet sehova, nem ad semennyi programozási tapasztalatot! Nem tanít meg gondolkozni, nem tanít meg fölfedezni, megérteni a tananyagot.
- Attól még, hogy egy megoldást láttál már leírva, nem biztos, hogy tudod reprodukálni is. Sőt akár ha értetted is, akkor sem biztos, hogy egyből – a ZH stressze alatt – be tudod írni a fejlesztőrendszerbe. A programozás kreatív tevékenység, ha mindig megnézed a megoldásokat, éppen a lényegét nem gyakorolod.
- Nagy hiba a tavalyi, tavalyelőtti,
n
évvel ezelőtti kzh/nzh feladatsorokra építeni. Lehet, hogy hasonló lesz, ez tény. De ez nem jelenti sem azt, hogy biztos olyan lesz, és azt sem, hogy biztos ugyanaz lesz. - Hiba megpróbálni egy egész nagyfeladat megoldását egyetlen hatalmas függvénybe sűríteni.
- Hiba kritika nélkül mindenféle dolgokat összeszedni a netről. Azért, mert valaki szeret fórumozni, nem biztos, hogy tud programozni is. Példa: szörnyű római szám program (C nyelven).
Jó szokások és módszerek a programozás tanulásához
- Admin portál, „személyes” menüpont, beállítások, „megoldás nyitva”. Azt kapcsold ki! Ne a megoldásokat olvasd, hanem a feladatokat!
- Igenis próbáld megoldani a feladatokat! Ha tudod, mi a megfelelő eszköz, de nem jól használod, keresd meg magad a hibát! Az előadásanyagot nézd, ne a megoldást! Ha úgy sem megy, nézd meg a megoldás magyarázatát, ha van – ott le van írva az alapgondolat vagy a trükk, ha épp valami trükk kell. Ha úgy sem, nézd meg a megoldás releváns részét – és továbbra is, próbáld meg magad befejezni a kódot!
- Mindezt csakis gép mellett tedd. Ott a fordítóprogram, nem lehet kérdés, hogy működik-e
a programod vagy nem. Próbáld ki! Használd a nyomkövetőt!
Rakd tele a programjaidat
print()
-ekkel, hogy lásd, mit történik a változókkal, merre megy a végrehajtás, egyáltalán mit csinál a program, amit beírtál!
Jó tanácsok az algoritmizáláshoz
- Van 3-as ebben a számsorban:
20275922897613291947845061062615547
? Hány mássalhangzó van awebböngésző-kiterjesztés
szóban? Amiket most csináltál, azt kell megfogalmazni programkódban. Az algoritmus úgy működik, mint ahogy papíron is elvégeznéd a feladatot. A számítógépet azért találták ki, hogy a mechanikus munkát elvégezze. - Ha egyszercsak copy-pastelni támadna kedved, hessegesd is el ugyanazzal a lendülettel a gondolatot. Ciklust kellene írnod vagy függvényt. Lesz időd a ZH-n leírni kétszer vagy netán tízszer ugyanazt?
- Gondolkodj egyszerre csak egy dolgon! Ha valami túl bonyolultnak tűnik, akkor azt nem egy nagy, ömlesztett kódrészletben kell megírni. Használj top-down tervezést és függvényeket!
- Ha nem írtad meg a programot, ami a fenti számsorban megszámolja a hármasokat, és ami megmondja a mássalhangzók számát, tedd meg! Akár ZH feladat is lehetne.