Fejtörő (2016-2017)

Mókás, de direkt dögnehéz programozási feladványok Spectrumra...
csaba
Speccyalista
Hozzászólások: 190
Csatlakozott: 2012.01.09. 19:18
Rádióamatőr hívójel: HG5BMU
Tartózkodási hely: Surány
Kapcsolat:

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: csaba » 2017.01.09. 11:40

Az ígért magyarázat a harmadik programhoz.

Az első fele az egyszerűbb.
Az 5 véletlenszám változóját binárisan tároljuk az B$,C$,D$,E$,F$ stringekben.
Azért külön, hogy egymástól véletlen értékeket adjanak
A 10 sorban az indulási értékeket állítjuk be.
20-60-ig hatszor hívjuk a 100-as sor szubrutinját, előtte az aktuális stringet beírjuk az A$-ba, a rutin ezt módosítja, számol belőle egy decimális számot 0-31 tartományban amit az A változóban ad vissza.
A módosított A$ -t visszaírjuk az aktuális helyre és az "A" 0-31 tartományt átszámoljuk a színek és print poziciok számára szükséges tartományokra.
A 35-sorban az azonos papír-tinta színnel írást kerüljük el, úgy, hogy új értéket számoltatunk.
A 80-90 kiírjuk a változók szerinti helyre és színekkel, meg hanggal a kívánságunkat.

A véletlenszám generátor:
Az A$ stringben tárolt bináris szám első bitje a felső, az utolsó az alsó helyiérték.
Az módszer szerint két felső bit XOR művelet eredményét beírjuk az alsó bitre(110 és 120), és egy bit mozgatást(130) csinálunk a felső irányba.
A 150-sorban a bináris értékből számolunk decimálisat.
A 100-sor furmányosság nélkül ez csak álvéletlen értéket ad, tehát minden indulás azonos képet eredményez, sőt még némi mintázatot is felfedezhetünk a képekben.
Ebben a sorban egy a címezetlen adatbuszról beolvasott véletlen érték függvényében számítunk két módszerrel XOR és NXOR az A$1,2 vagy 1,3 bitek összehasonlításával (110, 120).

Avatar
Pgyuri
Speccyalista
Hozzászólások: 485
Csatlakozott: 2012.01.06. 13:34

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: Pgyuri » 2017.01.09. 11:57

Ehhhh....kemény egy megoldás :) lesz ennél egy puhább is!

Ettől függetlenül a címezetlen portról olvasás véletlenszám előállításához egész szép trükk! Érdekes, hogy számítógépek esetén mindig csak álvéletlen számokról beszélünk, de ha létezik olyan elektronikai berendezés, amely a kiszámíthatatlansági tényezőjével mérhetetlenné, megjósolhatatlanná teszi értékét, akkor az egész jó...pl a ROM program is indulás után inicializálhatta volna a véletlen rendszerváltozók értékét ilyen portról olvasással. Nyammm, mindig lehet tanulni!

csaba
Speccyalista
Hozzászólások: 190
Csatlakozott: 2012.01.09. 19:18
Rádióamatőr hívójel: HG5BMU
Tartózkodási hely: Surány
Kapcsolat:

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: csaba » 2017.01.09. 14:40

Az RND-is csak emberi időben véletlen, ha 1/50 másodperc pontossággal indítjuk bejelentkezés után a programunkat ugyanazt a sorozatot kapjuk. (mint ha program elején RANDOMIZE n -t állítunk be)
Komolyabb rendszerekben külön számítógép matekozik a véletlenszámok előállításán.
Van olyan megoldás is, ami egyes elektronikai alkatrészek termikus zaját felerősítve és digitalizálva állít elő véletlen sorozatot.

Kiki
Speccyalista
Hozzászólások: 35
Csatlakozott: 2012.01.09. 01:26

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: Kiki » 2017.01.10. 23:13

Gyurinak azért csak sikerült elérnie, hogy törjem a fejem a probléma megoldásán. Ügyes, ügyes. Programozói tudásom hiányát és Gyuri furmányos feladványait ismerve elképzelhető, hogy a feladat megoldása valójában nem programozás technikai oldalról, hanem tényleg irodalmi módon megközelítendő, mivel szerinte még én is meg tudnék birkózni vele.

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 ... egy röpke pillanatra valami átfut körülöttünk, mintha csak a szemünk remegett volna meg, de látszólag semmi nem változott meg ... begépelünk pár sort rutinosan.

A dobozos kóla egy részét a CRT-re, a másik részét a Speccybe önteném. Így meglennének a színek (a folyadék a CRT felületén igen látványos szivárvány színkavalkádot képes produkálni), és a hang is ugrálna egy darabig.
De egy kicsit úgy érzem, hogy ez túl romboló hatású megoldás lenne, és Gyuri galamblelkét ismervén, vélhetően nem ilyen megoldást vár el.

Gondolkodom még kicsit...

Avatar
Pgyuri
Speccyalista
Hozzászólások: 485
Csatlakozott: 2012.01.06. 13:34

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: Pgyuri » 2017.01.12. 15:38

Üdv,

Nem sikerült közelebb kerülni a megoldáshoz, pedig ott van az orrunk előtt :) Holnap zárás, érkezik a megoldás!

Pgyuri

Avatar
Zozosoft
Speccyalista
Hozzászólások: 726
Csatlakozott: 2012.01.06. 14:03
Kapcsolat:

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: Zozosoft » 2017.01.12. 15:40

Pgyuri írta:érkezik a megoldás!
Már nagyon várom! Tuti, hogy valami pofonegyszerű valami lesz, amire senki nem gondolt! :-)

hpeter
Web Team
Hozzászólások: 37
Csatlakozott: 2012.01.07. 00:25

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: hpeter » 2017.01.13. 02:01

Mellékelek egy megoldást, ami majdnem minden követelményt - véleményem szerint - kielégít! :)
Lehet, hogy 25 éve még 2-3 perc lett volna, de vért izzadtam a billentyűzettel és a finomítás a megvalósításnál jóval több időt vett el.
Csak ennyire futotta: Spectrum SzínFóbia ROM tartalomra. BUÉK mindenkinek!
Érdeklődve várom Gyuri 1000x elegánsabb megoldását!
Csatolmányok
speccy.png
buek_gyuri.z80
(3.31 KiB) Letöltve 10 alkalommal.

Avatar
Pgyuri
Speccyalista
Hozzászólások: 485
Csatlakozott: 2012.01.06. 13:34

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: Pgyuri » 2017.01.13. 10:47

Üdv,

Milyen érdekes, hogy hpeter ugyanolyan megoldást dolgozott ki, mint Csaba, de tőle függetlenül (beszéltem vele, nem is látta Csaba első megoldását a ROM peek-eléssel).

A mai nap még hosszú, hátha lesz megfejtőnk! Tessék véletlennel megoldani a problémát!

Pgyuri

hpeter
Web Team
Hozzászólások: 37
Csatlakozott: 2012.01.07. 00:25

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: hpeter » 2017.01.14. 01:53

Hát akkor lássuk a mackót! :lol:

Avatar
csege
Speccyalista
Hozzászólások: 217
Csatlakozott: 2012.01.06. 15:15
Tartózkodási hely: Föld.Naprendszer.Tejút

Re: Fejtörő (2016-2017)

Hozzászólás Szerző: csege » 2017.01.14. 04:54

Kód: Egész kijelölése

10 REM Itt toporgunk álmatlanul, izgalomtól telve,
Pgyuri meg csendesen alussza álmát.
(Néha álmában felkuncog, hogy megint milyen csalafintasággal fogja -egyszer, majd- borzolni népes olvasótáborának zilált idegeit, 
 és jóizűen alszik tovább. )
20 GOTO 10
RUN
ENTER

Válasz küldése

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég