OriosのActiveBasic講座(1-1):やってみようの答え(1-1)

1.数字の出力
【問題】

コンソールモードで、ウィンドウに「12345」を5秒間表示させるプログラムをつくってみよう。

【解答例】
#console
Print 12345
Sleep(5000)
End
【解説】

数字を表示させるには「Print」の後に半角スペースと表示させたい数字を書けばよかったですね。 注意する点は、今回は5秒表示させるので「Sleep」の後には「5000」(単位:ミリ秒)をカッコにくくって書きます。

2.文字列の出力
【問題】

次の文字を表示させてみましょう。

  • 「私の名前は○○です。」
  • 「Print 123」
  • (数字の)「123」と(文字列の)"123"を並べて
【解答例】
#console
Print "私の名前は○○です。" '○○に自分の名前を入れてみてください。
Print "Print 123"
Print 123;
Print "123"
Sleep(3000) 'ここは別に何秒でもOK。以降の問題も同じ。
End
【解説】

「文字列は『"』で囲む」を徹底しましょう。特に3行目は「"」で囲まないとエラーになります。 4行目、5行目の違いが気になる人はコラムを見ましょう。

あと本編で使うことがないので詳しくは言っていませんが、 行の途中で「'」を使うとそこからその行の最後までがコメントとして扱われます。

3.計算式
【問題】
(1) 次の計算式の結果を表示させましょう。
  • 12 + 34 - 46
  • 3 × 4 ÷ 12
  • 28を254で割った余り
  • 6 - 2 × 3
(2)以下に括弧を外した計算式があります。 計算式が正しくなるように括弧を補って表示させてみましょう。 (注:この問題はプログラミングの技術うんぬんというよりはパズルみたいなものなので、もしできなくても気にしないでください。)
  • 2 + 4 * 3 + 7 * 2 + 1 / 11 = 11
  • 10 * 7 + 1 * 100 + 2 * 8 + 1 = 7117
【解答例】
#console
'(1)の答え
Print 12 + 34 - 46;
Print 3 * 4 / 12;
Print 2 ^ 8 Mod 254;
Print 6 - 2 * 3;
'(2)の答え
Print ((2 + 4) * (3 + 7) * 2 + 1) / 11;
Print (10 * 7 + 1) * 100 + 2 * 8 + 1;
Sleep(3000)
End
【解説】

(1)は与えられた計算式を正確にプログラミング用の式に変換できればOKです。 (2)は小町算的パズルなので別に出来なくてもプログラミング技術がどうのこうのというものではありません。 ちなみに(1)(2)の結果を横一列に並べるとよくCMで見かける某保険会社のフリーダイヤル……。

4.変数
【問題】
(1) あらかじめLong型変数「a」「b」に、それぞれ「20」「10」を代入しておき、その2つの変数を加減乗除した結果を、Long型変数「c」「d」「e」「f」にそれぞれ代入して、それらを並べて表示させるプログラムをみましょう。
(2) String型変数「str」に"*"を1個ずつ連結していき、その度に「str」の内容を表示させていくプログラムを作ってみましょう。 ただし"*"は3回増やすだけで構いません。
【表示結果】
*
**
***
【解答例】
#console
'(1)の答え
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Long
Dim e As Long
Dim f As Long
a = 20
b = 10
c = a + b
d = a - b
e = a * b
f = a / b
Print c; d; e; f
'(2)の答え
Dim str As String
str = "*"
Print str
str = str + "*"
Print str
str = str + "*"
Print str
Sleep(3000)
End
【解説】

ここでは変数という概念を理解して実際に使えるようになりましょう。 それぞれのやっていることがイマイチなときはもう一回1-1-4「変数」で確認してください。 あと(2)では同じことを繰り返していますが、これはコピー&ペーストを使うと楽に出来ます。 本当はこのような繰り返しは専用の命令語・構文があるのですが、これは第二章で学習します。

5.Input命令語
【問題】

「2つの数字を入力してください。」と表示させてユーザに数字を入力してもらい、その2つの数字を加減乗除した結果をそれぞれ表示するプログラムを作ってみましょう。 ただし「?」は表示させるようにしてください。

【解答例】
#console
Dim a As Long
Dim b As Long
Input "2つの数字を入力してください。"; a, b
Print a + b '分かりやすく「Print "和="; a + b」としても構いません。以下同じ
Print a - b
Print a * b
Print a / b
Sleep(3000)
End
【解説】

ここではInput文を正しく使えるようにしましょう。 分かりにくい人はもう一回1-1-5「変数」を見ながら確かめてみてください。 あと忘れがちなのは「?」ですが「;」を使うと表示、「,」だと非表示になることを覚えておきましょう。


ご質問・ご意見・ご感想・苦情等はメールまたはメイン掲示板のActiveBasic板などでお気軽にどうぞ。

前に戻る - 次に進む

ホーム > OriosのActiveBasic講座(トップページ) >