REM ***** BASIC ***** Sub Main eesnimi=inputbox("Palun eesnimi") do vastus=inputbox("Tere, " & eesnimi & ", osta elevant ära") loop until instr(vastus, "elevant")>0 msgbox "tubli!" End Sub sub elevandimang2 leht=StarDesktop.CurrentComponent.sheets(0) eesnimi=inputbox("Palun eesnimi") leht.getCellByPosition(0, 0).String=eesnimi reanr=0 do reanr=reanr+1 vastus=inputbox("Tere, " & eesnimi & ", osta elevant ära") leht.getCellByPosition(0, reanr).string=vastus loop until instr(vastus, "elevant")>0 msgbox "tubli!" end sub sub elevandimang3 leht=StarDesktop.CurrentComponent.sheets(0) veerg=0 while len(leht.getCellByPosition(veerg, 0).string)>0 veerg=veerg+1 wend eesnimi=inputbox("Palun eesnimi") leht.getCellByPosition(veerg, 0).String=eesnimi reanr=0 do reanr=reanr+1 vastus=inputbox("Tere, " & eesnimi & ", osta elevant ära") leht.getCellByPosition(veerg, reanr).string=vastus loop until instr(vastus, "elevant")>0 msgbox "tubli!" end sub 'Töötajate paigutamine graafikusse sub tootajad1 leht=StarDesktop.CurrentComponent.sheets(2) nimedearv=0 while len(leht.getCellByPosition(3, nimedearv).String)>0 nimedearv=nimedearv+1 wend paevarida=0 nimerida=0 while len(leht.getCellByPosition(0, paevarida).String)>0 leht.getCellByPosition(1, paevarida).String= _ leht.getCellByPosition(3, nimerida).String nimerida=nimerida+1 if nimerida>=nimedearv then nimerida=0 end if paevarida=paevarida+1 wend end sub 'Igale töötajale tema tööpäevade loetelu sub tootajad2 leht=StarDesktop.CurrentComponent.sheets(2) paevarida=0 while len(leht.getCellByPosition(0, paevarida).String)>0 nimerida=0 tpalgus=6 'sealt algab tööpäevade märkimise loetelu while len(leht.getCellByPosition(3, nimerida).String)>0 ' msgbox nimerida & " " & paevarida if leht.getCellByPosition(1, paevarida).String = _ leht.getCellByPosition(3, nimerida).String then tpveerg=tpalgus while len(leht.getCellByPosition(tpveerg, nimerida).String)>0 tpveerg=tpveerg+1 wend leht.getCellByPosition(tpveerg, nimerida).String= _ leht.getCellByPosition(0, paevarida).string end if nimerida=nimerida+1 wend paevarida=paevarida+1 wend end sub function kolmnurgaPindala(alus, korgus) kolmnurgaPindala=alus*korgus/2 end function function ruuduPindala(kyljepikkus) if isNumeric(kyljepikkus) then if kyljepikkus>0 then ruuduPindala=kyljepikkus*kyljepikkus else ruuduPindala="Külg liiga lühike" end if else ruuduPindala="Küljepikkus pole arv" end if end function function kardinaRiie(laius, korgus) riidelaius=laius+2*5 riidekorgus=korgus+5+20+5 if korgus>200 then riidekorgus=korgus+5+25+5 end if tekst="Palun riie laiusega " & riidelaius & " ning pikkusega " & _ riidekorgus & " sentimeetrit." kardinaRiie=tekst end function sub lahtrisseKirjutamine leht=StarDesktop.CurrentComponent.Sheets(2) leht.getCellByPosition(3, 2).String="test" end sub sub arvutaKorrusteLabimoodud leht=StarDesktop.CurrentComponent.Sheets(2) arv=leht.getCellByPosition(1, 1).value alumine=leht.getCellByPosition(1, 2).value ylemine=leht.getCellByPosition(1, 3).value ' msgbox arv & " " & alumine & " " & ylemine vahe=(alumine-ylemine)/(arv-1) kihilaius=alumine algrida=10 for kihinr=1 to arv leht.getCellByPosition(1, algrida+kihinr).value=kihilaius kihilaius=kihilaius-vahe next kihinr end sub sub arvutaKorrusteLabimoodudJaPindalad leht=StarDesktop.CurrentComponent.Sheets(2) arv=leht.getCellByPosition(1, 1).value alumine=leht.getCellByPosition(1, 2).value ylemine=leht.getCellByPosition(1, 3).value vahe=(alumine-ylemine)/(arv-1) kihilaius=alumine kogupindala=0 algrida=10 for kihinr=1 to arv leht.getCellByPosition(0, algrida+kihinr).value=kihinr leht.getCellByPosition(1, algrida+kihinr).value=kihilaius pindala=(kihilaius/2)^2*3.14 kogupindala=kogupindala+pindala leht.getCellByPosition(2, algrida+kihinr).value=pindala kihilaius=kihilaius-vahe next kihinr leht.getCellByPosition(1, 4).value=kogupindala end sub 'Alamprogrammi käivitamisel eeldatakse, et kihtide pindalad on juba teada sub jaotaTaigen leht=StarDesktop.CurrentComponent.Sheets(2) kilodearv=leht.getCellByPosition(1, 0).value kihtidearv=leht.getCellByPosition(1, 1).value kogupindala=leht.getCellByPosition(1, 4).value algrida=10 for kihinr=1 to kihtidearv kihipindala=leht.getCellByPosition(2, algrida+kihinr).value kihimass=kihipindala*kilodearv/kogupindala leht.getCellByPosition(3, algrida+kihinr).value=kihimass next kihinr end sub sub puhasta leht=StarDesktop.CurrentComponent.Sheets(2) algrida=10 kihinr=1 while len(leht.getCellByPosition(0, algrida+kihinr).String)>0 leht.getCellByPosition(0, algrida+kihinr).String="" leht.getCellByPosition(1, algrida+kihinr).String="" leht.getCellByPosition(2, algrida+kihinr).String="" leht.getCellByPosition(3, algrida+kihinr).String="" leht.getCellByPosition(4, algrida+kihinr).String="" kihinr=kihinr+1 wend leht.getCellByPosition(1, 4).String="" end sub 'Ilupael on iga kihi välisserval sub arvutaIlupaelaPikkus leht=StarDesktop.CurrentComponent.Sheets(2) kihtidearv=leht.getCellByPosition(1, 1).value algrida=10 koguymbermoot=0 for kihinr=1 to kihtidearv kihilabimoot=leht.getCellByPosition(1, algrida+kihinr).value ymbermoot=kihilabimoot*3.14 koguymbermoot=koguymbermoot+ymbermoot leht.getCellByPosition(4, algrida+kihinr).value=ymbermoot next kihinr leht.getCellByPosition(1, 5).value=koguymbermoot end sub sub arvutaKreem leht=StarDesktop.CurrentComponent.Sheets(2) kihtidearv=leht.getCellByPosition(1, 1).value kreemikihiPaksus=leht.getCellByPosition(1, 6).value algrida=10 koguKreemiHulk=0 for kihinr=1 to kihtidearv kihiPindala=leht.getCellByPosition(2, algrida+kihinr).value kreemKihil=kihiPindala*kreemiKihiPaksus koguKreemiHulk=koguKreemiHulk+kreemKihil leht.getCellByPosition(5, algrida+kihinr).value=kreemKihil next kihinr leht.getCellByPosition(1, 7).value=koguKreemiHulk end sub sub arvutaTort puhasta arvutaKorrusteLabimoodudJaPindalad jaotaTaigen arvutaIlupaelaPikkus arvutaKreem end sub