Fejtörő (2012-2013)

Mókás, de direkt dögnehéz programozási feladványok Spectrumra...
Avatar
Pgyuri
Alapító tag
Hozzászólások: 597
Csatlakozott: 2012.01.06. 12:34

Fejtörő (2012-2013)

Hozzászólás Szerző: Pgyuri »

A rejtélyes idegen

Eljött az év vége. Szépen lassan odaballangunk a vitrinhez és elővesszük öreg barátunkat, kedvenc gumibillentyűs ZX Spectrum számítógépünket. Meghatottan csatlakoztatjuk hozzá az antennakábelt, aztán magnónkat és a tápegységet, míg végül a bekapcsolás után behangolva a tévét, megjelenik a szívünkbe örökre beégett felirat:

(c) 1982 Sinclair Research Ltd

Töprengünk, mit is csináljunk, miközben kibontunk egy dobozos kólát és odanyúlunk a következő pizzaszeletért. Halk zizegés közben figyeljük a tévé képernyőjét. Egyszer csak az ajtó felől oly hatalmas fényesség támad, hogy csak homályosan látjuk, midőn egy elmosódott alak áll a fénysugarak közepén.

"Fiam" - szólal meg égi hangon - "Bizonyítsd be, hogy igazi programozó vagy és írj meg egy BASIC programot, amely "BUEK"-kal köszönt, majd 0-tól folyamatosan, egyesével elszámol 2013-ig! Éjfélig le kell futnia számítógépeden, különben ..."

És miközben felénk int karjával, minden elhalványul, újra elcsendesül a szoba. Döbbenten nézünk körbe, egy pillantás az óránkra: "23:32"

Nem sok időnk maradt, de valamiért úgy érezzük, meg kell tennünk, amire kért. Hamar megírhatjuk a programot, pár sor aztán mehet. Azonban az első gombnyomások után már érezzük, valami nincs rendjén. Ó, jaj! Csak nem a fólia ment tönkre? Sajnos néhány gomb nem akar működni. Végignyomjuk hát az összeset, lássuk, mi a helyzet.

123_567890 QWER_YUI_P _SD_GH_K_ ZXCVBNM

Szerencsére a legtöbb gomb működik, az ENTER és a SYMBOL SHIFT is, de a "4"-es, a "T", az "O", az "A", az "F", a "J", az "L" és a "SPACE" nem reagál. Az időnk fogy, alig 20 percünk maradt.

Minden a kezünkben van és csak egy lehetőségünk maradt ...
Avatar
mopi
Alapító tag
Hozzászólások: 47
Csatlakozott: 2012.01.09. 12:18

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: mopi »

Vajon lehet-e közvetlenül a Basic tárterületre írogatni utasítások tokenjeit? Vagy megoldani gépi kódban, és DATA sorokban beírni a kódot?
Avatar
Zozosoft
Speccyalista
Hozzászólások: 805
Csatlakozott: 2012.01.06. 13:03
Kapcsolat:

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: Zozosoft »

mopi írta:Vajon lehet-e közvetlenül a Basic tárterületre írogatni utasítások tokenjeit? Vagy megoldani gépi kódban, és DATA sorokban beírni a kódot?
Lehetne, de az O gomb kizárásával nincs POKE...
Avatar
stp
Hozzászólások: 32
Csatlakozott: 2012.01.06. 13:39
Tartózkodási hely: Debrecen

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: stp »

Zozosoft írta:Lehetne, de az O gomb kizárásával nincs POKE...
És az A gomb kizárásával nincs READ. :)
Avatar
mopi
Alapító tag
Hozzászólások: 47
Csatlakozott: 2012.01.09. 12:18

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: mopi »

Tulképpen a dobozos kólából vékony fémcsíkokat kell akkor vágni ollóval. 8+5=13 db-ot, és beletűzködni a szétszerelt gépen a fóliacstlakozóba. Ha bekapcsoljuk, akkor elég összérinteni a megfelelő párokat, hogy előjöjjön a billentyűzetmátrixon a kívánt billentyűzet.

Nem a legelegánsabb megoldás, sőt... Még veszélyes is, de most jobb ötletem nincs. (lehet, hogy nem a billentyűfólia a hibás, így elképzelhető, hogy ez sem vezet eredményre)
Avatar
mopi
Alapító tag
Hozzászólások: 47
Csatlakozott: 2012.01.09. 12:18

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: mopi »

Komolyodjunk!

A for next ciklus hiány nem probléma, kiváltható if then goto utasításokkal.
A print is megy, az sem gond, de a változó növelése nem járható LET nélkül.
Esetleg 2013 print egymás után, de ezt megírni az idő hiányában nem lehetséges. Hacsak nem valami önprogramozó megoldással nem.
Avatar
makranc
Hozzászólások: 266
Csatlakozott: 2012.01.11. 10:00
Tartózkodási hely: Budapest, III.

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: makranc »

mopi írta:Tulképpen a dobozos kólából vékony fémcsíkokat kell akkor vágni ollóval.
Nekem nagyon tetszik ez a megoldás!
:-)

DEF FN függvénnyel lehet olyan sorozatot produkálni, ahol az elemek értéke eggyel növekszik.
A kiíratás paraméterezését kellene még megoldani...

DEF FN a(n)=n+1

PRINT FN a(?)
Avatar
Zozosoft
Speccyalista
Hozzászólások: 805
Csatlakozott: 2012.01.06. 13:03
Kapcsolat:

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: Zozosoft »

makranc írta: DEF FN a(n)=n+1
L gomb hiányában nincs = se!
Avatar
makranc
Hozzászólások: 266
Csatlakozott: 2012.01.11. 10:00
Tartózkodási hely: Budapest, III.

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: makranc »

Zozosoft írta:L gomb hiányában nincs = se!
Akkor ez is zsákutca.
:(
Avatar
Zozosoft
Speccyalista
Hozzászólások: 805
Csatlakozott: 2012.01.06. 13:03
Kapcsolat:

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: Zozosoft »

SCREEN$-ral lehetne kezdeni valamit, a képernyőre kiírt, majd visszaolvasott adat lenne a változó maga. Csak a VAL is ki van zárva, így a növelésre még nincs ötletem...
Lezárt

Vissza: “Feladványok, fejtörők”