Fejtörő (2012-2013)

Mókás, de direkt dögnehéz programozási feladványok Spectrumra...
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:
stp írta: A probléma az, hogy ugye VAL nincs, és minusz jelünk sincs, hogy a CODE SCREEN$(y,x)-ból kivonjunk 48-at. Esetleg erre lehetne vmi trükköt kitalálni.
Ez meg volt nekem, kerestem valamit, ami negatív eredményt ad, SGN-el meg is van a -1:
CODE(SCREEN$(1,0))+SGN(COS(90))*3*16 (4-esünk sincs)
Ez nekem is meglett, bár a 4-esre nem gondoltam. De radiánban kell számolni:
CODE SCREEN$(1,0)+(COS PI*3*16)
A következő probléma, hogy mint kiderült, a SCREEN$ egy kifejezésben többször használva mindig a legutolsó értéket veszi fel.
Kiki
Hozzászólások: 35
Csatlakozott: 2012.01.09. 00:26

Re: Fejtörő (2012-2013)

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

Csipetke írta:Bemelegítőnek ajánlom az alábbi kis rejtvény megfejtését:

Rita apjának 5 lánya van.
A születésük sorrendjében az alábbi neveket kapták:


1. lány neve: Kah
2. lány neve: Keh
3. lány neve: Kih
4. lány neve: ?
5. lány neve: Kuh


Vajon hogy hívják a 4. lányát?

Üdv. Csipetke
Ez nekem megoldhatóbb, mint Gyuri feladványa (bár tanultam gépi kódban programozni :mrgreen: ) Rita
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 »

Végül valami ilyesmit találtam ki. Biztos lehet szebbet is:
10 PRINT "BUEK"
20 PRINT AT 0,0
30 INK 0
50 PRINT POINT(0,0)*512*2+POINT(0,1)*512+POINT(0,2)*256+POINT(0,3)*128+POINT(0,2*2)*32*2+POINT(0,5)*32+POINT(0,6)*16+POINT(0,7)*8+POINT(0,8)*2*2+POINT(0,9)*2+POINT(0,10)
60 INK 7
70 PLOT OVER 1,0,10
80 IF NOT POINT (0,10) THEN PLOT OVER 1,0,9: IF NOT POINT (0,9) THEN PLOT OVER 1,0,8: IF NOT POINT (0,8) THEN PLOT OVER 1,0,7: IF NOT POINT (0,7) THEN PLOT OVER 1,0,6: IF NOT POINT (0,6) THEN PLOT OVER 1,0,5: IF NOT POINT (0,5) THEN PLOT OVER 1,0,2*2: IF NOT POINT (0,2*2) THEN PLOT OVER 1,0,1: IF NOT POINT (0,1) THEN PLOT OVER 1,0,0
90 IF POINT(0,0)*512*2+POINT(0,1)*512+POINT(0,2)*256+POINT(0,3)*128+POINT(0,2*2)*32*2+POINT(0,5)*32+POINT(0,6)*16+POINT(0,7)*8+POINT(0,8)*2*2+POINT(0,9)*2+POINT(0,10)<1007*2 THEN GOTO 20
100 INK 0
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 »

Ha valaki esetleg lusta lenne gépelni:
BUEK_2013.tzx
(1.31 KiB) Letöltve 67 alkalommal.
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 »

stp írta:Végül valami ilyesmit találtam ki.
Gratulálok!
(Ha Gyuri erre a megoldásra gondolt volna, akkor letiltott volna még 8-10 gombot.) :D
Avatar
leslie.wss
Hozzászólások: 75
Csatlakozott: 2012.01.18. 22:36

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: leslie.wss »

Csipetke írta: Rita apjának 5 lánya van.
A születésük sorrendjében az alábbi neveket kapták:


1. lány neve: Kah
2. lány neve: Keh
3. lány neve: Kih
4. lány neve: ?
5. lány neve: Kuh

Vajon hogy hívják a 4. lányát?
Vajon hogy? :)
Avatar
leslie.wss
Hozzászólások: 75
Csatlakozott: 2012.01.18. 22:36

Re: Fejtörő (2012-2013)

Hozzászólás Szerző: leslie.wss »

stp írta:Végül valami ilyesmit találtam ki. Biztos lehet szebbet is
Ez szép megoldás, stp. Gratula.
Csak a csatolt tzx-be csúszott egy kis hiba, ott ugyanis a 90. sor végén GO TO 10 szerepel, nem GO TO 20, így egy kicsit lassabban fut a program a felesleges BUEK kiírás miatt ;).
Avatar
Csipetke
Tiszteletbeli tag
Hozzászólások: 29
Csatlakozott: 2012.10.25. 03:19
Tartózkodási hely: Budapest, Széna tér

Re: Fejtörő (2012-2013)

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

Ez a harmadik változata, talán ez a legrövidebb. Ha érdeklődés lesz a másik kettő régebbi megoldásra, akkor annak a programját is beteszem. Remélem nincs hiba ebben. Üdv. Csipetke

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

10 CLS : PRINT AT 13,0: PRINT "BUEK": PRINT: PRINT 0: PRINT 0: PRINT 0: PRINT 0
50 IF CODE SCREEN$ (16,0)<50 THEN GO TO 100
70 IF CODE SCREEN$ (18,0)<30+19 THEN GO TO 100
80 IF CODE SCREEN$ (19,0)<51 THEN GO TO 100
90 PAUSE 0: GO TO 9999
100 IF CODE SCREEN$ (19,0)<57 THEN PRINT AT 18,0: PRINT CHR$ (CODE SCREEN$ (19,0)+1): GO TO 50
105 PRINT AT 18,0: PRINT 0
110 IF CODE SCREEN$ (18,0)<57 THEN PRINT AT 17,0: PRINT CHR$ (CODE SCREEN$ (18,0)+1): GO TO 50
115 PRINT AT 17,0: PRINT 0
120 IF CODE SCREEN$ (17,0)<57 THEN PRINT AT 16,0: PRINT CHR$ (CODE SCREEN$ (17,0)+1): GO TO 50
125 PRINT AT 16,0: PRINT 0
130 IF CODE SCREEN$ (16,0)<57 THEN PRINT AT 15,0: PRINT CHR$ (CODE SCREEN$ (16,0)+1): GO TO 50
A hozzászólást 1 alkalommal szerkesztették, utoljára Csipetke 2013.01.05. 21:29-kor.
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 »

makranc írta: Gratulálok!
(Ha Gyuri erre a megoldásra gondolt volna, akkor letiltott volna még 8-10 gombot.) :D
Köszi!
Már nagyon kíváncsi vagyok rá, hogy ő mire gondolt.
leslie.wss írta:Ez szép megoldás, stp. Gratula.
Köszönöm!
leslie.wss írta:Csak a csatolt tzx-be csúszott egy kis hiba, ott ugyanis a 90. sor végén GO TO 10 szerepel, nem GO TO 20, így egy kicsit lassabban fut a program a felesleges BUEK kiírás miatt ;).
Közben észrevettem. De ide jól írtam ki. :)

Kipróbáltam Csipetke megoldását, nekem jobban tetszik. Sokkal gyorsabb. Viszont valahogy jó lenne megoldani, hogy vízszintesen írja ki az évszámot. Nincs valami trükk a PRINT-nél, amivel ki lehet váltani a pontosvesszőt?
Ez pl. jó PRINT AT helyett, de nem működik, ha a kiíandó szövegbe SCREEN$-t fűzök:
PRINT CHR$ 22+CHR$ y+CHR$ x+"SZOVEG"
:?

Csatolom Csipetke megoldását is:
BUEK_2013_csipetke.tzx
(794 bájt) Letöltve 55 alkalommal.
csaba
Alapító tag
Hozzászólások: 353
Csatlakozott: 2012.01.09. 18:18
Rádióamatőr hívójel: HG5BMU
Tartózkodási hely: Surány
Kapcsolat:

Re: Fejtörő (2012-2013)

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

Plot-tal kipöttyözni a képernyőre a számokat binárisan?
Lezárt

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