design3
程式撰寫(三)
- to 9x9
- make "m 2
- make "n 1
- repeat 8[
- repeat 9[
- print (list :m "X :n "= :m*:n)
- make "n :n+1
- if :n>9 [make "n 1]
- ]
- make "m :m+1
- ]
- end
- 你還有不同解法嗎?
- 如運用「while」來做!
- 如何調整,可以不用if :n>9 [make "n 1]那行!
- 題目六:算出「質數」 (困難度:*****)
- 「質數」是除了1與本身外,沒有其他的因數,如:2、3、5、7、11、13...
- 程式:
- to prime :a
- print 2
- make "b 3
- make "c :a-:b+1
- repeat :c[
- make "d 2
- make "e :b-:d
- make "f 0
- repeat :e[
- make "g remainder :b :d
- ifelse :g=0 [make "e -1][make "d :d+1 make "f :f+1]
- ]
- if :e=:f [print :b]
- make "b :b+1
- ]
- end
- 題目七:猜數字遊戲 (困難度:******)
- 構想中:也就是電腦會亂數出一個四位數的數值,然後我們輸入一個猜測的數值,電腦會告知「幾A幾B」,一直到完全答對為止!
- 題目八:時鐘 (困難度:**********)
- TO AAA
- CLOCK
- END
- TO CLOCK
- CS
- HT
- DRAWFACE
- MAKE "SEC 0
- MAKE "MIN 0
- MAKE "HOUR 0
- PLOTTIMEHOUR :HOUR
- PLOTTIMEMIN :MIN
- PLOTTIMESEC :SEC
- SETTIMER 1 1000 [UPDATE]
- END
- TO DRAWFACE
- SETHEADING 30
- PU
- REPEAT 12 ~
- [~
- FD 120 ~
- SETX XCOR-12 ~
- SETY YCOR+12 ~
- MAKE "SH HEADING
- SETHEADING 90
- LABEL REPCOUNT ~
- SETHEADING :SH
- SETX XCOR+12 ~
- SETY YCOR-12 ~
- BK 120 ~
- RT 30 ~
- ]
- END
- TO GETTIME
- MAKE "THETIME TIME
- MAKE "THETIME BUTFIRST :THETIME
- MAKE "THETIME BUTFIRST :THETIME
- MAKE "THETIME BUTFIRST :THETIME
- MAKE "THETIME FIRST :THETIME
- MAKE "THETIME PARSE MAP "OO :THETIME
- OUTPUT :THETIME
- END
- TO OO :A
- IFELSE EQUALP ": :A [OUTPUT CHAR 32] [OUTPUT :A]
- END
- TO PLOTTIMEHOUR :HOUR
- PENREVERSE
- SETPENSIZE [5 5]
- SETHEADING :HOUR*30
- PD
- FD 50
- PU
- BK 50
- END
- TO PLOTTIMEMIN :MIN
- PENREVERSE
- SETPENSIZE [2 2]
- SETHEADING :MIN*6
- PD
- FD 100
- PU
- BK 100
- END
- TO PLOTTIMESEC :SEC
- PENREVERSE
- SETPENSIZE [1 1]
- SETHEADING :SEC*6
- PD
- FD 100
- PU
- BK 100
- END
- TO UPDATE
- MAKE "THETIME GETTIME
- MAKE "NHOUR FIRST :THETIME
- MAKE "THETIME BUTFIRST :THETIME
- MAKE "NMIN FIRST :THETIME
- MAKE "THETIME BUTFIRST :THETIME
- MAKE "NSEC FIRST :THETIME
- PLOTTIMESEC :SEC
- IF NOT EQUALP :MIN :NMIN~
- [~
- PLOTTIMEMIN :MIN ~
- IF NOT EQUALP :HOUR :NHOUR~
- [~
- PLOTTIMEHOUR :HOUR ~
- PLOTTIMEHOUR :NHOUR ~
- ]~
- PLOTTIMEMIN :NMIN ~
- ]
- PLOTTIMESEC :NSEC
- MAKE "HOUR :NHOUR
- MAKE "MIN :NMIN
- MAKE "SEC :NSEC
- END
- TO ZZZ
- IFELSE YESNOBOX [WELCOME] [CHOOSE YES TO RUN EXAMPLE NOW, CHOOSE NO STUDY IT NOW.] [AAA] [EDALL]
- END
- MAKE "STARTUP [ZZZ]