design2
程式撰寫(二)
- to max :a :b
- if :a > :b [print [第一個值較大]]
- if :a < :b [print [第二個值較大]]
- if :a = :b [print [二個值一樣大]]
- end
- 練習題:三個數的比較?
- 提示:會用到「and」的使用,如and (:a>:b)(:a>:c)
- 題目二:輸入身高(公尺)及體重(公斤),算出身體質量指數(BMI),並評估是否肥胖?(困難度:**)
- BMI =(公斤)/ (公尺*公尺)
- BMI < 18.5(體重過輕)
- 18.5≦BMI<24(體重正常)
- 24≦BMI(體重過重)
- 程式:
- BMI =(公斤)/ (公尺*公尺)
- to bmi :H :W ;H:身高(公尺)、W:體重(公斤)
- make "b :W/:H/:H
- if :b<18.5 [print [體重過輕]]
- if and(:b>18.5)(:b<24) [print [體重正常]]
- if :b>24 [print [體重過重]]
- end
- 上面程式,並不完整!請多加一些說明,如會告知:
- 你的身高:XX 公尺
- 你的體重:XX 公斤
- 你的BMI值:XXX
- 體重XX
- 判斷句中,原本有「≦」,但忽略了「=」的判斷,該如何修改程式?
- 題目三:四則運算出題系統 (困難度:**)
- 設計「三位數」的加、減、乘、除混合題
- 程式:
- to exam :m ;m為題數,一共m題
- make "n 1 ;n為題號,如第n題
- repeat :m[
- make "a random 1000 ;隨機產生三位數的值
- make "b random 1000 ;隨機產生三位數的值
- make "c random 4 ;隨機產生0123
- if :c=0 [make "d "+] ;加
- if :c=1 [make "d "-] ;減
- if :c=2 [make "d "*] ;乘
- if :c=3 [make "d "/] ;除
- print (list :n ". :a :d :b "= )
- make "n :n+1
- ]
- end
- 如果要設計「教用版」的題目(有附解答),要如何設計?
- 提示: if :c=0 [make "d "+ make "f :a+:b]
- 題目四:輸入三個邊長,判斷能否組成一個三角形?(困難度:***)
- 組成三角形的條件:
- 三角形任二邊長和大於第三邊
- 三角形任二邊長差小於第三邊
- 程式:
- 組成三角形的條件:
- to tri :a :b :c
- ifelse and(:a+:b>:c)(:a-:b<:c)[
- ifelse and(:a+:c>:b)(:a-:c<:b)[
- ifelse and(:b+:c>:a)(:b-:c<:a)[
- print [這三個邊可以組合成一三角形]
- ][print [不成立]]
- ][print [不成立]]
- ][print [不成立]]
- end
- 要注意「括弧」是否搭配!
- 上述仍然不完整,任二邊長的差可能:a-:b或:b-:a,所以需要加入絕對值abs的使用,如下:
- make "d abs :a-:b
- make "e abs :a-:c
- make "f abs :b-:c