{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Első beadandó\n", "\n", "\n", "Hat feladat van, ahányat sikerül megoldani, annyi lesz a beadandó értéke, de legfeljebb 5. Megoldásként ezt a fájlt kell visszaküldeni kitöltve. Nem elég csak a válaszokat feltüntetni, hagyd benne a fájlban a függvényeket és kódokat, amit a megoldás során használtál. \n", "\n", "- Mindegyik feladat kódolásokhoz fog kapcsolódni. Felteheted, hogy minden szöveg csak a következő karatereket tartalmazza: `hun_alph=['a', 'á', 'b', 'c', 'd', 'e', 'é', 'f', 'g', 'h', 'i', 'í', 'j', 'k', 'l', 'm', 'n', 'o', 'ó', 'ö', 'ő', 'p', 'q', 'r', 's', 't', 'u', 'ú', 'ü', 'ű', 'v', 'w', 'x', 'y', 'z', ' ', '!', ',', '-', '.', ':', '?', ';']`. \n", "- **Helyettesítő ábécé** alatt karakterekből áll halmazok közötti bijekciót értünk. Ezt egy dicitionaryben érdemes tárolni, ahol minden kulcs egy egyedi karakter és minden érték is az. Pl: `{'a':'b','x':'y'}`\n", "- A programoknak úgy kell működniük, hogy a Restart & Run All parancsra hiba nélkül végigfusson a notebook és minden megoldás a megadott változóba kerüljön. \n", "- Ha valamivel nagyon elakadtok, írjatok egy emailt és segítek. \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "hun_alph=['a', 'á', 'b', 'c', 'd', 'e', 'é', 'f', 'g', 'h', 'i', 'í', 'j', 'k', 'l', 'm', 'n', 'o', 'ó', 'ö', 'ő', 'p', 'q', 'r', 's', 't', 'u', 'ú', 'ü', 'ű', 'v', 'w', 'x', 'y', 'z', ' ', '!', ',', '-', '.', ':', '?', ';']" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ " ## 1. feladat\n", "Írd meg a következő függvényeket.\n", " - az `elkodol` függvény egy stringet és helyettesítő ábécét vár bemenetként, majd pedig visszaadja azt a stringet, amit úgy kapunk, hogy a bemenet minden karakterét lecseréljük az helyettesítő ábécé szerinti párjára. Ha egy karakter nem szerepel az ábécében akkor ne változtasson rajta a függvény. Pl: `encodestring(\"abbac\",{\"a\":\"x\",\"b\":\"y\"})=\"xyyxc\"` \n", " - a `dekodol` ugyanazt csinálja visszafelé, tehát egy elkódolt üzenet és a helyettesítő ábécé ismeretében megadja az eredeti szöveget. Helyes megoldás esetén `dekodol(elkodol(szoveg,abc),abc)` az eredeti szöveget adja vissza. \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def elkodol(szoveg,abc):\n", " #todo\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def dekodol(szoveg,abc):\n", " #todo\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. feladat\n", "Az alábbi szöveg a cézár kódolással van elkódolva. Mi lehetett az eredeti szöveg?\n", "\n", "A cézár kódolás a következőképpen működik. Választunk egy egész számot, hívjuk ezt k-nak. A titkosítandó szöveg minden betűjét lecseréljük az ábécében k-val később álló betűre. Itt is a fenti `hun_alph`-t használjuk ábécéként, tehát csak a karakterek és a szünet számítanak. (Ha kifutunk az ábécé végén az elejétől kezdjük újra a számolást.) Pl ha `k=5` és `szoveg=\"csíkos zebra?\"`, akkor a az elkódolt üzenet `\"gűnóqű:.ifüec\"` \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "titkos_szoveg='r,üö-úö,eke-.ol,ekűctkh'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. feladat\n", "Az alábbi `titkos_szoveg3` is egy behelyettesítő ábécé segítségével készült. A cézár kódolással ellentétben itt semmit sem tudunk arról, hogy milyen helyettesítő ábécét használtak. Szerencsére azt viszont tudjuk, hogy az eredeti szöveg tartalmazza a lenti `biztos_szoveg` részletet. Mi lehetett a teljes eredeti szöveg?\n", "\n", "(Ne lepődj meg ha a megoldás mondatai nem egy folytonos szöveget alkotnak, egy nagyobb szöveg véletlenszerű darabjait kódoltuk el.) \n", "\n", "(Segíthet egy olyan verziója a `dekodol` függvényednek, amely nagybetűvel írja be azt, amit dekódol és kisbetűvel, amit nem. Így nem kevered össze, hogy mely részek vannak már dekódolva és melyek nem, amikor egy részleges helyettesítő ábécét tesztelsz.')\n", "\n", "Megoldásodat - az eredeti szöveget - mentsd el a `megoldas3` változóba! \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "titkos_szoveg3='g ghfkzlítbb kbtrlkbtíő kíár ghgagjü,kglsmlkfjykőjréíbkxjíknmkyjgcjoöámagjü;kyófarbkfébgjü-xáögjü,kyófarbkílütyóöglü:kocirockqlgk bbztg,kjífákföéíibbjklkzóöglü.kbtíő klkqlőlübuíkdockyjoyjgjüéíqag,kyjos zjgbküjqaffakjocköftyűaürlkéíqag;klkxlrülf-x lüűlgkfjykqtíbkyórkíjzjííjb,kjíblstfqlkgcníblükbtíő kíóűlkyjííjbb.kbóqtílűűkxjüébbklöklgcmtü,kyjoklksórml;kb föbógkfébibbkrómtüklkztíőkülr üóml,kz őjojgkbjü gbjbbklkrabkxjgjüaűj,ky gbkjocklrlgckbjsf ,kföabyjrjőbklküasj.kylmőklökaőjflgcmlküasabktőlzlocql,klökiöqjoclffötgcrlkrjséíbkotgőtílbml,kztockfdrbklküjrjföbjg,küabküjöabkztockbirbj,kly arbklkqlőkhfjzküabkx óbkyjoiíbj.kxtolőóflkmúbkytfbkjföaűjkfkdockftzlmb:ktzky üaskqdzlbgaükztíglskagklqqlíkűlmb?kztíkqloctgksl öfty,ksóghaíty,kxjocqjrjy?kxto-jklkhfjzkűlmgtükföjyűjföóííg kqjíjy?klökiriy,klkslglfökmukftüó okblrbl,kjíűjföaíbjky üíuf,kly kbirbagbkrlmbl,kőjkbúőg qlíu,kztockgjykűjföaíbkxtícbóűlg:klgcmóbküarőbjky gőjgkb öjő ükfölqóűlg.kztockqlgkaőjflgcóy?kgjykűjbjo-jkföjoagc?kűnfütő ü-jkgloctgkjíqjföjbbkocjryjüag?kgóílkőáöfií-jkyaokfky bkhf góíklkyóf ü?kmlm!kföjoagcklgcóyylíknoc-jkrtfföúíkűóg ü?k'\n", "biztos_szoveg='most eszébe s így sohajt: oh mikép víhatnék holnap én'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. feladat\n", "Készíts elemzést a magyar nyelv betű és betűpár gyakoriságáról. \n", "- Keress ehhez egy legalább 100000 karaktert tartalmazó magyar szöveget. (Ne használj olyat, ami a gyakorlaton szerepelt.) \n", "- Mentsd el a szöveget ennek a notebooknak a mappájába `szoveg.txt` néven. \n", "- Olvasd be a fájlból a szöveget.\n", "- Változtasd kisbetűssé és szabadítsd meg a szöveget az extra karakterektől (amik nincsenek a `hun_alph`-ban). \n", "- Ezután számítsd ki a `hun_alph` minden karakterére, hogy hány százalékban szerepel a szövegben. Majd ugyanezt számítsd ki a `hun_alph` minden betűpárjára is (\"aa\",\"ab\",\"ac\",...). \n", "- Az eredményt mentsd el a `megoldas4betu` és `megoldas4betupar` változókba. Mindkettő legyen egy lista, mely (karakter/pár, gyakoriság) elemeket tartalmaz és rendezve van gyakoriság szerint. \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ne felejtsd, hogy a hat feladatból elég ötöt megoldani az ötöshöz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. feladat\n", "Az alábbi `titkos_szoveg5` is egy behelyettesítő ábécé segítségével készült. Itt semmilyen extra információval sem rendelkezünk, csak annyit tudunk, hogy az eredeti szöveg magyar nyelvű. Mi lehetett az eredeti szöveg? \n", "\n", "Szerintem szórakoztatóbb, ha teljesen magadtól oldod meg ezt a feladatot. Viszont ha nincs semmi ötleted, vagy elakadtál, akkor az alábbi szöveget visszafele olvasva találsz egy kis segítséget. \n", "\n", " - .ketíges nesevízs ,tliame yge jrí ,degésküzs nav ergéstíges bböt gém aH .takavazs divör a luádlép detehrűzsiK .tíges takos si azssoh kavazs a rám nátuzE .lavásálálatik retkarak ' ' a luádlép dzeK .lavásálálatik kűteb a técébá őtísetteyleh őlelefgem yge lef stípé nasotazokoF .támázs ketese za detehtíkűzsel noygan lezzE .ttüyge llá mesahos etnizs rápűteb kos ,tíges si lánkoráp űteb a zenaygU .kankairokayg ébsévek a gidep kairokayg ébsévek a ,gem kenlelef kenkeretkarak irokayg nebvleyn raygam a keretkarak irokayg tti za návliyN .kenkiylem gem lelef űteb kiylem ygoh ,inlálatik gem dlábórp gidep djam ,si tti tákitzsitats ólnosah zohtadalef .4 a stízséK\n", "\n", "Megoldásodat - az eredeti szöveget - mentsd el a `megoldas5` változóba! \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "titkos_szoveg5='oxvjőayv jviúkcvgőúüvgvüóémúüvgvtgcém!vjémnqkcgövgvrsőgcérkéö,vgvőgrvűanvőzkoxüvrdkúngcúcc,vgvögjőékdöúüvyxcmxüwaörxvtúmocéövgvjőaüéc;vy mújvkérsvndkóéövkayoxkcxövűakcdjéncxkexjxüvgvmacxöxü,vajvxnó ycúű vüóxkixüvöxmxyxkcxöv-vxőviúkcvgővgüógüóxkihö.vgvngrúügbzkoxöxc,vögjőékdögcvjlmlvxmopövzixőcaö,vjvgővxmopövzkaüvűakóvi őlvcgigövwj kkúncgö.vjőayviúkc,vügnóúüvjőayviúkcvgvtgcém!vűakóvémöúöögkvözmhkjőxnxcc,vman vqoigmtéővűxkxünxccxvzmxnvbgkg cvgvügyjhcajrxü.vözmüóaöacvbzkixmcxvgvkgyq,vbgkg vcziacpkvgővémöúövjőaka nvöxoihömxvüpccxö-cxmyxjőöxocxövgővdm éj vkgyqkxixkxö;vxnó-xnóvűgngjgrrvrúöúmvgkgccvöaüóxkűxjxüvűxnékktgcúccviúkügvxnóvö jnóxmxö.vxővgvőzkovjlmlvigkdjénújvmxünxcxnvxmopviúkcvgüügövgvögwjéügö,vgűxkó öv ccvhkcvgvbajőöaü,vtúnóvcúeéjg cvö özkcjx.vjúöé nvöxkkxccvűxkxünxcü xvgvcúeéjúögc,vjvgvögwjgvjúögcvqügcöúőúcc:vixüoanvm cöéüvixcpozccvxkvtúőőé,vgvcémjg vűxnvgővémöúövi őarxüvrqöoéwjúkcgö,vüxűvjőuixjxüvcúcóúncgövö vgvjőémgőmg,vtúnóvgvi kénvbúkóéjémdkvcémjgkúnegügövixkxvgvkgyqkxixkxövgkgcc.vxnóvügyvgőcéüvbzkygccgücvgővxkjpvcúeéjtae,vqcéügvgvűéjúo ö,vjvgvczrr .vj y-j y!v-vzmhkcxövűxnvgvi kénügövgvb döéö,vjvö núűrúkóúocgövgvcúeéjrdk,vű ücvűxngüüó vűxnxkxixüxoxccvcúeéjjémnéeg.v-vtéy-téy!v-vgővzmxnvögwjgvwjgövxüüó cvűúüoúcc.vgvö jögwjéövúccvüóhőjzncxövözmhkzccx,vöuiéüwj güvüaőcaövgvkgyqkxixkxövőzkovjlmleac,vjvgővgüóeqövtgnócg,vűxmcvgvőzkovjőuüvedcvcxjővgvjőxűüxö.v-vd,vű wjúogvdm éj vügnóvgvi kén!v-vékűaköúocgövgvö wj üóxö;vyxmjőxv ccvűémvűéjöayyvamxőcaövűgnqögc,vű ücvrxüüvgvjőlövcúeéjrgü.v-vgőcvt jő cxö,vxővgővxnajővi kén?v-vöamoxőcxvgővgüóeqö.v-vgvöxmcvcskjdvbxkxv jvtúőőécgmcúő ö,voxvűanvgvygyvbzkoexv j.voxvúccvűanvaüvjxveémcgű.vüú,vűxnignócúö-xvigkgűxüüó xü?v-vö üósecúccgvgvüógöéc,vajvian nüaőxccvgvö jvjxmxnxü.v-voxtúnóvignócúö,vt jőxüvkéű,vgvkxnügnóúrr övcúeéjvűanvúccvtxixmvgvbajőxörxü.vege,vűxoo nvűxkxünxjjxűvűan?vűújcvűémv ngőéüvqüúű!v-voxvű cvcxtxcxcc,vi jjőghkcvgvcúeéjmg.v-vtúnóvignóqüö,vjőúűjőaogjjőúüó?v-vöamoxőcxvxnóvzmxnvögwjg,vgö vkécúngcdrgvezccvtúőőé.v-vgüüó vrgeúűvigüvxőőxkvgővxnóvcúeéjjgkv-vygügjőöúoúccvgvögwjg.v-vüxűvnópőzűvö iémü ,vtúnóvbxkygccgüeúü.vtgüxűvüaőovűxnvgvczrr c!vjútgvakxcxűrxüvüxűvkéccgűvöhkzürvö jögwjéögc.vxnócpkvxnó nvgmmgvgvjxűű mxöxkkpvgyeqömgvhczccxö.vűanvwjgövxkvjxvezccvtúőőéű.v-vtgoovkécúűvgőcvgvwjzözüózjvcúeéjc!v-vűúüocgvgvögwjgüaüx.v-vgk ntgüxűvyqkóögcúeéj,vüxöxűvxkt txcxo!vaüvcqoúű,vűxmcvxnójőxmvaüv jvűxneémcgű.vyqkóögcúeéjúögcvözkczccxűvö ,vjvűxüüó cvixjőpocxűvgvö wj üóxööxk!vűxmcvgvyqkóögvű üovmxccxnvgviuőcpk.vüxűvűxücxövgőúövgviuőrx,vjxvjőayvjődmg,vjxvygmgüwjmg!vűqcgjovwjgövgőcvgvcúeéjc!vtécvxővr őúüóvyqkóögcúeéj!vtgnóovwjgöv ccvgvbajőxörxü,vjv üöérrvgvczrr cvcgüucjovsjőü .v-vűanvxkhkoznakxövmgecgvxnóvö wj cv-vűúüocgvgvögwjgv-,vűújcvűémvüxűvtgnóúűv cc,vtgvűémvxüüó cvűxkxünxccxű.v-vgtúnóvcxcjő ö!v-vűúüocgvgővzmxnvögwjgüaüx,vgőőgkvxkcúcóúnúcc.vianmx-ianmxvűxnygccgücvgvügnóvcúeéjvtaeg.v-vy y,vy y!v-vj yúncgvgvb dög,vajvö öéjőékdoúccvgvügnói kénmg.vű kóxüvmscviúkcvjőxnaüó,vajvű kóxüvügnó!vgővgüóegvedkvjőxűhnómxvixccx.v nxüvügnóvxővögwjéügöv-vnúüoúkcgvűgnérgü.v-vxnajőxüvűéj,vű ücvgvczrr .vö jyqkóögviúküg?vűgeovxkiék övű üoeémc,vnóxmhüövwjgövgviuőtxő!vsjőü gvöxkk,vtgvűéjöayyvüxű,vtécvűgngűvkzözűvrxkx!vixmpbaüóxj,vjőayv opviúkcvűéjügy,vgvkgyqkxixkxövözőavrxclőzccvgvügybaüó.vgvögwjgvkxméüoqkcvö wj üóx ixkvgvi őxjémúövygmceémg.vőjqyjő!v-vűémvrxkxv jvwjúrrgücvgviuőrx.vgvö jögwjéöügövüxűvöxkkxccvjúövr őcgcéj,viungüvkúwwjgücgövqcéüg;vgviuővzjjőxwjgyúccvgvbxehövbzkzcc,voxvüóúűrgüvbzkrqöögücgö,vajvsnóvsjőcgö,vtúnóvnózüózmljanviúkcvüaőü :vgvkérqövűgnécdkvnósmcgvgvi őxc;vű üovedkvamxőcxvűgnécvrxüüx.vajvgvmscvö jögwjgv jvúccvkqr wöúkcvözőzcchö.v-vűanjxűvyqkóögb vxőv-vűúüocgvgvögwjgv-,vkéű,vű kóxüvyúűyéjgüvxixő,vajvű kóxüvjőayxüvcgmcegvgvüógöéc!vt érg,vgővaüviamxű!vtgveúrrgüvűxnüaőxű,vxnajőxüvcgögmújvbúműées.vtéy-téy!vnóxmcxövtéc,vtgoovűqcgcúűvűxnvüxöcxövgvi kénúc!vrxvöxkkvűqcgcöúőüúcúövgvmawxqoigmügö,voxvű üo nvűxkkxccxűvűgmgoegcúö,vüxtúnóvmécúövcgyújjúüvigkgö .vöhkzüzjxüvyxo nvgvűgwjöécdkvdigöúoegcúö.vxkixőxccxvtécvpöxcvgvmawxqoigmrg.vúccvayyxüvtgünújvwjxcxygcaviúkc:vöacvmawxwjgkéovzjjőxűgmgöúoúccvxnóvtgkbxexü,vgű cvianhkv jvgvűgwjögvögygm ücúccvűxn.v-vkéceécúö,v kóxüvgvi kénvjúmg!v-vűúüocgvúöcgcdüvgvögwjg,vajvűxnigögmcgvgvwjpmxvcziac,vűxmcvűgngv jvügnóúüvűxnöuiéücgvgvtgkbxexc.v-vüú,vjőxoeacxövgvkérgcúögc,vűxüexcxövúogvgttúővgővzmxnvögwjgtzknótző,vajvtgeúkegcúövűxnvjőayxüvxkpccx.vpvgvkxnxkpöxkprrvgővxnajővqoigmrgü:vjygüóúkvjőéműgőéjs,vgőamcvúkógüvöziam,vjvüaőőacxö,vy mújvmúünóúcvi jxkvgvkérgvjőéméü.vxővmxüoöuihkvügnóvö chücxcaj,vüxűv jvöuiéütgcvczrrxcvxnóvögwjg;vgőcvexkxüc ,vtúnóvi nóéőügövmé,vgőcvgögmeéö,vtúnóvxűrxm,vékkgcvű üovűxn jűxmex.vj yúnegcúövüxö v kkxoxkűxjxü,vjvgvkérgcúövbxeacvö bxkavmgöeécúö!vgvedkvüxixkcvö jögwjgvüxűvmgöújngcegvwjéűyéjgüvgvkéréc,vsnóveém,vgtúnóvgvjőhkx cpkvcgüqkcg,vunóvü !vtgecjgcúövjőayxüvbxexc,vajvűúüoeécúö:vj y!vgvö wj üóxövjődcv jvbúngocgö;vgővqoigmvüayxvű üovpöxcvjőxűkaknxccx,vgőcéüvűxnűúüocéö,vgű cvnúüoúkcgö:v-vűanvxővt éüóőúcc!vüxűvignóqüövxkxnxü,vűújcvxőxöv jvgvüógöqüömgvezüüxö!vtécvgővűxnvű bakx,vgővgvmscvedjőén?vxőcvűémvüxűvclmtxcehö!v-vxnóvögwjgvű üoeémcvüxö v jvqnmúcc,vajvűxnwjuycxvgvüógöéc.v-vqnógü,vtgnóeécúö!v-viaocxvgővgüóeg.v-vüxűviacvxővjxüö üxö!v-voxvügnóúrr,vű ücvűéjvrxwjhkxcxjvö jögwjg,vajvmscv j!vxőamcvr őúüóvixmajcvamoxűxk!v-vö ékcúccgvgőv üoqkgcújvögwjg.v-vúkógüvjőayvgvczrr vb döéo!v-vűúüocgvgvy mújvögywéjvögwjgtzknó.v-vcgögmújgövajvedvüziajlxö.vwjgövxővgővxnóv kóxüvjőxmxüwjackxüvbúműées.vgvkxneúrrviúküg,vtgvsemgvö özkcxüao.v-vgőcvüxűvkxtxc,vöxnóxkűxjvgjjőúüóúűv-vbxkxkcxvgvb döéövgüóeg.v-vmscvö jvedjőén,vgőv ngő,voxvedkxkölvcxmxűcaj,vsjőü vűxnvayyxüvsnóvsjő ö,vű ücvgöéműxkó ö,vjpc,vrécúmvignóúövö exkxücxü ,vtúnóvűanvöhkzürhk.vmxűakxű,vűgeovö öqyékdo ö,vignóvö jxrrvkxjőv opixk;vcskjénújgüvjúöé nvöqyúmnúccvgvcúeéjrgü,vgőamcv kóxüvbúműéckgü.v-vwjpmaixkvxnóxüxjmxv ngőucúccgvgvmscvö jögwjgvüógöéc,vajvgüóg vnúüoogkvmxüoxőnxccxvgvy ta c.v-vöhkzürxüv j,vnéwjamv-vbúkócgccgv-,vtécvüxűvúkógüvbúücúj,vtúnóvjőayvkxnóxü.vxmpjvkxnaüóvkxjő,vsnóvüaőxű,vűxnékkegvűgeovgvtxkóacvgővakxcrxü.v-vgvczrr vö wj üóxovcgögmújv-vűúüocgvöxnóxjxüvgővxkpöxkpvögwjg.v-vamxőőacxövtécvúcctúüújgüvűgngcúögc,vajvtgviakxckxühkvtgkbxexcvcgkékcúö,vxktúőtgceécúövüxöxű.voxvgvjőxnaüóvö jögwjéc,vgűxkó övqcúkjdügövrsecvö vgvcúeéjrdk,vjőhüxckxüvwjuycaö,vmsncéö,vcayéőcéövajvwjsbúkcéövgvczrr xö,vüxűwjgövgvögwjéö,voxvűanvgvcósöúöv j.vcskjénújgüvügnó!v-viakcxvű üoxüö ;vgvyqkóögögögjvűxn,vgö vjgmögücósigkvezccvgvi kénmg,vajvkxngkérr jvwjéjőémügövöayőxkcxvűgnéc,vbzkoqőűgjőöúoúcc,vű ücvxnóvogngodvi cúmkg,vüxö múücúccvgvmscvö jögwjéügö,vajvúkógüvohtzjxüvtqmqööúkc,vtúnóvrxkxöaöhkcvgvizmzjvrpmkxrxmüóxnx.vgvjőxnaüóvö jögwjgvgőcvjxvcqocg,vtúiévkxnóxüv exocarxü,voxvűxnvrsjqkcv j,vgű amcvúkógüvmsc,vtúnóvgővxnajővrgmúűb qoigmvpcvwjsbúkeg.vunóvcxkcvxkvakxcxvxkjpvügyeg.vgvczrr vűanvöxjxmixjxrrvkxcc.vgvjőxnaüóvö jögwjécvű üoxüö vhkozőcx,vűanvgvcqkgeoúüvcxjciamx vjxűvékktgccéö,vjvtgvjődkcgövtúőőé,vwjgövunó:v-vrémwjgövxki üüxvgvűgwjög,vcxvqcékgcújvjőxmőxc!v-vgővgüóegvjxviúkcveúrrvtúőőé:v-vd,vwjgövűémvüxvkécüékgö!v-vgvögwjéövwjuycaö,vgvcósöúöviéncéö,vűanvgvjőúknékdv jvmsnúccvmgecgvxnóxc,vigkgtéüójőúmvxcxccxvgővgymdedjőénúc.vxnóvügyvgőcéüvüxűvrumcgvcúiérrvgvjőxmxüwjackxüvö jögwjg,vüxö bqcúccvgvi kénügö,vjvécmzyyxücvgvöxmucajxü.vgvöxmcxüvcsk,vgvrúömújrgüv exocxüvmxrrxücxövjőacvözőxkxocamxvgővgymdvűgogmgö.vűanvpöv jvűxnmaűhküxövcpkxű,vúkógüvmscvignóúöv-vnúüoúkcgvgvjőxnaüóvö jögwjg,vajvjőanóxükxcarxüvkxjhczccxvgvjőxűac,voxvgőamcvwjgövjőgkgocvcúiérr.vunóvamcvxkvxnóvjlmlvüéogjrg,vgtúkvigoögwjéövcgüóéőcgö.vűxntsődoúccvgvüéovözőzcc,vajvxkwj néőúccgüvy txücvxnajővaejőgög.vügnóúüvbéecvgvjőuix.vmxnnxk,vű xkpccvgvigoögwjéövjőémüómgvöxkcxöviúküg,vedkvjőxűhnómxvixccaövgőv oxnxüc.v-vtécvcxvű bakxvjőxmőxcvignó?v-vöamoxőcaövcpkx;vgvö jögwjgveúrrmg-rgkmgvözjőzünxcxcc,v kkxoxkűxjxü,vgtúnóvgővgüóegvcgüucúccg.v-vbxmcxkűxjvmscvignó!v-vűúüocéövűxnvöxmxöxüvgvigoögwjéö.v-vjőxmxüwjao,vtúnóvüxöhüövű üoxnó.vwjgövüxtúnóvrxtéőgjúoevgvwjgkéoqüörg!vjőxnaüó,vmscvö jögwjéügövxjőxvénérgüvjxűviúkcvtéőgjúoü ,vrxamcxvgüüó igk,vtúnóvcgüóécvixmtxcxccvgvüéovözőzcc,vjv tgcúccvgvkéyvi őarpk.vűémvöacvügyegvcgüóéőúccvgvüéogjrgü,vgű öúmvxkarxvékkcvöacvigonéwjam;vüxűmanvrsetgccgövö vgvcúeéjrdk,vűxmcv nxüvtxcóöxvkxnaüóxöviúkcgö.v-v oxvjhjj,vygecéj!v-vjődkucúccéövűxnvgvmscvö jögwjéc.v-vúkógüvwjsbvignó,vtúnóvjő ücxvcxcjőxkvüxöhüö!vékkevrxvözőaüö,viéüoúmúkevixkhüö.vüxűvűxjjőxv üüxüvigüvxnóvűéj övüéogj,vgtúkvjőxűmxigkdvö jvigok rqjöéövkqr wöúkügö.vö jgjjőúüóvigkgűxüüó ,vjvúkógüvjőayxüvcqoeéövűúüogü :vn -né-né!vúccvcgkéüvjőxmxüwjaovgögotgc,vtgvűanvúkógüvwjsüógvignóv j!v-vo mm!voqmm!v-vozmohkcvigkgtúkvgvözőxkhörxü,vjvgvöacvtxcóöxvö jnéwjamvtúkcgüvbúmoqkcvrxkxvgviuőrx;vy mújmgvbxjcxccaövgviamhööxk.v-vo mm!voqmm!v-vtgünőúccvsemg,vjvgvigokqogövüayxjvwjgygcrgüvűxüxöhkcxövbzkvgvűgngjrg.vgőcéüvsemgvxkozmohkcvgvmaűjanxjvtgün.vigoéjőgcviúkcvgvi oaöxü;vgvigoéjőúövözmhkwjxmöajőcaövgvüéogjc,vüatéüógüvűxnvkxjrpkvkpccxövgviuővbzkavtgekdvbhőxövéng vözőhk.vbxktpörxüvnúűúkónúccvgvkpyúmvöaövbhjcex,vűxngögocvgvjlmlvkúűrvözőzcc,vgőcéüvmécxjyxocvgviuőmx;vi őjkéövwgykgccgövgőv jőgyrgü,vczmcaövgvüéogc,vgvjéjc,vjő űgcúkcgö.vgvjőxnaüóvö jögwjgv jőúüósgüvűxn exoc,vmaűhkcxüvbúmngccgvgvbxeac,vjvayyxüvgvjőémüógvgkévgögmcgvoqnü ,vgű öúmvxnóv mogckgüvügnóvöqcógvcxműxccvxkpccx.vtújjőgüvkdngccgvizmzjvüóxkiac,vmaűucpxüvi kkúncgccgvgvjőxűac,vgővuüóacvbxktsőcg;vűém-űémvbúng vözőavmgngocgvgvö jögwjéc.voxvgőcéü,vű üctgvt mcxkxüvűéjcvnúüoúkcviúküg,vűxnbúmoqkcvajvúcctgnócg.v-vd,vtékgv jcxüüxö!v-vkakxnőxccvbzkvgvö jögwjg.v-vsnóvkécjő ö,vúkógüvmscvignóúö,vtúnóvűanvgvöqcógv jvécgkkvgvbúng vözőavögyü .vűújcvűémvűxnüóqnúoúcc,vüxűvűúwwgüc,vűunvgvbxexvbzkzccvjzmacvögjőékcgvgvüéogc,vajvkziajxövozmxexvixmcxvbzkvgvi oaöxc.vwjgövxjcxbxkavhkcxövxkvgvbakxkűxcxjvtgünúö.vgvjőxnaüóvö jögwjgvűanvű üo nvüxűvűxmcvűúőoqkü ,vdméö nvnqrrgjőcúccvgvüéovjlmlearxü,vűunvianmxvxkpűxmajőöxoxcc.vgööúmvgőcéüvbqcéjügövxmxoc,vgtúnóvwjgövgvkérgvrumcg,vűxüxöhkcvgvüéogjrdk.vüxö iénúccvgvmacxöüxö-űxőpöüxö,voxvúkógüvi tgmvamcxvqcúk,vtúnóvgk nvrumcviéüjőúmúnü .vxjcamxvűan jvxkamcvxnóvmúőőgücvö jvygmgjőctéő ödtúő.vúkógüviúkcvgővgvö jvtéő,vtúnóvgvbgkg vwjgövgőamcvékkcgö,vűxmcvűanvüxűvcqocéövxktgcémúőü ,vűxmmxvopkexüxö.vsnóvohtzünzccvgvjőak,vtúnóvgvö jögwjgvkxhkcvgvbgmöémg,vjvgvbzkotzővcéűgjőöúoúcc,vüxtúnóvxkmzyucjxvgvi tgm.vgtúnóvúccviémcgvgvjőakvjőxkuohkajac,vxküaőcxvgvmúőőgücvi jödc:vkéccg,vtúnóvgővgecgegvö búmoqkcvgővxnó övjgmúöigjrdk,vjvgvmajxüvayyxüvrxjqmmgütgcügvgvtéőrg.vsnóv jvcxcc.vgvmúőúngvtéő ödrgüvxnóvzmxngüódvakoxnakcvögüosmeéigkvűxnvcósöeéigk.vgvögüosmügöv-vgö cvgővgüódögvb gwjöéűügövüxixőxccv-vjúöbakxvcqoúűéüógviúkc:vbzkvcqocgvnzmrucxü vgvtécéc,vcqoúccvoúmúűrúkü ;vűanvjő ömécvtéüóü v j,vtgvi jjőéeémdkvj űúngccéövgvtécéc.vgvcósövwjgövgmmdkviúkcvüxixőxcxj,vtúnóvöqmcgvö jvkérgviúkc,vjvxőamcvgővgüódögvöqmcgvkérsvcósöúwjöéűügövrxwaőnxccx.v ngő,vxüüxöv jviúkcvxnóvcqoúűéüóg:vjőayvügnóvcúeéjúögcvcúeúcc;vgővgüódögvsnóvjőxmxccx,vtúnóvaoxjvnóxműxöacvjxvjőxmxctxccxviúkügveúrrgü.vgvtéőüayvwjgövmxnnxkvixccxvajőmxvgvö jvezixiaüóc.vgvűgwjögvtgünújvoúmúűrúkéjjgk,vgvcósövöémékéjjgkvexkxőcx,vtúnóv oxnxüvigüvgvtéőrgü.v-vű vgő?v-vcxö ünxcxccvözmhkvgővgüódög.vgőcéüvűxnkéccgvgvö jögwjéc,voxvűxmcvnózünxviúkcvgvjőxűx,vsnóvkéccg,vtúnóvxnóvjőay,vtuőúccvögwjgvcaixocvgvtéőérg.v-vxővgőcéüvgvjőxmxüwjx!v-vzmixüoxőxcc.v-vűújcvűgeovkxjővögwjgcúeéjvgvtéőüék.vtgvqnógüvüxűvnéwjam.vüú,vűgeovűxncqoeqö.vtémúűvtac nvkxjcxvgvö jögwjéc,voxvgővr őúüóvüxűvcúeúcc.vgvtéőrgüvgvögüosmviúkcvgővsm,vgvcósövyxo nvgvngőogjjőúüó.vxőviúkcvgvjőgiqöveéméjg:vű vöxccxüvűxnvgvi kénvűéj övbxkx!vűxmcvtécvgőcvt ccaö,vtúnóvpövgvi kénvxnó övbxkx,vűanyxo nvgveúrr ö.vgvö jögwjgvsnóviakcx,vtúnóvüxűvxnajőxüvxővgőv ngőjén,voxvgvcósövű üo nvkxcúmöúkcg:v-vcqojővcúeü ?v-vgőcvr őúüóvüxű!v-vgööúmvbúnovrxvgvwjpmzoxc.vgvögüosmvűxnvgőcvöamoxőcxvcpkx:v-vbzkvcqoúo-xvnzmrucxü vgvtécgogc?vcqojő-xvoúmúűrúkü vűxnvjő ömécvtéüóü ?v-vr őúüóvgőcvjxű!v-vgööúmvüxvxkkxüöxőővgővúöújgrrgöögk!vgvö jögwjgvtécvrxtsődoúccvgvjgmúörg,vajvúccvrsjkgöúoúcc.vűgngvjxűvcqocg,vű vhczccvrxka:vxnóvügyúüv nxüvűxnöuiéücgvgvbm jjvkxixnpcvűxnvgvügybaüóc;viuővqcéüviénógöúőúcc,vsjőü vjőxmxcxccviúküg.vgoo n-goo nvjdiémnúcc,vűunvianhkvö züczccxvjőuiacvgvcósöügö.v-vű vrgeúo?v-véűqkcvxkvgvcósö.v-vűémvrxkxt rrgücékvgvjxűű ccxiajrx!vcúeeékvcúeéjc,vignóvcgüqkevűxnvoúmúűrúkü ,vűxnkécúo,vö nódnóqkjővgvrúkúüojéng ordk!v-voxvű öúmvúkógüvügnójőxmlvsjőü !v-vétucúőúccvgvö jögwjg.v-vű kóxüvbxkjanxjvamőaj,vgű öúmvgviuővzjjőxwjgyvgvbxexűvbzkzcc,vgőcéüvsemgvbzkrqöögüúö!v-vügnóvakixőxcvkxtxc,vűúüotgcúű!v-vűúüocgvö wj üókpxüvgvcósö.v-vgk ntgüxűvűxntérúmúocék.vöamoxőovwjgövűxnvgvögüosmc,vpvgvkxnúöújgrrvékkgcvgvi kénúü.vöamoxőovűxn,vjőxmxc-xvsjőöékü ,viuőrxüvkqr wöúkü ?vűgngűmdkvüxűv jvrxjőakxö,voxvöamoxőovűxnvgővsmüpüöxc,vgővgüódöéc,vgö üakvgőcéüvwjgöqnógüvü üwjvúöújgrrvgvbzkozü,vzmzűacvkxküa-xvgővsjőöékéjrgü,vűxnvtúnóvgvtqkkéűúövzjjőxwjgyegügövgvbxexvbzkzcc?v-vüxű,vc vüxűvamctxccxövűxnvxünxű!v-vjdtgecúccgvgvö jögwjg.v-vö vamcvűxnvgööúm,vtgvű vjxű?vcgkéüvúöújgrrügövöayőxkxovűgngovgvögüosmüékvűxnvgővgüódöéüék,vtúnóvűgngűmdkvüxv jvrxjőakexö?vixmovö vgvbxexorpkvxőxöxcvgővújcúrgjénúögc,vjvözjőzüovűxnvgvcxmxűcpoüxö,vtúnóv kóxüvedvtxkómxvixőamxkc!v ccvűxkxnvjőúréovigüvjvúkógüvcémjgjénúo,vtúnóvxkanvrzkwjxjjanxcvcgüqktgcjő.voxvcxvtxcxc-tgigcvzjjőxtúmogjő,vűúüotgcúű,vüxűvözüüólvrúkoúnqkü vixkxo!vüxöxűvxkt txcxo,vtúnóvedgögmdovignóúö;vűxnűúüoúűvgőv ngőjénúc,vtgvüxöxovmújjőqkvxj öv j.v kóxüvgőv ngő vedvrgméc.vtécv nóxöxőő;vcgüqkevűxnvcúeéjcvcúeü ,vjő ömécvtéüóü ,vignóvkxngkérrvoúmúűrúkü !v-v üöérrvö űxüüaövgvűxjjő vi kénrgv-vűúüocgvjdiémúnigvgvö jögwjg.v-vtécvwjgövxmxoe,vtgvü üwjvűgmgoéjúo!v-vűamnxjxoxccvűxnvgvcósö.vüxö v jviénúccvgvö jögwjgvgvűxjjő vi kénügö;vjúöviuőxüvsjőöékc,vöxoiamxvrqöoéwjúktgcúcc,vgvczrr vékkgcvraöarxüvtgnócg,vűxmcvúkógüv nxüvmscviúkc.vűxnamöxőxccvgővpjő,vwjqygvmúőjogvűxnvgmgüóvkxccvgővxmop,vjőakvűgmöúkcvgvkxixkxörx,vajvűxnbúmngccgvpöxcvgvkxixnprxü.vúogbzüüvgvűgngjrgüvxnómxvt oxnxrrvkxcc,veanjőxűxö,vtdy taövüxtxőucxccaövgvjőhmöxvbxktpöxc,vjvxnóvygkéüövcxcxeaüvnóéjőújvtgünúüvö ékcúccgvxnóvtúkkd:vöém!vöém!vgö vtgkkúccg,vian nvjőgkgocvgvt oxnvgvtécéü.vöúűúmvkxccvgvűxjjő vi kénvgvjőxnaüóvö jögwjgvözmhk.vxnóvxjcxvwjúoékgcújvjőuüxörxüvrqöúccvkxvgvügy,vjvgvmdőjéjvbaüórxüvxnóvjxmxnvyúűyéj,vügnóvűgoémvjőékkcvbzkvxnóvrúömújrdk.vgvö jögwjgvűanvjútgjxűvkécúccvxbbakxvűgogmgögc:vmgnóúndvbxtamviúkcvgvcúkkqö,vgvüógöqövögmwjsvajvjőayxüvuixkpv-vtgccósöviúkcgö.vöhkzüzjviúkcvgvtgüneqöv j,vgőv j,vgtúnóvűxnkxüoucxccaövögmwjsvjőémüóqögc,vajvjőékkcgövgvt oxnvanvgkdkvűxkxnvanvgké,vcxünxmxövygmceémg.vűgngjgüvmxyhkcxö,v nxüvűgngjgü,vjvgvmscvö jögwjécvöhkzüzjvamőajveémcgvéc,vjőaoxkxnixvbúmnúccvgviuőrxü,vüógöécvüósecúngccgvgvyúűyéjvűgogmgövqcéü,vjvbxkm öúkcúcc,voxvúkógüvbqmwjgvtgünúü,vtúnóvűgngv jvűxnmaűhkcvcpkx.vüxűvcqoúccvűéjmgvnúüoúkü ,vwjgövgvmgnóúndvcúkks,vrúkoúnvűgoémjxmxnmx;vgű öúmvxkclücxövgvjőxűxvxkpk,vkxrqöúccvgvűakórx,vjvgű öúmvbxkűxmhkc,vxnajőxüvöhkzüzjvamőajxövöxmucxccaövtgcgkűqörg.vgvüxihöxcvjxűvcqocgvgőúöügövgvűgogmgöügö;vgőcvjxvjxecxccx,vtúiévmxyhkcxö,vűan jvsnóvűxnjőxmxccxvpöxc,vű ücvűanvjxüö cvgvi kénúü.vüxűv m nóxkcxvpöxc,vtúnóv jviénógöúőtgcúccviúkügvgmmg,vtúnóvtgjúükdvkxnóxüvtúőőéeqö!vt jőxüvgőőgkv jvrxamcxviúkügvgvjőxnaüó,vmscvö jögwjg,vtgvgvrgmúűb qoigmvüayxvűxnclm !vgőcéüvkxtqkkúccvgvtd,vrxözjőzüczccvgvt oxn-t oxnvcak.vgvö jögwjéügövjőgögogckgüvsjőöékü gvöxkkxcc,vtúnóvrxvüxvbgnóeúüvözmhkzccxvgviuő,voxvgvkaö,vgtúkvsjőöékc,vű üoxüvaeexkvöxjöxüóxrrvkxcc.vúkógüvöxűaüóvt oxnviúkc,vtúnóvgveanvmúyúnúcc,vű ücvgővhixn,vjvgvö jögwjgvűémvgvkéréigkvczmznxccxvgvkaöviaöúüóveantémcóéeéc.vgvianaüvű üoxüvxmxexvxktgnócg,vjvrxkxbgnóúccvgveanrx.vűéjügyvmxnnxkvxnóvygmgjőcvűxücvgmmg,vűxnkéccg,vbgrúwjöúméigkvbzkczmcxvgvexnxc,vajvtgőgi ccxvgvö jögwjécvgvbxkxjanaüxö.vúccvgvűxkxnrxüvgőcéüvbxkakxocvgvoxműxocvö jvedjőén.vgvnóxmxöxöveécjőgü vgögmcgövixkx,voxvgvö jögwjgvgőcvt ccx,vtúnóvpöv jvréücgü vgögmeéö,vm gocgüvbzkmzyyxüc,voxvxnóxüxjxüvgvcxexjvözwjznrxvxjxcc,vajvjőackúwwjgücúccgvrxkpkxvgvcxexc.vgővgjjőúüóvjéyucúőúcc,vzjjőxwjgycgvgvöxőac;vgvö jögwjgvgööúmvgvigegjrzozürxvmzyhkcv exocarxü,vúüügüvgvk jőcxjjőqjőaörg,vjvsemgvö .vd,v jcxüxű,vű kóxüvcayéőúccgüvöxmhkcvxkp!vgővgjjőúüóvűamnxjxüviéncgvqcéügvgvy jőögigjgc,vgvnóxmxöxövxnóűéjvtxnóaü-técéüvmútgücgö,vtúnóvűxnbúneéö,vögwgncgövajvi júüncgö;vjőxmxüwjx,vtúnóvgővgecdvüó cigviúkc,vjvgvjőxmxüwjackxüvö jögwjgvö űxüxöhktxcxccvgvrúömúövgké,vgvbm jjxüvxjxccvtdrg.vúccvö űxmhkcxüvkxmújögoc.vügnóúüvjőuibéeoucdviúkügvxkűúüogü ,vűxüüó vuüjanvűxnvüóúűúmsjénveqcúccvgőúüvgvöxűaüóvcakxüvgvjőxnaüóvmscvö jögwjéügö!vgőcéüvianmxvö jhczccvgvedvűxkxnvügy,vygwj mcgvjőéücúccgvgővxnxcv-vcgigjőviúkc!vgvö jögwjgvúccvbxöhocvgvüéovözőzcc,vgtúkvcgüóécvixmc.vxnójőxmmxvwjgövö cxmexjőcxccxvgvjőémüóéc,vajvjqtúnigvbxkkxüohkcvgvűgngjrgvmxyhkc!vűanvűgnétúővjxűvcamc,vxnóvyúűyéődvöxmcrxüvcgkékcgvűgnéc,vgtúkvgkűgbéövi mqkcgö,vúmnúügrúömúöv kkgcúőcgö,vjvtújjős,vőzkovéng ögcvögüógmndvygcgövi őxvbzkavüósecúccéö.vű kóxüvjőay,vű kóxüvhoxviúkcv ccvgvcgigjő!vgviuőmxvtgekdvéngövözőhkvtémúűvnózüózmlvtgccósvj ökúccvxkp;vtdbxtamvcúkkqövtgkögüvő őxnxcc,vjvözüüóxoaüvm üngcdőcgövgvygcgörgü.vgvmscvö jögwjgvcqocgvűémvgvyúűyéjvűgogmgövüxiac,vjvűújcvügnóúüvűxnjgeoqkcvgvjőuix.v-vkxjőékkúövözőacxö,vö mékó vűgogmgö!vgőcvjxvréüúű,vtgvtgkékmgvignogkcúö,vgű amcv kóxüvmscvkacxűmxvözőacxövűxmajőöxocxű!v üöérrvc vzkexcxövűxn,vű ücvögwjéövwjuyexüxö,vcósöúöviénegügö,vjőúknékdvmqnoújjúü,vignóvgvöxnóxckxüvcakvianxőőxüvixkxű!v-vgőőgkvkxcxkxyxoxccvgvygcgövi őamx,vjvgvtgccósövbxkavsjőúcc.vgőúövajőmxixccaö,vajvj xcixvj ökúccgövxkarx.v-vwjgövzkexcxövűxn!v-vűúüocgvgvjőxnaüóvö jögwjg,vajvbxeacvgviuőchözmmxvtgecúccg,vsnóviémcgvgvtgkékc.voxvű cvy kkgücúccvűxnvgvc jőcgviuőrxü?vüxűvgvtgeogü v oúűcgkgü,vjőhmöxvcúkks,vmscvö jögwjgvöayac,vtgüxűvxnóvyúűyéj,vnózüózmx vtgccósacv-vcqkgeoúüvöayxvűéjéc.vtgvigkgö vtgccóscúeéjrdkvöxkvö ,vtgccósvűgmgo,vtgvrgmúűb üayvözőzccvüxixkpo öv j!vűújcvűémvzmhkcvgvtgccós,vtúnóvgüüó vrgecvajvüóúűúmsjénúcvamc;vunóvcqocgv ngőéüvamcaöxkü vgvrúkoúnjénúc.vtgccóscémjg vözmarxvnólkcxö,vnózünaoxüvj űúngccéövwjpmhööxk.vnóxmxöxövjőgkgocgövgvöxmcrx,vűúmőjécvűxnvrsőécvixcxccxövgviuőrx,vjvgvkxnö jxrrvunóvö ékcúccvbxk:v-vüaőőacxö,vsevtgccós!v-vajvgvczrr xövixkxvzmixüoxőcxö:v-vsevtgccósvamöxőxcc!vcgyjúkcgö,vqnmékcgövzmzűhörxü,vbqcúccgövgyeqöamc,vgüóeqöamc,vbxtamvöxüóxmxcvűxnvögkéwjúcvjődmcgövgviuőrx,vajvgőcvtgecúngccéö:v-vxővgvkxnjőxrr ö,vxővgővse.vúkógüvb gcgkvajvúkógüvnózüózmlxövgvtdbxtamvcúkkg !vajvgővzmxnvtgccósövbxexcvtgecúccgövgvtgeogü vmscvö jögwjgvxkpcc.vgvb gcgkvtgccósvgőcvjxvcqocg,vtúiévkxnóxüvgvügnóvűxnc jőcxkcxcajcpk.vbxeacvgvjőémüógvgkévoqncg,vsnóvűxnjőanóxüucxccxvgvo wjamxc.vrúkoúnviúkc,vügnóúüvrúkoún,voxvűanjxűvbqigköúoúccvbxk,vűxmcvgvedvjőuivjútgjxűvöxiakó.vgmmgvnúüoúkc,vűxüüó cvhkozőcaövajvwjsbúkcéö,vűújcvyxo nvű üoxüö vgvjőayjanxjvűgogmgövkxnjőxrr öaüxövűúüoeg.vgővúmnúügrúöúmvéng vkxtgeúkcgövtúőőé,vűxnj űúngccéö;vűxkxnxü,vüóéegjgüvjhczccvgvcgigjő vügy,vjvgvb gcgkvtgccósvjőuixvwjúmoqkc nvcxkcvzmzűűxk.vűxnméőcgvb üúűvcúkkg c,vögmwjsvüógöécvűgngjmgvxűxkcx,vjvbúmmdvtékéigkvűúüocg:v-vékűúoü vjxűvűxmcxűviúkügvxüüó vrúkoúnjénmdk,vgű öúmvűanvmscvö jögwjgviúkcgű!v'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. feladat\n", "Készítsd el az Enigma rejtjelező gépet pythonban. Az Enigmát a Második Világháborúban használták a németek. Körülbelül úgy nézett ki mint egy írógép, amibe beleszereltek három forgó tárcsát. Betűnként rejtjelezett, ha megnyomtad egy billentyűjét, akkor egy kis lámpa jelezte, hogy milyen betűt kell leírnod helyette. Itt egy egyszerűsített rajz a belső működéséről. \n", "\n", "![enigma](http://damasdigabor.web.elte.hu/python/beadando1/enigma.JPG) \n", "\n", "A gép úgy működött, hogy a betű lenyomásával az áram végighaladt egy vezetékekből álló rendszeren, és ahová eljutott, ott kigyulladt egy lámpácska. Először egy kapcsolótáblán haladt át, ami megkeverte a drótokat. (azaz egy fix permutációjának felel meg). Aztán áthaladt három tárcsán. Ezek a tárcsák is egy-egy keverést adnak meg, csak a gép működése közben ezek változni fognak. Aztán egy visszafordítóba futott, ami párokba állította a drótokat és visszaküldte az áramot egy másikon. (Aza egy bijekciónak felel meg). Ezután visszafelé átfutott újra a három tárcsán és a kapcsolótáblán. Így visszaért egy billenytűhöz, és az ahhoz tartozó lámpa felgyulladt. Például a kép azt ábrázolja, hogy a `b` billentyű megnyomására a `c` lámpa fog felgyulladni. \n", "\n", "Ha a gép csak ennyit csinálna, akkor ez persze nem volna más csak egy behelyettesítő ábécé. Viszont minden billentyű ütés után a tárcsák állása megváltozott. Az első ütésnél az első tárcsa egyet tekerődött, azaz minden drót körkörösen arrébb ment egyel. Az előző ábrán lévő állásból például ez lett:\n", "\n", "![enigma2](http://damasdigabor.web.elte.hu/python/beadando1/enigma3.JPG) \n", "Itt már a nem a `c` fog világítani, ha lenyomjuk a `b` gombot, hanem a `d`. Az első tárcsa minden gombnyomásra lépett egyet. Amikor az első tárcsa már annyit lépett, hogy teljesen körbe ért, egyet lépett a második tárcsa is. Mindig, amikor a második körbeért, lépett egyet a harmadik tárcsa is. Így az összes lehetséges tárcsa pozíción végigmentek a tárcsák és csak utána kezdődött előröl az egész. Tehát a kapcsolótábla és a visszafordító fixen marad a működés során, a tárcsák pedig különböző sebességgel forognak. \n", "\n", "Készíts egy programot, ami megvalósítja az enigma kódolást. A feladatott objektum orientáltan kell megoldani. \n", "- Készíts egy `AltalanosTarcsa` osztályt, aminek legyen három alosztálya: `KapcsoloTabla`, `ForgoTarcsa` és `Visszafordito`.\n", "- Készíts egy `Enigma` osztályt, amelynek minden példánya egy enigma gépet valósít meg. Tartalmazza a tárcsákat és azok állását, és a hozzá tartozó tárcsák segítségével képes elkódolni egy szöveget. \n", "- Az elkódolást az Enigma osztály `elkodol` metódusa valósítsa meg. \n", "- Rád bízom a részleteket, például, hogy milyen ábécével dolgozol. \n", "\n", "(Bónusz: Gondold meg, hogy ha tudjuk, hogy milyen tárcsákkal dolgozott a gép, azok milyen állásban voltak és a titkosított szöveget is, akkor hogyan nyerhető vissza az eredeti szöveg.) \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }