Fejtörő (2014-2015)
Fejtörő (2014-2015)
Kedves Spectrum Programozó!
Lehullott a hó és eljött az év végi fejtörő ideje. Most nem kell majd sorok közt olvasnod, rejtélyes trükkökre gondolnod, csak egyszerűen gépeld be a programot és azonnal futtathatod. Az eredményt megcsodálhatod, bár Te, mint igazi BASIC rajongó, nem lehetsz majd elégedett vele. Kaphatnád feladatként, hogy mit kell tenni ahhoz, hogy az ajándék hibátlan legyen, de talán túl nehéz lenne a feltörés. Így tehát inkább eláruljuk:
A 40. és 60. programsorok közé írj egy "egyszerű" programrészt, amely a READ utasítással beolvasott értéket megtükrözi. Igen, jól olvastad, nem elírás, tehát nem megtrükközi, hanem megTÜKRÖZI. Hogyan is értsd ?
Egy byte 8 bitből áll, amely 0 és 255 közti értéket kaphat az alábbiak szerint:
10110010 = 1*128+0*64+1*32+1*16+0*8+0*4+1*2+0 = 178
ez tükrözve
01001101 = 0*128+1*64+0*32+0*16+1*8+1*4+0*2+1 = 77
Találd ki, hogyan oldod meg és küldd be a megoldásod, de kizárólag BASIC programsorokat írj, gépi kódú program hívása nem engedélyezett. A helyes megoldások közül bemutatjuk a legszebben, áttekinthetőbben megírt programrészt, de külön díjazzuk a trükkösebb megoldásokat, a fő díj pedig a leggyorsabban lefutó és mégis hibátlan eredményt adó program íróját illeti meg. Ennek eldöntéséhez a program a futás végén kiír egy számértéket, amelynél a legkisebb érték győz.
Elő a gumigombokkal, programozásra fel!
Lehullott a hó és eljött az év végi fejtörő ideje. Most nem kell majd sorok közt olvasnod, rejtélyes trükkökre gondolnod, csak egyszerűen gépeld be a programot és azonnal futtathatod. Az eredményt megcsodálhatod, bár Te, mint igazi BASIC rajongó, nem lehetsz majd elégedett vele. Kaphatnád feladatként, hogy mit kell tenni ahhoz, hogy az ajándék hibátlan legyen, de talán túl nehéz lenne a feltörés. Így tehát inkább eláruljuk:
A 40. és 60. programsorok közé írj egy "egyszerű" programrészt, amely a READ utasítással beolvasott értéket megtükrözi. Igen, jól olvastad, nem elírás, tehát nem megtrükközi, hanem megTÜKRÖZI. Hogyan is értsd ?
Egy byte 8 bitből áll, amely 0 és 255 közti értéket kaphat az alábbiak szerint:
10110010 = 1*128+0*64+1*32+1*16+0*8+0*4+1*2+0 = 178
ez tükrözve
01001101 = 0*128+1*64+0*32+0*16+1*8+1*4+0*2+1 = 77
Találd ki, hogyan oldod meg és küldd be a megoldásod, de kizárólag BASIC programsorokat írj, gépi kódú program hívása nem engedélyezett. A helyes megoldások közül bemutatjuk a legszebben, áttekinthetőbben megírt programrészt, de külön díjazzuk a trükkösebb megoldásokat, a fő díj pedig a leggyorsabban lefutó és mégis hibátlan eredményt adó program íróját illeti meg. Ennek eldöntéséhez a program a futás végén kiír egy számértéket, amelynél a legkisebb érték győz.
Elő a gumigombokkal, programozásra fel!
- Csatolmányok
-
- FEJTORO.TZX
- (6.88 KiB) Letöltve 68 alkalommal.
Re: Fejtörő (2014-2015)
Nekem 522 jött ki. (A tippet mailban küldtem)
Re: Fejtörő (2014-2015)
Miután már 2 helytelen megoldás is érkezett, egy példát mutatnék be:
00000001 = 1
tükrözve
10000000 = 128
00000001 = 1
tükrözve
10000000 = 128
Re: Fejtörő (2014-2015)
178-77 példa nem a volt a legjobb, mert az nem csak a fenti tükrözésre példa,Pgyuri írta:Miután már 2 helytelen megoldás is érkezett, egy példát mutatnék be:
00000001 = 1
tükrözve
10000000 = 128
hanem arra is, ha 0-t és 1-t felcseréljük.
Re: Fejtörő (2014-2015)
Szerintem tökéletes példa volt, mert sikerült is belesétálni a kézenfekvőnek látszó, de hibás megoldásba ... 

Re: Fejtörő (2014-2015)
Nem zártad ki a tükrözés másik módját az eredeti leírásban, akkor miért lenne az helytelen?Pgyuri írta:Szerintem tökéletes példa volt, mert sikerült is belesétálni a kézenfekvőnek látszó, de hibás megoldásba ...
Lett egy 112582-megoldás, ennél biztos lesz jobb.
A hozzászólást 2 alkalommal szerkesztették, utoljára makranc 2014.12.29. 18:33-kor.
Re: Fejtörő (2014-2015)
Lett jobb, most 1725-nél járok.


Re: Fejtörő (2014-2015)
Üdv,
Eddig makanc barátunktól érkezett számos, érdekes és jó megoldás, de ha bárkinek van kedve, január 8-ig nem publikálom az eredményeket, így nyugodtan beszállhat.
Kategóriák:
- legszebb, áttekinthetőbb megoldás
- leggyorsabb megoldás
- váratlan, trükkös megoldás
- elvont megoldás
Pgyuri
Eddig makanc barátunktól érkezett számos, érdekes és jó megoldás, de ha bárkinek van kedve, január 8-ig nem publikálom az eredményeket, így nyugodtan beszállhat.
Kategóriák:
- legszebb, áttekinthetőbb megoldás
- leggyorsabb megoldás
- váratlan, trükkös megoldás
- elvont megoldás
Pgyuri
-
- Alapító tag
- Hozzászólások: 352
- Csatlakozott: 2012.01.09. 18:18
- Rádióamatőr hívójel: HG5BMU
- Tartózkodási hely: Surány
- Kapcsolat:
Re: Fejtörő (2014-2015)
Javaslom kategóriának a legrövidebb kiegészítést.
Persze el kell dönteni, hogy utasításszámban, karakterszámban, gombnyomásban, vagy memóriában elfoglalt méretben számolunk.
Továbbá Pgyuri "érdeme", hogy először használtam komolyabban emulátort, az eredeti vas helyett, de azért az utasítások megtalálásának könnyítésére kitettem magam mellé egy gumibillentyűset a monitor mellé.
Persze el kell dönteni, hogy utasításszámban, karakterszámban, gombnyomásban, vagy memóriában elfoglalt méretben számolunk.
Továbbá Pgyuri "érdeme", hogy először használtam komolyabban emulátort, az eredeti vas helyett, de azért az utasítások megtalálásának könnyítésére kitettem magam mellé egy gumibillentyűset a monitor mellé.
Re: Fejtörő (2014-2015)
Memóriában elfoglalt hely szerintem azért nem célszerű, mert akkor tele lesz a program VAL"0"-val.csaba írta:Javaslom kategóriának a legrövidebb kiegészítést.
Persze el kell dönteni, hogy utasításszámban, karakterszámban, gombnyomásban, vagy memóriában elfoglalt méretben számolunk..
Továbbá Pgyuri "érdeme", hogy először használtam komolyabban emulátort, az eredeti vas helyett, de azért az utasítások megtalálásának könnyítésére kitettem magam mellé egy gumibillentyűset a monitor mellé.
Ha Spectaculator-t használsz, Shift+F1-re megjelenik a Speccy-billentyűzet.