Épp most fejeztem be a StudiCore Java SE kurzus 6. fejezetét a példafeladatok megoldásával, s ezt szeretném bemutatni egy kezdő programozó szemszögéből. Ugye ez volt az első rész, amelyért már fizetni kellett, s az ingyenes próba nem terjedt ki rá. Ebben a részben a ciklusokról volt szó, s az elöltesztelő és hátultesztelő ciklusokat vettük át.
- A StudiCore Java tanfolyamáról írt összes bejegyzésem itt érhető el: StudiCore
Az előző tanulmányaimból már nem volt ismeretlen a kétféle ciklustípus, ezek a programozási megoldások már Turbo Pascalban is felbukkantak. Amire viszont nem emlékeztem, az az előreolvasás technikája volt. Ennek lényege, hogy ha végjelig olvasunk be valamit, akkor egy előreolvasással eldöntjük, a végjelet kaptuk-e meg. Ha igen, akkor már be sem lépünk a ciklusba.
Kezdő programozóként újdonság volt számomra a DRY-elv (a Don’t Repeat Yourself), amelyről eddig nem hallottam, s persze bele is futottam. Mivel a StudiCore felhívta rá a figyelmem, így már rögzítettem is az infót, s ezentúl így fogom én is elkészíteni a kódjaimat.
A fejezetet záró tesztet 90/100 pontosra teljesítettem, az első feladat trükkös kérdésekből állt, s itt benéztem két választ. Talán nem lesz gond, ha leírom itt az egyik kérdést és a rá adott egyik választ, hogy látni lehessen, mennyire trükkös:
Válaszd ki az alábbiak közül azokat, melyek megfelelnek az ebben a fejezetben tanult ciklus fogalomnak! (Több is lehet!)
én bejelöltem ezt is, mivel benne volt a nevében a ciklus szó (OMG): Hold-ciklus
A válaszom nem volt helyes, s ez az indoklás: Ciklus, de nem abban az értelemben, ahogy mi tanultuk. Nincs ugyanis kilépési feltétel. Úgy lenne jó, ha „Addig kering a Hold a Föld körül, míg fel nem robban”.
Nem is tudok vitatkozni vele, teljesen logikus. Hadd emeljem ki a szoftver jóságát ismét, ellentétben a főiskolán használt vizsgaszoftverrel. Ott ugyanis kifejezetten arra ment rá a tanár, hogy hátha nem veszünk észre egy-egy karakter elírást, ami miatt nem jó a válasz. Itt pedig nem össze akartak zavarni, hanem arra kértek, hogy használjam a fejem. Nagy különbség.
A fejezet feladatmegoldásokkal zárult, ahol a kétféle megismert ciklust kellett alkalmazni. Ezek nem voltak nehezek, csak át kellett gondolni a feladatot, s egy alkalommal a Google-t is használtam a megoldáshoz. Ott azt kellett meghatározni egy részfeladatban, hogy a beolvasott szám hány számjegyből áll. Ehhez én, mint reménybeli kezdő programozó, a String.valueOf(szam).length() függvényt használtam.
Nem néztem, mennyit foglalkoztam az StudiCore anyaggal, de az elmélet átolvasásával és a feladatok megoldásával a tegnapi és mai napon legalább 5-6 óra elment. Hasznos volt, jöhet a 7. fejezet, ahol megismerjük a for ciklust, a ciklusokba belenyúló break és continue utasításokat, a ciklusok egymásba ágyazását, szó lesz a hibakeresésről és a programok gyorsabb begépeléséről a NetBeans szoftverben.
A DRY-elv és az előreolvasás technológiája miatt kár lett volna átugranom a 6. fejezetet, nem beszélve arról, hogy így biztos vagyok benne, hogy minden világos a while és a do-while ciklusokkal kapcsolatban.