to KONEC windowdelete "okno end to NADALJUJ listboxenable "lik "False buttonenable "potrdiK "False staticcreate "okno "vrsta_rac :s06 10 60 50 25 listboxcreate "okno "vrstaRac 70 60 60 20 for [i 0 (:lengthTabelaVrstaRacuna-1) 1] [ listboxaddstring "vrstaRac (item :i :TabelaVrstaRacuna) ] buttoncreate "okno "nazaj1 :s11 150 60 40 13 [NAZAJ1] buttoncreate "okno "potrdi1 :s12 150 90 40 13 [NADALJUJ1] staticcreate "okno "rezultat "|| 10 150 180 15 if equalp (item 0 :TabelaLiki) listboxgetselect "lik [ staticcreate "okno "static1 :s13 50 90 40 20 comboboxcreate "okno "combo1 70 90 60 13 staticcreate "okno "static2 :s14 50 105 40 20 comboboxcreate "okno "combo2 70 105 60 13 staticcreate "okno "static3 :s15 50 120 40 20 comboboxcreate "okno "combo3 70 120 60 13 ] if equalp (item 1 :TabelaLiki) listboxgetselect "lik [ staticcreate "okno "static1 :s13 50 90 40 20 comboboxcreate "okno "combo1 70 90 60 13 staticcreate "okno "static2 :s14 50 105 40 20 comboboxcreate "okno "combo2 70 105 60 13 ] if equalp (item 2 :TabelaLiki) listboxgetselect "lik [ staticcreate "okno "static1 :s16 50 90 40 20 comboboxcreate "okno "combo1 70 90 60 13 ] if equalp (item 3 :TabelaLiki) listboxgetselect "lik [ staticcreate "okno "static1 :s13 50 90 40 20 comboboxcreate "okno "combo1 70 90 60 13 staticcreate "okno "static2 :s14 50 105 40 20 comboboxcreate "okno "combo2 70 105 60 13 staticcreate "okno "static3 :s17 40 120 40 20 comboboxcreate "okno "combo3 70 120 60 13 ] end to NADALJUJ1 if equalp (item 0 :TabelaLiki) listboxgetselect "lik [ make "a1 comboboxgettext "combo1 make "b1 comboboxgettext "combo2 make "c1 comboboxgettext "combo3 ifelse (OR (emptyp :a1) (emptyp :b1) (emptyp :c1)) [ staticupdate "rezultat "|Pozabil si vnesti nekatere vrednosti!| ] [ make "a first :a1 make "b first :b1 make "c first :c1 ifelse (OR (:a < 0) (:b < 0) (:c < 0)) [ make "obvestilo "|Trikotnik z negativno stranico ne obstaja!| ] [ make "ob (:a + :b + :c) make "s form (:ob / 2) 1 3 make "tmp (:s * (:s - :a) * (:s - :b)*(:s - :c)) ifelse :tmp < 0 [make "obvestilo "|Trikotnik s podanimi podatki ne obstaja! |] [ make "pl form (SQRT :tmp) 1 3 if equalp (item 0 :TabelaVrstaRacuna) listboxgetselect "vrstaRac [ make "obvestilo (list :s21 :ob) ] if equalp (item 1 :TabelaVrstaRacuna) listboxgetselect "vrstaRac [ make "obvestilo (list :s22 :pl) ] ] ] ;izpiši rezultat v STATIC, ki smo ga naredili v prejšnji proceduri NADALJUJ staticupdate "rezultat :obvestilo ;izpiši rezultat v command prompt, da lahko uporabnik oznaci in kopira rezultat show :obvestilo ] ] if equalp (item 1 :TabelaLiki) listboxgetselect "lik [ make "a1 comboboxgettext "combo1 make "b1 comboboxgettext "combo2 ifelse (OR (emptyp :a1) (emptyp :b1)) [ staticupdate "rezultat "|Pozabil si vnesti nekatere vrednosti!| ] [ make "a first :a1 make "b first :b1 ifelse (OR (:a < 0) (:b < 0)) [ make "obvestilo "|Pravokotnik z negativno stranico ne obstaja!| ] [ ifelse (OR (emptyp :a1) (emptyp :b1) (emptyp :c1)) [ staticupdate "rezultat "|Pozabil si vnesti nekatere vrednosti!| ] [ make "ob form (2*(:a + :b)) 1 3 make "pl form (:a * :b) 1 3 if equalp (item 0 :TabelaVrstaRacuna) listboxgetselect "vrstaRac [ make "obvestilo (list :s21 :ob) ] if equalp (item 1 :TabelaVrstaRacuna) listboxgetselect "vrstaRac [ make "obvestilo (list :s22 :pl) ] ] ] ;izpiši rezultat v STATIC, ki smo ga naredili v prejšnji proceduri NADALJUJ staticupdate "rezultat :obvestilo ;izpiši rezultat v command prompt, da lahko uporabnik oznaci in kopira rezultat show :obvestilo ] ] if equalp (item 2 :TabelaLiki) listboxgetselect "lik [ make "r1 comboboxgettext "combo1 ifelse (emptyp :r1) [ staticupdate "rezultat "|Pozabil si vnesti nekatere vrednosti!| ] [ make "r first :r1 ifelse (:r < 0) [ make "obvestilo "|Krog z negativnim radijem ne obstaja!| ] [ make "ob form (2 * pi * :r) 1 3 make "pl form (pi * :r * :r) 1 3 if equalp (item 0 :TabelaVrstaRacuna) listboxgetselect "vrstaRac [ make "obvestilo (list :s21 :ob) ] if equalp (item 1 :TabelaVrstaRacuna) listboxgetselect "vrstaRac [ make "obvestilo (list :s22 :pl) ] ] ;izpiši rezultat v STATIC, ki smo ga naredili v prejšnji proceduri NADALJUJ staticupdate "rezultat :obvestilo ;izpiši rezultat v command prompt, da lahko uporabnik oznaci in kopira rezultat show :obvestilo ] ] if equalp (item 3 :TabelaLiki) listboxgetselect "lik [ make "a1 comboboxgettext "combo1 make "b1 comboboxgettext "combo2 make "alfa1 comboboxgettext "combo3 ifelse (OR (emptyp :a1) (emptyp :b1) (emptyp :alfa1)) [ staticupdate "rezultat "|Pozabil si vnesti nekatere vrednosti!| ] [ make "a first :a1 make "b first :b1 make "alfa first :alfa1 ifelse (OR (:a < 0) (:b < 0) (:alfa < 0)) [ make "obvestilo "|Paralelogram z negativno stranico oz. kotom ne obstaja!| ] [ make "ob form (2*(:a + :b)) 1 3 make "pl form (:a * :b * SIN :alfa) 1 3 if equalp (item 0 :TabelaVrstaRacuna) listboxgetselect "vrstaRac [ make "obvestilo (list :s21 :ob) ] if equalp (item 1 :TabelaVrstaRacuna) listboxgetselect "vrstaRac [ make "obvestilo (list :s22 :pl) ] ] ;izpiši rezultat v STATIC, ki smo ga naredili v prejšnji proceduri NADALJUJ staticupdate "rezultat :obvestilo ;izpiši rezultat v command prompt, da lahko uporabnik oznaci in kopira rezultat show :obvestilo ] ] end to NALOZINIZE make "s01 [Obseg - Ploščina] make "s02 [Izhod] make "s03 [Izberi lik:] make "s04 [Potrdi] make "s05 [Pomoč] make "s06 [Vrsta izračuna:] make "s11 [Nazaj] make "s12 [Izračunaj] make "s13 [a = ] make "s14 [b = ] make "s15 [c = ] make "s16 [r = ] make "s17 [alfa = ] make "s21 "|Obseg lika je | make "s22 "|Ploščina lika je | NALOZITABELE end to NALOZITABELE make "lengthTabelaLiki 4 make "TabelaLiki (array :lengthTabelaLiki 0) setitem 0 :TabelaLiki [trikotnik] setitem 1 :TabelaLiki [pravokotnik] setitem 2 :TabelaLiki [krog] setitem 3 :TabelaLiki [paralelogram] make "lengthTabelaVrstaRacuna 2 make "TabelaVrstaRacuna (array :lengthTabelaVrstaRacuna 0) ;površina ali obseg setitem 0 :TabelaVrstaRacuna [obseg] setitem 1 :TabelaVrstaRacuna [ploščina] end to NAVODILA WindowCreate "okno "Navodila "Navodila 10 10 200 160 [] StaticCreate "Navodila "TextNav1 [Program za izračun obsega in ploščine] 5 5 195 10 StaticCreate "Navodila "TextNav2 [Uporaba programa:] 5 25 195 20 StaticCreate "Navodila "TextNav3 [- Gumb "Potrdi" odpre nadaljnjo izbira.] 5 35 195 10 StaticCreate "Navodila "TextNav4 [- Gumb "Nazaj" vrne na izbiro lika.] 5 45 195 10 StaticCreate "Navodila "TextNav5 [- Gumb "Izračunaj" izračuna obseg ali ploščino lika.] 5 55 195 10 StaticCreate "Navodila "TextNav6 [- Gumb "Izhod" izhod iz programa.] 5 65 195 10 StaticCreate "Navodila "TextNav7 [Avtorica: Neža Štrukelj, 2004] 5 85 195 15 StaticCreate "Navodila "TextNav8 [Pedagoška fakulteta, smer Matematika - Računalništvo] 5 95 195 15 StaticCreate "Navodila "TextNav9 [Mentor: prof. Vladimir Batagelj] 5 105 195 15 ButtonCreate "Navodila "GumbNav1 "Nazaj 80 125 40 13 [WindowDelete "Navodila ] end to NAZAJ1 listboxenable "lik "True buttonenable "potrdiK "True staticdelete "vrsta_rac listboxdelete "vrstaRac buttondelete "nazaj1 buttondelete "potrdi1 staticdelete "rezultat if equalp (item 0 :TabelaLiki) listboxgetselect "lik [ staticdelete "static1 comboboxdelete "combo1 staticdelete "static2 comboboxdelete "combo2 staticdelete "static3 comboboxdelete "combo3 ] if equalp (item 1 :TabelaLiki) listboxgetselect "lik [ staticdelete "static1 comboboxdelete "combo1 staticdelete "static2 comboboxdelete "combo2 ] if equalp (item 2 :TabelaLiki) listboxgetselect "lik [ staticdelete "static1 comboboxdelete "combo1 ] if equalp (item 3 :TabelaLiki) listboxgetselect "lik [ staticdelete "static1 comboboxdelete "combo1 staticdelete "static2 comboboxdelete "combo2 staticdelete "static3 comboboxdelete "combo3 ] end to START NALOZINIZE windowcreate "main "okno :s01 0 0 200 210 [] buttoncreate "okno "konec :s02 105 170 85 13 [KONEC] buttoncreate "okno "pomoc :s05 10 170 85 13 [NAVODILA] staticcreate "okno "lik_izberi :s03 10 10 60 25 listboxcreate "okno "lik 70 10 60 30 buttoncreate "okno "potrdiK :s04 150 10 40 13 [NADALJUJ] for [i 0 (:lengthTabelaLiki-1) 1] [ listboxaddstring "lik (item :i :TabelaLiki) ] end Make "a 1 Make "a1 [1] Make "alfa 23 Make "alfa1 [23] Make "b 2 Make "b1 [2] Make "c 3 Make "c1 [3] Make "em1 [gr] Make "em2 [miligram] Make "lengthtabelacas 5 Make "lengthtabeladol 9 Make "lengthtabelakolicin 5 Make "lengthtabelaliki 4 Make "lengthtabelamasa 6 Make "lengthtabelapov 7 Make "lengthtabelavol 7 Make "lengthtabelavrstaracuna 2 Make "myvar [] Make "myvar2 1000 Make "myvar3 1000 Make "ob 6.000 Make "obvestilo [|Ploščina lika je | 0.781] Make "pl 0.781 Make "r 2 Make "r1 [2] Make "s 3.000 Make "s01 [Obseg - Ploščina] Make "s02 [Izhod] Make "s03 [Izberi lik:] Make "s04 [Potrdi] Make "s05 [Pomoč] Make "s06 [Vrsta izračuna:] Make "s11 [Nazaj] Make "s12 [Izračunaj] Make "s13 [a =] Make "s14 [b =] Make "s15 [c =] Make "s16 [r =] Make "s17 [alfa =] Make "s21 "|Obseg lika je | Make "s22 "|Ploščina lika je | Make "s23 [Potrdi] Make "s24 [] Make "s31 "Rezultat: Make "s32 "ustreza Make "startup [START] Make "tabelacas {[sekunde] [minute] [ure] [dnevi] [tedni]}@0 Make "tabelacas2 {1 60 3600 86400 604800}@0 Make "tabeladol {[mm] [cm] [dm] [m] [km] [inč] [čevelj] [jard] [milja]}@0 Make "tabeladol2 {1 10 100 1000 1000000 25.4 304.8 914.4 1609344}@0 Make "tabelakolicin {[Čas] [Masa] [Dolžina] [Površina] [Prostornina]}@0 Make "tabelaliki {[trikotnik] [pravokotnik] [krog] [paralelogram]}@0 Make "tabelamasa {[miligram] [gr] [dg] [kg] [t] [lb]}@0 Make "tabelamasa2 {1 1000 10000 1000000 1000000000 453592.3745}@0 Make "tabelapov {[mm2] [cm2] [dm2] [m2] [ha] [km2] [aker]}@0 Make "tabelapov2 {1 100 10000 1000000 10000000000 1000000000000 4046856422.4063}@0 Make "tabelavol {[cm3 - ml] [dl] [dm3 - l] [hl] [m3] [gal] [skodelica]}@0 Make "tabelavol2 {1 100 1000 100000 1000000 3785.41 236.6}@0 Make "tabelavrstaracuna {[obseg] [ploščina]}@0 Make "tmp 0 Make "v1 1 Make "v2 [m3] Make "v3 [hl] Make "vr1 1