Ez a poszt az év közbeni védést támogatja. Laborfeladatként a védés "C vetületét" készítjük el. Itt nem adok teljes kódot, hogy a hallgató rá legyen szorítva az önálló munkára. (A közelgő aktuális védésre ez nem igaz, hiszen az annak alapjául szolgáló teljes kód itt van pl.: z3a5.cpp)
A jelen labor annyiban készíti elő a (C++ alapú) védést, hogy ugyanerre a bemenetre kell majd működnie a védésnek, s visszatekintve látható lesz, hogy a C kód ismerete mennyire segíti a C++ változat jó olvashatóságát.
Tehát a laboron egy olyan programot kell készítened, amely
- parancssor argumentumként átveszi a bemenő állomány nevét, majd a -o kapcsolóval jelzett kimenő állomány nevét, ilyen sorrendben (a parancssor argumentumok kezelését a C++ változatból is kinézheted, vagy itt egy általános ilyen kódcsipet az egyik trófeás feladatnál)
- binárisan dolgozza fel a fájlt: már az eredeti z.c is a read-el olvasott be, de aztán, mint karaktert vizsgálta a beolvasott bájtot, amelyet most bitenként kell feldolgoznod (azaz ide a d.c egy klónját bedolgoznod), így végül a 2. kromó TCAG betűinek bitjeit dolgozod fel (az N-eket, fájl eleji kommentet, az újsor jelek bitjeit viszont hagyd figyelmen kívül)
- eredményül kinyomtatja a kimenő állományba a fát, majd annak mélységét, ághosszainak átlagát és szórását (ez utóbbiak gyakorlatilag a fa bejárását feltételezik, amit már valószínűleg rongyosra olvastál a K&R könyvben.)
Minek kell kijönnie, avagy Mérő László nyomán "ebben a félévben így működik a vese" (l., még a következő kommentet is.)
nbatfai@hallg:~/bevezetes/vedes/2012tavasz$ g++ z3a5.cpp -o lzwtree
ahol neked természetesen a saját C kódoddal kell dolgoznod!
nbatfai@hallg:~/bevezetes/vedes/2012tavasz$ ./lzwtree hs_alt_HuRef_chr2.fa -o hs_alt_HuRef_chr2.fa.lzwtree
nbatfai@hallg:~/bevezetes/vedes/2012tavasz$ tail -n 3 hs_alt_HuRef_chr2.fa.lzwtree
depth = 291
mean = 77.9101
var = 8.81904
"Hey, Mikey, he likes it! Ready for more?"*
A kurzus krémjének már biztosan megvan a képessége, hogy kedvére tudjon csemegézni a tavalyi szabadon választható feladatok első két hullámából, ezt mostantól megtehetik:
- http://progpater.blog.hu/2011/02/14/kisbajnoksagok
- http://progpater.blog.hu/2011/03/12/hey_mikey_he_likes_it_ready_for_more_3
Nyilván, olyan feladatot, amit már elszámoltál és itt is szerepel, ne süsd el újra.
Indul a Qt!
Akiknek ez már lerágott csont, élesszék fel a bevezető Qt példákat, vagy a Creator-ban, vagy parancssorból: Tán csodállak, ámde nem értelek, de képzetem hegyvölgyedet bejárja*
[norbert@matrica 5]$ ls -l
total 24
-rw-rw-r--. 1 norbert norbert 3169 Mar 21 09:56 frakablak.cpp
-rw-rw-r--. 1 norbert norbert 633 Mar 21 09:56 frakablak.h
-rw-rw-r--. 1 norbert norbert 4736 Mar 21 09:56 frakszal.cpp
-rw-rw-r--. 1 norbert norbert 795 Mar 21 09:56 frakszal.h
-rw-rw-r--. 1 norbert norbert 1408 Mar 21 09:56 main.cpp
[norbert@matrica 5]$ qmake-qt4 -project
[norbert@matrica 5]$ ls -l
total 28
-rw-rw-r--. 1 norbert norbert 359 Mar 21 11:18 5.pro
-rw-rw-r--. 1 norbert norbert 3169 Mar 21 09:56 frakablak.cpp
-rw-rw-r--. 1 norbert norbert 633 Mar 21 09:56 frakablak.h
-rw-rw-r--. 1 norbert norbert 4736 Mar 21 09:56 frakszal.cpp
-rw-rw-r--. 1 norbert norbert 795 Mar 21 09:56 frakszal.h
-rw-rw-r--. 1 norbert norbert 1408 Mar 21 09:56 main.cpp
[norbert@matrica 5]$ qmake-qt4 5.pro
[norbert@matrica 5]$ ls -l
total 36
-rw-rw-r--. 1 norbert norbert 359 Mar 21 11:18 5.pro
-rw-rw-r--. 1 norbert norbert 3169 Mar 21 09:56 frakablak.cpp
-rw-rw-r--. 1 norbert norbert 633 Mar 21 09:56 frakablak.h
-rw-rw-r--. 1 norbert norbert 4736 Mar 21 09:56 frakszal.cpp
-rw-rw-r--. 1 norbert norbert 795 Mar 21 09:56 frakszal.h
-rw-rw-r--. 1 norbert norbert 1408 Mar 21 09:56 main.cpp
-rw-rw-r--. 1 norbert norbert 7831 Mar 21 11:19 Makefile
[norbert@matrica 5]$ make
[norbert@matrica 5]$ ./5
Trófeák a laborközösségekben:
- 3/2: legyen csak piros árnyalat (+.5 csak zöld)
- 1/1: közönségdíj a legszebbnek
- -/2[+5]: legalább 5 egymásból nagyított kép, 'S'-re menti fájlba, [képek fel a Facebook-ra, a vasárnap éjfélig legtöbb lájkot kapó]
- 3/2: betűre gyorsítja/lassítja a sejttér működését
- 3/4: betűre kicsinyíti, nagyítja a sejttér megjelenő méretét
- -/2[+5]: mik a Conway-f életjáték szabályai (a kód alapján, azt magyarázva kérem a választ), [találj ki saját szabályt és szép eredmény képet/videót fel a Facebook-ra, a vasárnap éjfélig legtöbb lájkot kapó]
Linux: visszajövök
Az előző két poszthoz, persze a virtualizált rendszert akár egy Win hoszt rendszeren is használhatod, de ez felségárulás:
Itt a tavasz, elő a focit!
Aki reprodukál egy GoldenTeam FC - GoldenTeam B mérkőzést, 4 trófeát kap, ha mindehez készít egy rövid tutoriál jellegű leírást is a társainak, akkor x2=8, itt a virtualizált támogatás. S az egész megismételhető, ha egy GoldenTeam FC- HELIOS_Base mérkőzést játszunk le, azaz első körben a robotfocival 16 trófea kaszírozható (az első 3 hallgatót díjazzuk, s RCG-t is kérek bemutatni).