[viesti Survo-keskustelupalstalla (2001-2013)]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 31.10.2004 9:36 |
Tilastollisen tietojenkäsittelyn seminaarissa on tarkoitus käsitellä sukrojen ohjelmointia kahdessa seuraavassa tilaisuudessa eli 9.11 Sukrojen ohjelmoinnista I (klo 16-18) 23.11 Sukrojen ohjelmoinnista II (klo 17-19) Psykologian laitoksella huoneessa 229 (Siltavuorenpenger 20 D). Taso, jolla aiheesta puhutaan ja keskustellaan, asettukoon paikalle saapuvien mieltymysten mukaan. Seminaarissa tullaan myös käsittelemään joitakin valmiita esimerkkejä, joista yksi (vaativimmasta päästä) on listattuna tämän viestin loppuun. Sukro LASKE antaa Survon käyttäjälle mahdollisuuden osoittaa "oivallista päässälaskutaitoa". Miten tuo taito on hankittavissa, saattaa joillekin valjeta suoraan kokeilemalla sukron käyttöä. Luulisin, että useimmille totuus selviää vasta tutkimalla tarkemmin sukron toimintaa. Esimerkki sukron LASKE käytöstä: /LASKE 712*916 Kun /LASKE yllä aktivoidaan, se antaa ensin käyttäjälle vapaasti aikaa harkita vastaustaan ja odottaa, että painetaan ENTER-nappia. Asetelma muuttuu silloin tilaan /LASKE 712*916=X missä X:n paikalle ilmaantuu jatkuvasti eri numeroita. Koska oikea vastaus on 712*916=652192, käyttäjän tulee painaa nappia ENTER silloin, kun X:n kohdalla on 6, joka on oikean vastauksen ensimmäinen numero. Jos painaa väärän numeron kohdalla, tulee virhepisteitä, mutta saa yrittää uudelleen. Kun ensimmäinen numero on valittu oikein, kohdistin siirtyy seuraavan vastausnumeron paikalle eli nähdään /LASKE 712*916=6X missä jälleen X:n kohdalla pyörii vaihtoehtoisia numeroita ja jatketaan samalla tavalla pelkkää ENTER-nappia valikoivasti painellen lopulliseen vastaukseen asti. Arvelette tietenkin, että tämähän on helppoa, kun vain ensin laskee Survolla oikean tuloksen ja sitten panee LASKE-sukron käyntiin. Varsinainen juju on kuitenkin siinä, ettei suurinumeroisissakaan laskuissa tarvitse tietää etukäteen tulosta, vaan LASKE-sukro opastaa käyttäjää tekemään oikeat valinnat! Miten opastus tapahtuu, se jääköön jokaisen setvittäväksi kokeilemalla tai, ellei se auta, perehtymällä sukron toimintaan mm. tarkastelemalla sen listausta. Vaikka LASKE tarjonnee sellaisenaan hupia (hämmästytä "taidoillasi" tuttaviasi!), seminaarin yhteydessä on päätarkoituksena ruotia sukron rakennetta ja toimintaa. Tahallaan en ole liittänyt sukron listaukseen mitään kommentteja eli se on huonosti dokumentoitu "opetuksellisista" syistä. Ymmärtäminen edellyttää siis tietynasteista perehtymistä Survon ominaisuuksiin ja sukro-kieleen. Samasta syystä en tässä mainitse sukron käyttö- mahdollisuuksista eikä -rajoituksista mitään. Toivon, että ne, jotka innostuvat kaivamaan esiin LASKE-sukron salat jo etukäteen, lähettäisivät minulle oman tulkintansa siitä, miten "päässälaskut" onnistuvat LASKE-sukron avulla, sähköpostiviestinä osoitteeseen seppo.mustonen@survo.fi Pyydän kauniisti: älkää siis paljastako löydöksiänne tässä vaiheessa kellekään muulle. -Seppo ........................................................................ Sukron LASKE listaus: DELETE / Vie kohdistin kontrollisarakkeeseen ja aktivoi tämä rivi! *TUTSAVE LASKE *{init}{tempo -1}{R} *{line end}{l}{save char W1}{r} - if W1 '<>' = then goto Q *{l} {l} + Q: {ref set 1}{R}{erase}SCRATCH {act}{ref jump 1} *{message} Paina ENTER, kun olet valmis vastaamaan!@ *{del stack}{get key}{message}@{ref jump 1} *={ref set 1}{disp off}{pgdn}{R} *{W1=8963}int(1000*rnd(0))={act}{l} {save word W6}{line start}{erase} *{goto K} + R: {erase}T{print W5}{act}{next word}{next word}{next word}{next word} *{r4}{save char W1}{r2}{save char W2}{W1=W1+W2} - if W1 < 10 then goto S *{W1=W1-10} + S: {ref jump 1}{act}{l} {save word W2}{l}={erase}{W7=0} *{pgdn}{R}{d}{erase}{print W2} *{W3=Valitse oikeat numerot painamalla ENTER! (Keskeytys napilla K)} *{message W3}{break off} + B: {ref jump 1}{pgdn}{R}{d}{save char W2}{del} - if W2 '=' {sp} then goto E + C: {ref jump 1}{disp reset}{tempo +1} - on key - key _: continue - key k: goto I - key K: goto I - key ENTER: goto G - wait 10 *{tempo -1}{disp off}{pgdn}{R} *{erase}T{print W5}{act}{next word}{next word}{next word}{next word} *{r7}{save char W4} - if W4 <> W1 then goto F *{W3=W2}{ref jump 1}{print W3}{goto C} + F: *{R}{d}{erase} *..........{R} *int(10*rand({print W6}))={act}{l} {save char W3} *{ref jump 1}{print W3}{l} *{goto C} + G: {tempo -1} - if W3 = W2 then goto H *{W7=W7+1}{R}{d}Vääriä "arvauksia" {print W7}{line start}{u2} *{disp off}{pgdn}{R} *{erase}PLAY SOUND PROTECT{act} *{goto C} + H: *{ref jump 1}{r}{ref set 1}{goto B} + I: ???{goto E2} + K: {W2=W1+2764}{W1=W1*W2}{R} *{erase}{print W1}{W3=0}{W5=} + L: {W3=W3+1}{line start} - if W3 > 3 then goto R *{r3}{ins} {ins}{l2}{save word W2}{line start}{del4} *{R}{erase}{print W2}(10:ascii)={act}{l} {save char W1} *{W5=W5&W1}{line start}{erase}{u}{goto L} + E: {ref jump 1}{R} - if W7 = 0 then goto E3 *Valmis!{goto E2} + E3: {message} Oikein laskettu!@ *{disp off}PLAY SOUND APPLAUSE{act}{home}{erase}{ref jump 1} + E2: {message}@{ref jump 1}{R}{d2}SCRATCH {act}{ref jump 1}{disp reset} + E1: {end}
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!