Kilpatehtävä 3: Sukrojen teko

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 10.2.2003 10:13

Kuten aikaisemmin olen kertonut, versiosta 1.30 lähtien Survoon
on liitetty mahdollisuus käynnistää toimintoja kuvaavia esimerkkejä
sukroina suoraan kyselyikkunasta |EXAMPLE|-painikkeella.
Olen tähän mennessä tehnyt tällaisia esimerkkejä kolmisenkymmentä.

Tavoitteena on täydentää esimerkkivalikoimaa lähiaikoina niin,
että ainakin kaikista yleisimmistä toiminnoista saisi konkreettisen
käsityksen tällä tyylillä suoraan kyselyjen kautta.
Ymmärtääkseni se madaltaisi monella tapaa oppimiskynnystä etenkin, jos
vain keksitään riittävän ilmaisevia, tiiviitä ja hauskoja
esimerkkisukroja.

Kilpatehtävä 3:n aiheena onkin |EXAMPLE|-sukrojen tekeminen.
Jokainen kynnelle kykenevä survoilija voi osallistua kisaan
laatimalla haluamastaan aihealueesta yhden tai useampia
sukroja.

Tämän viestin lopussa on muutamia esimerkkejä siitä,
miltä |EXAMPLE|-sukrot voivat näyttää.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Kilpatehtävän 3 säännöt ovat tarkalleen seuraavat:

Tee yksi tai useampia sukroja, jotka kuvaavat opettavaisella
tavalla valitsemiasi Survon toimintoja ja lähetä niiden listaukset
minulle osoitteella seppo.mustonen@survo.fi
1.5.2003 mennessä.

Sukrojen tulee olla mahdollisimman tiiviitä siten, ettei niiden
vaatima tila ylitä 10000 tavua (.TUT-tiedoston koko).
Kokonaiskesto normaalisti katseltaessa ei saisi ylittää kahta
minuuttia.

Sukrot voivat olla joko englannin- tai suomenkielisiä.

Jos sukro käsittelee jotain aineistoa, tuon aineiston tulee
sisältyä sukron koodiin tai suurempien aineistojen tapauksessa
sukro voi myös generoida sellaisen (esim. MNSIMUL-operaatiolla).

Kilpailun tuomariston muodostavat Seppo Mustonen, Marjut Schreck ja
Kimmo Vehkalahti.
Tuomaristo varaa oikeuden käyttää kaikkia kilpaan lähetettyjä
ehdotuksia ilman eri korvausta |EXAMPLE|-sukroina ja muotoilemaan
niitä Survon kyselysysteemin ehtojen mukaisesti. Kunkin sukron tekijä
tullaan mainitsemaan oman esimerkkinsä yhteydessä.

Kolme parasta ehdotusta palkitaan seuraavasti:
 1. palkinto: 300 euron lahjakortti (Stockmann)
 2. palkinto: 200 euron lahjakortti
 3. palkinto: 100 euron lahjakortti
Varaan kuitenkin oikeuden jakaa palkintosumman (600 euroa)
toisinkin.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Osallistumalla Survo-Käyttäjäyhdistyksen keväiseen laivaseminaariin
10-12.4.2003 avautuu loistava tilaisuus saada lisävinkkejä
|EXAMPLE|-sukrojen teosta ja sukrojen ohjelmoinnista yleensäkin.
Tälle aiheelle on varattuna oma aikansa seminaarin yhteydessä.
Toivon myös, että mahdollisimman moni olisi jo tuolloin halukas
esittelemään omia |EXAMPLE|-sukrojaan. Tällä saattaapi olla jopa
myönteinen vaikutus tuomariston lopullisiin päätöksiin :)

Yliopistojen ja muiden oppilaitosten opiskelijoille on tarjolla
tuplapotti:
Lähettämällä oman kilpailusukron 21.3 mennessä voi päästä ilmaiseksi
em. seminaariin.
Mukaan valitaan 3-5 opiskelijaa tuomariston harkinnan perusteella.

Tästä aiheesta pidetään myös "valmennustilaisuus" Helsingin yliopiston
tilastotieteen laitoksella jo tiistaina 25.2.2003 klo 16-18.
Kaikki asiasta kiinnostuneet ovat tervetulleita!

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Yksinkertaisia esimerkkejä ja teknisiä ohjeita:

Jokainen |EXAMPLE|-sukro aloittaa tyhjästä 1000x100-toimituskentästä.
Sukro voi tarvitessaan muuttaa kentän dimensioita.
Kentän kaksi ensimmäistä riviä tulee jättää tyhjäksi.

Esimerkki 1: REDIM-komennon käytöstä
------------------------------------
DELETE / Vie ensin kohdistin kontrollisarakkeeseen ja aktivoi tämä rivi!
*TUTSAVE EX_REDIM / Talleta sitten sukro tällä komennolla!
*{init}{jump 1,1,1,1}{erase}{erase}SCRATCH {act}{R}{R}
*Using the REDIM command{R}
*{R}
*Setting the number of lines to 700{R}
*and the number of columns to 60:{wait 10}{R}
*REDIM 700,60{keys 2}{act}{keys 0}{wait 10}{R}
/
*Going to the last line and column...{wait 10}{R}
*GOTO 700{wait 10}{keys 2}{act}{keys 0}This is the last line!{wait 10}
/
*{tab}{tab}{tab}{wait 20}
/ Takaisin kentän alkuun:
*{keys 2}{home}{home}{home}{keys 0}{d7}
*{wait 10}{erase}SCRATCH{wait 10}{act}{wait 10}{R}
/
*{u}Making a much larger edit field:{wait 10}{R}
*REDIM 10000,200{keys 2}{act}{keys 0}{R}
/
*Setting line numbers (just for illustration):{wait 10}{R}
*COUNT 13,10000,12,13{wait 10}{R}
*{r3}11111{wait 10}{R}
*{u2}{keys 2}{act}
/ Taas kentän loppuun:
*{pre}{d}{pre}{d}{keys 0}{wait 10}{r10}
*This is the last line!{wait 20}
/
*{keys 2}{home}{home}{home}{keys 0}{end}

Esimerkki 2: TABTEST-operaation käytöstä
----------------------------------------
DELETE / Vie ensin kohdistin kontrollisarakkeeseen ja aktivoi tämä rivi!
*TUTSAVE EX_TABT / Talleta sitten sukro tällä komennolla!
*{init}{jump 1,1,1,1}{erase}{erase}SCRATCH {act}{R}{R}
*Using the TABTEST operation{wait 10}{R}
*Testing independence of rows and columns in a small table:{wait 10}
*{R}
*TABLE TEST{R}
*7 2 0{R}
*3 1 5{R}
*{R}
/ Fisherin 'eksakti' testi:
*{wait 20}Assuming both column and row margins fixed:{wait 10}{R}
*TABTEST TEST,CUR+1 / FIX=Fisher SIMUMAX=100000{keys 2}{act}{keys 0}
*{wait 30}{R}
*{R}
/ Ositeotosten vertailutilanne:
*{d18}{u12}Assuming columnn margins (vertical sums) fixed:{wait 10}{R}
*TABTEST TEST,CUR+1 / FIX=C{keys 2}{act}{keys 0}{wait 30}
*{jump 1,1,1,1}{end}

Esimerkki 3: Tekstin paikan valitseminen hiirellä kuvaikkunassa
---------------------------------------------------------------
DELETE / Vie ensin kohdistin kontrollisarakkeeseen ja aktivoi tämä rivi!
*TUTSAVE EX_MOUSE  / Talleta sitten sukro tällä komennolla!
*{init}{jump 1,1,1,1}{erase}{erase}SCRATCH {act}{R}{R}
/
*{save datapath W1}
/
* {form7} Using MOUSE specification in screen plots {R}
*{R}
*{tempo +1}FILE DEL MOUSE.MSG / Delete the text file for coordinates.
*{wait 10}{act}{wait 20}{R}
*GPLOT /DEL ALL     / Delete graphics windows.{wait 10}{act}{wait 30}
*{R}
*{tempo -1}{R}
*Text will be written in a graph to a point{R}
*selected by you.{R}
*WHOME=WX-WX/3,0 WSIZE=WX/3,WY/3{R}
*MODE=1000,1000   / Max. coordinates{R}
*GPLOT /FRAME     / This command is activated.{R}
*MOUSE=MOUSE.MSG  / Text file for coordinates{R}
*{R}
*{form}Please click any point in the graph!{R}
*{u4}{act}{d5}{tempo 2}{W5=0}
/ Ohjelmakierros, jossa tarkkaillaan 20 sekunnin ajan,
/ onko käyttäjä näpäyttänyt hiirellä jotain kohtaa kuvassa
+ A: {W5=W5+1}
- if W5 > 20 then goto B
*{ref}{erase}{wait 10}CHECK {print W1}MOUSE.MSG{act} {save char W2}
- if W2 '=' N then goto A
/
*{ref}{ref}{u}{erase}LOADP MOUSE.MSG{wait 10}{act}{wait 10}{R}
*{next word}{next word}{wait 10}{save word W3}{next word}{wait 10}
*{save word W4}{R}
*You selected a point with coordinates {print W3},{print W4}.{wait 15}
*{R}
*Text to be plotted to this place is given, for example, by{R}
*TEXTS=T T=[Swiss(50)],Text_in_({print W3};{print W4}),{print W3},
*{print W4}{wait 20}{R}
*{R}
/
*GPLOT /FIX 1 / Select the first graphics window.{wait 10}{act}
*{wait 10}{R}
/
*GPLOT /FRAME / Plotting again!{wait 10}{act}{wait 10}{l18}{erase}
*{goto E}
+ B: {R}
*You didn't click any point in the graph! Demo is interrupted!{R}
/
+ E: {end}

Jatkoviestinä lähetän vielä neljännen, laajemman esimerkin,
jolla havainnollistetaan todennäköisyyslaskennan keskeistä
raja-arvolausetta.

- Seppo

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!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.