to Navodila WindowCreate "GlavnoOkno "Navodila "Navodila 20 20 250 125 [] StaticCreate "Navodila "StatNav1 [Navodila za uporabo programa] 5 5 210 10 StaticCreate "Navodila "StatNav2 [1.korak: Izberi ustrezno funkcijo.] 5 20 210 10 StaticCreate "Navodila "StatNav3 [2.korak: Vnesi željene podatke.] 5 30 210 10 StaticCreate "Navodila "StatNav4 [3.korak: Izberi lokacijo grafa.] 5 40 210 10 StaticCreate "Navodila "StatNav5 [4.korak: Kvadratna in linearna skupaj.] 5 50 210 10 StaticCreate "Navodila "StatNav6 [5.korak: Primerjava grafov.] 5 60 210 10 StaticCreate "Navodila "StatNav7 [6.korak: Končaj in zapusti program.] 5 70 210 10 ButtonCreate "Navodila "TipkaNav1 "Vredu 5 90 55 10 [WindowDelete "Navodila] end to TicksAndLabels setlabelfont [[Times New Roman] -12 0 270 400 0 0 0 0 3 2 1 18] ; x os make "x 0 make "count 0 while [:x < 200] [ PENUP SetXY (:x) (-5) PENDOWN SetXY (:x) (5) PENUP SetXY (:x) (-10) PENDOWN ;label (:count * (:maxx / 10)) make "x :x+20 make "count :count+1 ] make "x 0 while [:x > -200] [ PENUP SetXY (:x) (-5) PENDOWN SetXY (:x) (5) make "x :x-20 ] ; y os make "y 0 while [:y < 200] [ PENUP SetXY (-5) (:y) PENDOWN SetXY (5) (:y) make "y :y+20 ] make "y 0 while [:y > -200] [ PENUP SetXY (-5) (:y) PENDOWN SetXY (5) (:y) make "y :y-20 ] PENUP end to CoordSistem SetPos [200 0] SetPos [-200 0] Home SetPos [0 200] SetPos [0 -200] PENUP SetPos [-200 200] PENDOWN SetPos [200 200] SetPos [200 -200] SetPos [-200 -200] SetPos [-200 200] PENUP end to KlikNarisi1 WindowCreate "GlavnoOkno "Narisi1 [Obnovi in nariši] 20 20 150 50 [] StaticCreate "Narisi1 "StatN5 [Funkcija se bo zrisala v novi graf!] 5 5 130 10 ButtonCreate "Narisi1 "TipkaN30 "Nariši 40 20 55 10 [WindowDelete "Narisi1 Narisi "1] end to KlikNarisi2 WindowCreate "GlavnoOkno "Narisi2 "Dodaj 20 20 150 50 [] StaticCreate "Narisi2 "StatN4 [Funkcija se bo zrisala v obstoječi graf!] 5 5 130 10 ButtonCreate "Narisi2 "TipkaN20 "Nariši 40 20 55 10 [WindowDelete "Narisi2 Narisi "2] end to Narisi :kako if :dodaj = 0 [ CS HT PENUP Home PENDOWN make "minx (first ComboBoxGetText "Vnos23) make "maxx (first ComboBoxGetText "Vnos24) make "miny (first ComboBoxGetText "Vnos25) make "maxy (first ComboBoxGetText "Vnos26) make "scalex (:maxx - :minx) / 400 make "scaley (:maxy - :miny) / 400 CoordSistem TicksAndLabels make "dodaj 1 ] if :kako = 1 [ CS HT PENUP Home PENDOWN make "minx (first ComboBoxGetText "Vnos23) make "maxx (first ComboBoxGetText "Vnos24) make "miny (first ComboBoxGetText "Vnos25) make "maxy (first ComboBoxGetText "Vnos26) make "scalex (:maxx - :minx) / 400 make "scaley (:maxy - :miny) / 400 CoordSistem TicksAndLabels ] SetPenSize [1 1] setpencolor [000 000 000] Home SetPenSize [2 2] ; ; Linearna if :Trenutno = 1 [ ; make "k (first ComboBoxGetText "Vnos1) make "n (first ComboBoxGetText "Vnos2) make "y ((:k)*(0)+(:n)) SetXY (0) (:y / :scaley) PENDOWN make "x 0 make "y 0 while [:x < :maxx+1] [ make "y ((:k)*(:x)+(:n)) if (:y / :scaley) > 200 [PENUP] if (:y / :scaley) < -200 [PENUP] SetXY (:x / :scalex) (:y / :scaley) make "x :x+1 ] PENUP Home make "y ((:k)*(0)+(:n)) SetXY (0) (:y / :scaley) PENDOWN make "x 0 make "y 0 while [:x > :minx-1] [ make "y ((:k)*(:x)+(:n)) if (:y / :scaley) > 200 [PENUP] if (:y / :scaley) < -200 [PENUP] SetXY (:x / :scalex) (:y / :scaley) make "x :x-1 ] PENUP Home ; ] ; ; Kvadratna if :Trenutno = 2 [ ; make "a (first ComboBoxGetText "Vnos11) make "b (first ComboBoxGetText "Vnos12) make "c (first ComboBoxGetText "Vnos13) make "y ((:a)*(0*0)+(:b)*(0)+(:c)) SetXY (0) (:y / :scaley) PENDOWN make "x 0 make "y 0 while [:x < :maxx+1] [ make "y ((:a)*(:x*:x)+(:b)*(:x)+(:c)) if (:y / :scaley) > 200 [PENUP] if (:y / :scaley) < -200 [PENUP] SetXY (:x / :scalex) (:y / :scaley) make "x :x+0.1 ] PENUP Home make "y ((:a)*(0*0)+(:b)*(0)+(:c)) SetXY (0) (:y / :scaley) PENDOWN make "x 0 make "y 0 while [:x > :minx-1] [ make "y ((:a)*(:x*:x)+(:b)*(:x)+(:c)) if (:y / :scaley) > 200 [PENUP] if (:y / :scaley) < -200 [PENUP] SetXY (:x / :scalex) (:y / :scaley) make "x :x-0.1 ] PENUP Home ; ] SetPenSize [1 1] end to IzberiFunkcijo WindowCreate "GlavnoOkno "IzberiHelp "Izberi 20 20 150 50 [] StaticCreate "IzberiHelp "StatN3 [Pravkar ste izbrali funkcijo!] 5 5 100 10 ButtonCreate "IzberiHelp "TipkaN10 "Izberi 40 20 55 10 [WindowDelete "IzberiHelp Run ListBoxGetSelect "Seznam] end to Linearna if :Trenutno=0 [ StaticCreate "GlavnoOkno "Stat2 [Linearna funkcija] 80 5 80 10 StaticCreate "GlavnoOkno "Stat3 [Oblika enačbe => y = k * x + n] 90 25 100 10 StaticCreate "GlavnoOkno "Stat4 [k - naklonski koeficient:] 100 40 100 10 ComboboxCreate "GlavnoOkno "Vnos1 180 38 30 10 StaticCreate "GlavnoOkno "Stat5 [n - odsek na osi y:] 100 55 120 10 ComboboxCreate "GlavnoOkno "Vnos2 180 53 30 10 ] if :Trenutno=2 [ StaticDelete "Stat12 StaticDelete "Stat13 StaticDelete "Stat14 StaticDelete "Stat15 StaticDelete "Stat16 ComboboxDelete "Vnos11 ComboboxDelete "Vnos12 ComboboxDelete "Vnos13 StaticCreate "GlavnoOkno "Stat2 [Linearna funkcija] 80 5 80 10 StaticCreate "GlavnoOkno "Stat3 [Oblika enačbe => y = k * x + n] 90 25 100 10 StaticCreate "GlavnoOkno "Stat4 [k - naklonski koeficient:] 100 40 100 10 ComboboxCreate "GlavnoOkno "Vnos1 180 38 30 10 StaticCreate "GlavnoOkno "Stat5 [n - odsek na osi y:] 100 55 120 10 ComboboxCreate "GlavnoOkno "Vnos2 180 53 30 10 ] make "Trenutno 1 end to Kvadratna if :Trenutno=1 [ StaticDelete "Stat2 StaticDelete "Stat3 StaticDelete "Stat4 StaticDelete "Stat5 ComboboxDelete "Vnos1 ComboboxDelete "Vnos2 StaticCreate "GlavnoOkno "Stat12 [Kvadratna funkcija] 80 15 80 10 StaticCreate "GlavnoOkno "Stat13 [Oblika enačbe => y = a * (x*x) + b * x + c] 90 25 200 10 StaticCreate "GlavnoOkno "Stat14 [a - koeficient:] 100 40 100 10 ComboboxCreate "GlavnoOkno "Vnos11 180 38 30 10 StaticCreate "GlavnoOkno "Stat15 [b - koeficient:] 100 55 120 10 ComboboxCreate "GlavnoOkno "Vnos12 180 53 30 10 StaticCreate "GlavnoOkno "Stat16 [c - odsek na y osi:] 100 70 120 10 ComboboxCreate "GlavnoOkno "Vnos13 180 68 30 10 ] make "Trenutno 2 end to KlikIzhod WindowCreate "GlavnoOkno "IzhodHelp [Izhod iz programa] 20 20 150 50 [] StaticCreate "IzhodHelp "StatN2 [Ali želiš zapustiti program?] 5 5 100 10 ButtonCreate "IzhodHelp "TipkaN2 "Vredu 5 20 55 10 [WindowDelete "IzhodHelp Izhod] ButtonCreate "IzhodHelp "TipkaN3 "Prekliči 65 20 55 10 [WindowDelete "IzhodHelp] end to Izhod WindowDelete "GlavnoOkno SetScreenColor [255 255 255] SetPC [000 000 000] SetPenSize [1 1] cs end TO Funkcije ; zbriši zaslon in skrij želvo CS HT ; kreiraj novo okno WindowCreate "main "GlavnoOkno "Funkcije 0 0 230 170 [] ; kreiraj statični objekt StaticCreate "GlavnoOkno "Stat1 [Izberi funkcijo] 5 5 55 10 ListBoxCreate "GlavnoOkno "Seznam 5 15 55 30 ListBoxAddString "Seznam [Linearna] ListBoxAddString "Seznam [Kvadratna] ButtonCreate "GlavnoOkno "Tipka1 "Izberi 5 55 55 10 [IzberiFunkcijo] ButtonCreate "GlavnoOkno "Tipka2 [Navodila] 5 70 55 10 [Navodila] ButtonCreate "GlavnoOkno "Tipka3 "Izhod 5 85 55 10 [KlikIzhod] ButtonCreate "GlavnoOkno "Tipka4 [Dodaj] 80 85 55 10 [KlikNarisi2] ButtonCreate "GlavnoOkno "Tipka41 [Obnovi in nariši] 150 85 60 10 [KlikNarisi1] StaticCreate "GlavnoOkno "Stat22 [Meje koordinatnega sistema] 5 110 200 10 StaticCreate "GlavnoOkno "Stat23 [Min X:] 5 125 100 10 ComboboxCreate "GlavnoOkno "Vnos23 30 123 30 10 ComboboxSetText "Vnos23 [-10] StaticCreate "GlavnoOkno "Stat24 [Max X:] 75 125 100 10 ComboboxCreate "GlavnoOkno "Vnos24 100 123 30 10 ComboboxSetText "Vnos24 [10] StaticCreate "GlavnoOkno "Stat25 [Min Y:] 5 140 100 10 ComboboxCreate "GlavnoOkno "Vnos25 30 138 30 10 ComboboxSetText "Vnos25 [-10] StaticCreate "GlavnoOkno "Stat26 [Max Y:] 75 140 100 10 ComboboxCreate "GlavnoOkno "Vnos26 100 138 30 10 ComboboxSetText "Vnos26 [10] Linearna END make "Trenutno 0 make "k 0 make "n 0 make "a 0 make "b 0 make "c 0 make "minx -10 make "maxx 10 make "miny -10 make "maxy 10 make "scalex 0 make "scaley 0 make "dodaj 0 Funkcije