GRAD RIJEKA

RJEŠENJA ZADATAKA GRADSKOG NATJECANJA INFORMATIČARA OSNOVNIH ŠKOLA 1997./98. GODINE IZ PROGRAMSKOG JEZIKA LOGO

 

Rješenje 1. zadatka - GRAF.LGO -- Autor rješenja: Bojan Orlović

to graf :a :b :c :d :e
if or :a<0 :a>100 then [pr "Greska stop]
if not number? :a then [stop]
if not number? :b then [stop]
if not number? :c then [stop]
if not number? :d then [stop]
if not number? :e then [stop]
if or :b<0 :b>100 then [pr "Greska stop]
if or :c<0 :c>100 then [pr "Greska stop]
if or :d<0 :d>100 then [pr "Greska stop]
if or :e<0 :e>100 then [pr "Greska stop]
lt 90
fd 100
rt 90
fd 100
pu home pd
seth 0
kvad :e lt 90 fd 20 rt 90
kvad :d lt 90 fd 20 rt 90
kvad :c lt 90 fd 20 rt 90
kvad :b lt 90 fd 20 rt 90
kvad :a lt 90 fd 20 rt 90
end

to kvad :v
repeat 2[fd :v lt 90 fd 15 lt 90]
if :v >3 then [lt 45 pu fd 2 pd fill bk 2 rt 45]
end

 

Rješenje 2. zadatka - BROJ.LGO -- Autor rješenja: Damjan Marion

to broj :b
if :b < 0 [make "b :b * (-1)]
make "z (int (:b / 100)) + (remainder int (:b / 10) 10) + (remainder :b 10)
if :b < 10 [make "b 110 + :b]
if :b < 100 [make "b 100 + :b]
make "u (int (:b / 100)) * (remainder int (:b / 10) 10) * (remainder :b 10)
print (se [Zbroj znamenki je ] :z [a umnozak je] :u [.])
end

 

Rješenje 3. zadatka - SAH.LGO -- Autor rješenja: Damjan Marion

to sah :x
repeat int (:x / 2) [redak int ((:x / 2) + (remainder :x 2)) fd 10 redak int (:x / 2) bk 10]
if (remainder :x 2) = 1 redak (int (:X / 2) + 1)
end

to redak :a
repeat :a [repeat 9 [pd fd 9 pu bk 9 lt 90 fd 1 rt 90] pu lt 90 bk 9 rt 90 fd 20]
pu bk :a * 20 lt 90 fd 9 rt 90
end

 

Rješenje 4. zadatka - RIMSKI.LGO -- Autor rješenja: Damjan Marion

TO PRETV :X
IF EMPTY? :X [PRINT (SE [Arapski broj je ] :ZBROJ [.]) STOP]
MAKE "L LAST :X
IF :L = "I [MAKE "B 1]
IF :L = "V [MAKE "B 5]
IF :L = "X [MAKE "B 10]
IF :L = "L [MAKE "B 50]
IF :L = "C [MAKE "B 100]
IF :L = "D [MAKE "B 500]
IF :L = "M [MAKE "B 1000]
IF :PRE > :B [MAKE "ZBROJ :ZBROJ - :B]
IF OR :PRE < :B :PRE = :B [MAKE "ZBROJ :ZBROJ + :B]
MAKE "PRE :B
PRETV BUTLAST :X
END

TO RIMSKI
MAKE "PRE 0
MAKE "ZBROJ 0
PRINT [Unesite rimski broj:]
MAKE "A READ
PRETV :A
END