A 5. laborat´ orium anyaga K´odfejt˝ok´ent dolgozik ´es leg´ ujabb megb´ız´asa egy kilenc kapub´ol ´all´o rendszerbe val´o bejut´as. Minden kapun´al kap egy adatot, amelyen a megfelel˝o algoritmust lefuttatva, megkaphat´o a jelsz´o. ´Irjon minden egyes algoritmushoz egy f¨ uggv´enyt, amely ki´ırja a k´eperny˝ore a jelsz´ot! Minden kapuhoz megadunk egy bemenetet. Futtassa le a megfelel˝o k´odolt f¨ uggv´enyt az adatra. A laborvezet˝ot˝ol megtudhatja, hogy siker¨ ult-e megtal´alni a helyes jelsz´ot. 1. A kapott adat egy el˝ojel n´elk¨ uli eg´esz sz´am (unsigned). A jelsz´o egy bin´aris sz´am, amelyet a bemenet minden harmadik bitj´enek el˝o´all´ıt´as´aval nyer¨ unk. Az elk´esz´ıtend˝o f¨ uggv´eny ´ırja ki a megfelel˝o biteket, az els˝o a legalacsonyabb helyi´ert´ek˝ u legyen. Adat: 31591 ´ kapcsolat´at kell venni azzal 2. Egy el˝ojel n´elk¨ uli eg´esz sz´amot kap. Ennek a bitszerinti logikai ES a sz´ammal, amelynek ´ert´eke a sz´amban szerepl˝o egyes ´ert´ek˝ u bitek sz´ama. Adat: 2047 3. Egy null-v´eg˝ u stringet kap. A jelsz´o a sz¨ovegben szerepl˝o karakterek sz´ama. Adat: Napfeny altal at nem jart zold vilag 4. Egy null-v´eg˝ u stringet kap. A string egy k¨ozpontoz´as n´elk¨ uli sz¨oveget tartalmaz, amelyben minden sz´ot pontosan egy darab sz´ok¨oz karakter k¨ovet. A jelsz´o a sz¨ovegben l´ev˝o szavak sz´ama. Adat: "V´ eg¨ ulÃegyÃAlbatroszÃr¨ op¨ ultÃfel´ enkÃtisztultÃaÃk¨ odÃ" 5. A bemen˝o adat egy sz¨oveg, amelyben minden bet˝ u k´odolva van. Minden bet˝ u helyett az a bet˝ u ´all, amely pontosan olyan messze van a ’z’ bet˝ ut˝ol, mint amilyen messze az eredeti bet˝ u az ’a’-t´ol. A sz¨oveg az angol abc kisbet˝ uib˝ol ´all. Vigy´azat, csak a bet˝ uk vannak k´odolva, a sz¨oveg t¨obbi karaktere v´altozatlanul szerepel! P´eld´aul a ’b’ bet˝ ub˝ol ’y’ lesz, a ’,’ marad v´altozatlan. Adat: nvtgzozogzw z qvohalg! 6. K´et adatot kap: egy null-v´eg˝ u stringet ´es egy nem-negat´ıv eg´esz sz´amot. A sz¨oveg is egy ilyen sz´amot tartalmaz. Sz´amolja ki a sz¨ovegesen adott sz´am ´ert´ek´et ´es vegye a m´asik sz´ammal a logikai XOR (Kiz´ar´o VAGY) ´ert´ek´et. Adatok: ”26789”, 1234 7. K´et null-v´eg˝ u stringet kap. Az els˝ot kell dek´odolni a m´asodik seg´ıts´eg´evel. Az els˝o minden egyes karakter´et el kell tolni az abc-ben a m´asodik soron k¨ovetkez˝o karakter´enek az abc-beli sorsz´am´aval (pl. az ’a’ bet˝ u´e: 1). Ha el´er a m´asodik string v´eg´eig, akkor el¨olr˝ol kell kezdeni. Amennyiben az eredm´eny karakter a ’z’ ut´an lenne, u ´gy a sz´amol´ast ’a’-t´ol kell u ´jrakezdeni. A bemenetben csak az angol abc kisbet˝ ui szerepelnek. 1
P´eld´aul ha a dek´odoland´o sz¨oveg soron k¨ovetkez˝o karaktere ’y’, a k´odol´o string´e pedig ’b’, akkor az eredm´eny karakter ’a’ lesz, hiszen ’y’ az utols´o el˝otti bet˝ u az abc-ben, ’b’ pedig a m´asodik. Adatok: ”dx w ddjpvj”, ”abcdef” 8. Egy nem-negat´ıv null-v´eg˝ u stringet kap, ami egy lebeg˝opontos val´os sz´amot tartalmaz tizedesponttos alakban. A jelsz´o a val´os sz´am tized´enek a n´egyzete. Adat: ”17.7245385” 9. Kap egy null-v´eg˝ u stringet, egy eg´eszekb˝ol ´all´o t¨omb¨ot ´es annak m´eret´et. A stringnek az els˝o karakter´et (0. index˝ u) mindenk´epp ´ırassa ki, majd innent˝ol kezdve az indexet mindig tolja el a t¨omb soron k¨ovetkez˝o elem´evel ´es a megfelel˝o karaktert ´ırassa ki. Adat: "uaysgveÃ" , {4, -2, 4, -3, 4, -2, -4, 3, -2}, 9
2