入力を使うプログラム 🔰
前回作成した正多角形を描くプログラムで辺の数や辺の長さを変えるには,1 行目の変数 :N
や 2 行目の変数 :L
に代入する数値を変える必要があります.
たいした手間ではありませんが,プログラムを実行したら辺の数や辺の長さをたずねてくれると,タートルと対話している気分になれそうです.
そこで,次のようなプログラムに書きかえてみましょう※1.
1~3 行めにある (
は Shift キーを押し下げたまま 8 をタイプすると入力できます (Shift+8 と書くことにします).
)
は Shift+9," (ダブルクォーテーション) は Shift+2 で入力できます.
アルファベットや数字,記号,空白は必ず日本語変換をオフにして入力してください.
:N = INT (INPUT "辺の数") ; 辺の数を整数として入力する
:L = FLOAT (INPUT "辺の長さ") ; 辺の長さを実数として入力する
:A = FLOAT (INPUT "外角") ; 外角を実数として入力する
REPEAT :N [
FD :L
RT :A
]

このプログラムを実行すると図1 のようなダイアログボックスが表示されます. 辺の数 (たとえば 6) を入力して OK をクリックすると,辺の長さを入力するダイアログボックスが表示されます. 辺の長さ (たとえば 2cm) を入力して OK をクリックすると※2,外角を入力するダイアログボックスが表示されます. 外角 (たとえば 60) を入力して OK をクリックすると,辺の長さ 2cm の正六角形が描かれるはずです.
少しこまかい話となりますが,指を使うなどして 1 つずつかぞえることができる数を整数といいます. 身長や体重のように小数点より下の位まで使ってあらわす数を実数といいます※3. このプログラムでは辺の数は整数として,辺の長さと外角は実数として入力しています.
正多角形を描くプログラムでは外角をタートルに計算してもらっていたのに,なぜこのプログラムではわざわざ入力してもらうのでしょうか. そう思った人は,ぜひ表1 のような組み合わせでプログラムを動かして,どんな図形が描かれるかたしかめてみてください※2.
辺の数 | 辺の長さ | 外角 |
---|---|---|
5 | 4cm | 360/5 |
5 | 4cm | 720/5 |
7 | 4cm | 360/7 |
7 | 4cm | 720/7 |
7 | 4cm | 1080/7 |
15 | 4cm | 96 |
20 | 4cm | 162 |
30 | 4cm | 84 |
40 | 4cm | 153 |
45 | 4cm | 88 |
表1の組み合わせは,かならずスタート地点までタートルが戻ってきて,輪のようにつながる図形が描けます (閉じた図形ともよびます). 思ったよりもいろいろな図形が描けたと感じられるのではないでしょうか. 直線だけで描いているはずなのに,円や曲線のように見える図形がありませんでしたか. キレイとか楽しいと感じた人は,次のようなことについて考え,実際の動作をたしかめてみましょう.
- 辺の数を 12 や 24 にして星形を描くには,外角にどんな入力をすればよいでしょう.
- 閉じた図形にするためには,辺の数と外角の関係をどのように保てばよいでしょう.
出力を使うプログラム 🔰
いろいろなプログラムを作っていると,変数にどんな値が代入されているかたしかめたくなることがあります. そのようなときには出力命令を使うとよいでしょう. たとえば,式を入力すると,計算結果を出力するようなプログラムは次のように書けます※4.
:X = FLOAT (INPUT "計算式")
PRINT :X

このプログラムを実行すると図1 のようなダイアログボックスが表示されます. 計算したい式 (たとえば 1 + 2) を入力して OK をクリックすると,図2 のように計算結果がダイアログボックスとして表示されます. OK をクリックするとダイアログボックスが閉じます (何の図形も描かれません).
式には数字,+,-,* (かけ算),/ (割り算) はもちろん,円周率をあらわす PI や,高校や高専に入ってから習うような平方根や三角関数を使うこともできます. くわしくは Writer のオンラインヘルプ を読んでください.
ダイアログボックスにただ数値だけを出力するだけでは味気ないので,入力した式と計算結果が表示されるようにしてみましょう. 次のようなプログラムに書きかえてみてください※4.
:Y = INPUT "計算式"
:Z = FLOAT :Y
PRINT :Y + " = " + STR :Z
プログラムを実行すると図1 のようなダイアログボックスが表示されます. 計算したい式 (たとえば 1 + 2) を入力して OK をクリックしたとき,どんな出力になるでしょうか. つぎに,円周率をあらわす PI を入力して,タートルがどれくらい正確な円周率の値を知っているか,たしかめてみてください※5.