SANO-sukrot (kilpatehtävään 2)

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 12.11.2002 13:48

Kilpatehtävään 2 liittyvät sukrot:
Jotta saat sukroperheen SANO.TUT käyttöösi, tallenna perheen jäsenet
SANO-SANA, SANO-TN, SANO-ARVONTA JA SANO-MUUNTO alla olevilla
TUTSAVE-komennoilla kopioituasi esim. leikepöydän kautta tämän
viestin tyhjään toimituskenttään.

Menettele seuraavasti:
DELETE / Siirrä kohdistin kontrollisarakkeeseen ja aktivoi tämä rivi!
*/ACTIVATE x / Talleta sukron SANO osat aktivoimalla tämä rivi!
xTUTSAVE <Survo>\TUT\SANO-SANA
/
/  def Wsana=W1 Wstates=W2 Wnrnd=W3 Wrnd=W4 Wr=W5 Wc=W6 Wc2=W7 Wm=W8
/  def Wtn=W9 Wstart=W10 Wend=W11 WN=W12 Warvaus=W13 Wvastaus=W14
/  def Wedell=W15
/
*{init}{tempo -1}{R}{ref set 1}{disp off}
*SCRATCH {act}{line start}
/
*{save spec RND Wc}
- if Wc '=' {} then goto E1
*FILE CREATE _RANDOM,8,1,64,7,50000{R}
*FIELDS:{R}
*1 N 8 X         (#.###############){R}
*END{R}{u4}{act}{d4}
*VAR X={print Wc} TO _RANDOM{act}{ref jump 1}
*SCRATCH {act}{ref jump 1}
/
*{save spec STATES Wstates}{print Wstates}
- if Wstates '=' {} then goto E2
*{r}{save cursor Wr,Wc2}{line start}{save cursor Wr,Wc}{Wm=Wc2-Wc}
/
*{line start}{erase}
/
*MAT !P=CON({print Wm},{print Wm},0.25){R}
*{Wr=Wm-1}{Wc2=0.75}{Wc=Wc2/Wr}
*MAT !Q=CON({print Wr},{print Wr},{print Wc}){R}
*MAT !P(1,1)=!Q{R}
*MAT !Q=ZER(1,{print Wm}){R}
*MAT !P({print Wm},1)=!Q{R}
*MAT !P({print Wm},{print Wm})=1{R}
*{Wc=1/Wr}
*MAT !PS=CON({print Wm},1,{print Wc}){R}
*MAT !PS({print Wm},1)=0{R}
*{u8}{pre}{act}
/
*{ref jump 1}SCRATCH {act}{ref jump 1}
*MATRIX !X{R}
*/// {print Wstates}{line start}{r4}
+ X: {save char Wc}
- if Wc '=' {sp} then goto Y
*{d}0{u}{ins} {ins}{goto X}
+ Y:  -{l}{d}0{line start}R{R}{R}
*MAT SAVE !X{R}
*MAT CLABELS FROM !X TO !P{R}
*MAT !X=!X'{R}
*MAT RLABELS FROM !X TO !P{R}
*MAT RLABELS FROM !X TO !PS{R}
*{u5}{pre}{act}
/
*{ref jump 1}SCRATCH {act}{ref jump 1}
*{message}        Arvioi sanaehdotus asteikolla -30 ... 30.
* Lopeta napeilla '.' ENTER!@
*{ref set 1}
*{Wnrnd=0}{WN=0}{Wedell=}
+ A:
*{ref jump 1}SCRATCH {act}{ref jump 1}
*{call SANO-TN}{ref jump 1}SCRATCH {act}{ref jump 1}
*{call SANO-ARVONTA}
/
*{ref jump 1}SCRATCH {act}{line start}
*{tab}{tab}{tab}{tab}{tab}P={print Wtn}{line start}
*{WN=WN+1}{print WN}  {}
*{Wvastaus=}{print Warvaus}? {}
*{disp reset}
- prompt
-   default Wvastaus
-   answer  Wvastaus
-   length 5
-   wait   1200
*{l2}       {l5}
- if Wvastaus '=' . then goto E
- if Wvastaus <> 0 then goto B
*{Wvastaus=0}{goto D}
+ B:
- if Wvastaus > 30 then goto C
- if Wvastaus >= -30 then goto D
*{Wvastaus=-30}{goto D}
+ C: {Wvastaus=30}
+ D: {print Wvastaus}{R}{d7}{u7}
/
*{disp off}
*{ref set 1}
- if Wvastaus = 0 then goto A
*{call SANO-MUUNTO}{goto A}
+ E1: {disp reset}{message}        RND=rand(siemenluku) puuttuu!@
*{goto EX}
+ E2: {disp reset}{message}        STATES=kirjainluettelo puuttuu!@
*{goto EX}
+ EX: {tempo 2}{50}{goto E0}
+ E: .{R}FILE DEL _RANDOM{act}{line start}{erase}
/
*MAT !P!=!P{act}{line start}{erase}
+ E0: {message}@{disp reset}{end}
*
xTUTSAVE <Survo>\TUT\SANO-TN
/ Lasketaan kohdesanan todennäköisyys
/
/  def Wsana=W1 Wstates=W2 Wnrnd=W3 Wrnd=W4 Wr=W5 Wc=W6 Wc2=W7 Wm=W8
/  def Wtn=W9 Wstart=W10 Wend=W11 WN=W12 Warvaus=W13 Wvastaus=W14
/  def Wedell=W15
/
*{print Wstates}{line start}{R}
*{print Wsana}{line start}
*{save char Wc}{u}{find Wc}
*{save cursor Wr,Wstart}{R}{R}
*MAT_!PS({print Wstart},1)={act}{l} {save word Wtn}{line start}{erase}
/
*{u}{ref set 2}
+ A: {ref jump 2}{r}{save char Wc}{ref set 2}{line start}{u}{find Wc}
*{save cursor Wr,Wend}{R}{R}
*MAT_!P({print Wstart},{print Wend})={act}{l} {save word Wr}
*{Wtn=Wtn*Wr}{line start}{erase}{Wstart=Wend}
- if Wc '=' {sp} then goto B
*{goto A}
+ B:
*{end}
*
xTUTSAVE <Survo>\TUT\SANO-ARVONTA
/ Uuden sanan arvonta
/
/ def Wsana=W1 Wstates=W2 Wnrnd=W3 Wrnd=W4 Wr=W5 Wc=W6 Wc2=W7 Wm=W8
/ def Wtn=W9 Wstart=W10 Wend=W11 WN=W12 Warvaus=W13 Wvastaus=W14
/ def Wedell=W15
/
+ S: {ref jump 1}SCRATCH {act}{ref jump 1}
*{print Wstates}{line start}{R}
*{Wnrnd=Wnrnd+1}FILE LOAD -_RANDOM / IND=ORDER,{print Wnrnd}{act}{R}
*{next word}{save word Wrnd}{R}
*MAT !X=CUM(!PS){act}{R}
*MAT LOAD !X,1.1234567890123456,CUR+1{act}{R}{d3}
*{Wr=1}
+ A: {r4}{next word}{save word Wc}
- if Wrnd < Wc then goto B
*{Wr=Wr+1}{R}{goto A}
+ B: {ref jump 1}{Wc=Wr}
+ C:
- if Wc = 1 then goto D
*{r}{Wc=Wc-1}{goto C}
+ D: {save char Warvaus}{Wstart=Wr}
+ E:
*{ref jump 1}{R}SCRATCH {act}{line start}
/
*{Wnrnd=Wnrnd+1}FILE LOAD -_RANDOM / IND=ORDER,{print Wnrnd}{act}{R}
*{next word}{save word Wrnd}{R}
*MAT !X=CUM(!P({print Wstart},*)'){act}{R}
*MAT LOAD !X,1.1234567890123456,CUR+1{act}{R}{d3}
*{Wr=1}
+ A2: {r4}{next word}{save word Wc}
- if Wrnd < Wc then goto B2
*{Wr=Wr+1}{R}{goto A2}
+ B2: {ref jump 1}{Wc=Wr}
- if Wr = Wm then goto F
+ C2:
- if Wc = 1 then goto D2
*{r}{Wc=Wc-1}{goto C2}
+ D2: {save char Wc}{Warvaus=Warvaus&Wc}{Wstart=Wr}
*{goto E}
+ F:
- if Warvaus '=' Wedell then goto S
*{Wedell=Warvaus}
*{end}
*
xTUTSAVE <Survo>\TUT\SANO-MUUNTO
/ Siirtymätodennäköisyyksien muunto
/
/ def Wsana=W1 Wstates=W2 Wnrnd=W3 Wrnd=W4 Wr=W5 Wc=W6 Wc2=W7 Wm=W8
/ def Wtn=W9 Wstart=W10 Wend=W11 WN=W12 Warvaus=W13 Wvastaus=W14
/ def Wedell=W15
/
*{print Wstates}{line start}{R}
*{print Warvaus}{line start}
*{save char Wc}{u}{find Wc}
*{save cursor Wr,Wstart}{R}{R}
*MAT_!PS({print Wstart},1)={act}{l} {save word Wc}
*{Wvastaus=0.01*Wvastaus}{Wc2=1-Wc}{R}
*exp({print Wvastaus}+log({print Wc}))={act}{l} {save word Wc}
*{Wc2=Wc2+Wc}{Wc2=1/Wc2}{R}
*MAT !PS({print Wstart},1)={print Wc}{act}{R}
*MAT !PS!={print Wc2}*!PS{act}
/
*{ref jump 1}{d}{ref set 2}
+ A: {ref jump 1}{R}{R}SCRATCH {act}{line start}
*MAT !X=!P({print Wstart},*){act}{line start}{erase}
*{ref jump 2}{r}{save char Wc}
- if Wc '<>' {sp} then goto B
*{Wend=Wm}{R}{goto C}
+ B: {ref set 2}{line start}{u}{find Wc}
*{save cursor Wr,Wend}{R}{R}
+ C: MAT_!X(1,{print Wend})={act}{l} {save word Wc}
*{Wc2=1-Wc}{R}
*exp({print Wvastaus}+log({print Wc}))={act}{l} {save word Wc}
*{Wc2=Wc2+Wc}{Wc2=1/Wc2}{R}
*MAT !X(1,{print Wend})={print Wc}{act}{R}
*MAT !X={print Wc2}*!X{act}{R}
*MAT !P({print Wstart},1)=!X{act}{Wstart=Wend}
- if Wend < Wm then goto A
*{end}
*
*
x - Sukroperhe SANO.TUT on talletettu!

Vastaukset:
[ei vastauksia]

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.