00_はじめに
VBScriptで、プログラミングの基礎について学習するための教材を作りました。
「今さら、BASIC?」と思われるかもしれませんが、
〇 Windows上ですぐ動く (作動環境の設定不要)
〇 メモ帳で簡単編集 (追加ソフトなし)
〇 ダブルクリックで実行 (コンパイル不要)
〇 構文エラー等をきちんと指摘 (デバッグしやすい)
〇 BASIC なので初心者向け (中学校レベルの英語)
など、プログラミング初心者に向いています。
初めから「エラーが出る」サンプルファイルもあります。修正して動くようにしてください。
修正、改良しながらプログラムの学習を進めるようにしました。
学習のしかた
サンプルファイルをダウンロードして、ファイルをメモ帳で開いて、課題に沿って学習を進めてください。
↓サンプルファイルはこちら(展開してからご利用ください)。
http://iwate-manabi-net.sakura.ne.jp/download/VBScript_sample_program.zip
プログラム実行のしかた
メモ帳等でプログラムを修正したら、「上書き保存」してください。そのファイルをダブルクリックするとプログラムが実行されます。
00_VBScriptの説明.vbs をダブルクリックして実行してみてください。
01_文字の表示.vbs
01_文字の表示.vbs をメモ帳で開いてください。
01_文字の表示.vbs をダブルクリックして実行してみてください。
1 課題
「こんにちは」を表示するように変えましょう
注意:文字は"半角ダブルクォーテーションで囲む"
→ 書き換えたら、メモ帳で「上書き保存」してください。
→ そのファイルをダブルクリックしてプログラムを実行してください。
2 課題
MsgBox(now) として今日の日付、現在の時刻を表示させて下さい。
3 発展
today に変更して、今日の日付を表示させてみましょう。
time に変更して、現在の時刻を表示させてみましょう。
課題、発展はファイル内に記載しています。
'★メッセージボックス
'1 課題
'「こんにちは」を表示するように変えましょう
' 注意:文字は"半角ダブルクォーテーションで囲む"
'2 課題
'MsgBox(now) として今日の日付、現在の時刻を表示させて下さい。
'発展
'today に変更して、今日の日付を表示させてみましょう。
'time に変更して、現在の時刻を表示させてみましょう。
MsgBox("Hello, world")
02_文字変数の表示.vbs
02_文字変数の表示.vbs をメモ帳で開いてください。
02_文字変数の表示.vbs をダブルクリックして実行してみてください。
※ファイル内の課題、発展のように書き換えてみましょう。
'★文字変数
'課題
'変数に名前を入れて表示するように変えましょう
' a & b & c
'課題
'シングルクォーテーションを削除してInputBox を使いましょう
'発展
' & vbCr を入れて改行してみましょう
Dim a,b,c
a = "こんにちは、"
b = ""
c = "です。"
'b = InputBox("名前を入れて下さい")
MsgBox(a)
03_変数の計算表示.vbs
03_変数の計算表示.vbs をメモ帳で開いてください。
03_変数の計算表示.vbs をダブルクリックして実行してみてください。
※ファイル内の課題、発展のように書き換えてみましょう。
'★数値変数
'
'課題
'変数を使って足し算の計算をしましょう
'
'課題
'かけ算の計算にしましょう
Dim a,b,c
a = Cint(InputBox("a + b を計算します。a ="))
b = Cint(InputBox("a + b を計算します。b ="))
c = a
MsgBox("答えは " & c)
04_くり返し.vbs
04_くり返し.vbs をメモ帳で開いてください。
04_くり返し.vbs をダブルクリックして実行してみてください。
※エラーが出ます。修正しましょう。
'★くり返し
'指定された数値までの足し算を計算するプログラムを完成させましょう。
'(最大255までは計算できます)
'
'課題
'For Next文を完成させましょう
Dim kazu,kotae,siki,i
kazu = Cint(InputBox("1から指定された数までの合計を計算します。1以上の数を入れて下さい。"))
kotae = 1
siki = "1"
For i=2 to kazu
kotae = kotae + i
siki = siki & "+" & i
MsgBox( siki & " = " & kotae)
05_条件判断.vbs
05_条件判断.vbs をメモ帳で開いてください。
05_条件判断.vbs をダブルクリックして実行してみてください。
※ファイル内の課題、発展のように書き換えてみましょう。
'★条件分岐
'
'課題
' < > <= >= を使って条件を変えてみましょう。
'
'発展
' リンゴ、スイカに文章を変えて、答えも変えましょう。
Dim a
a = Cint(InputBox("ミカンは何個まで食べることができますか?"))
If a = 1 Then
MsgBox("普通ですね(-_-)")
Else
MsgBox("食べすぎです(^_^);")
End If
06_条件くり返し_単語練習.vbs
06_条件くり返し_単語練習.vbs をメモ帳で開いてください。
06_条件くり返し_単語練習.vbsをダブルクリックして実行してみてください。
※エラーが出ます。修正しましょう。
※単語を増やしましょう。
'★条件分岐、くり返し、配列
'
'課題
' まずは3問が正しく表示されるようにしましょう。
'
'課題
' 単語を増やしてみましょう。
Dim mondai(10),kotae(10),tokuten
mondai(1) ="りんご"
kotae(1) ="apple"
mondai(2) ="ミカン"
kotae(2) ="orange"
mondai(3) ="イチゴ"
kotae(3) ="strawberry"
tokuten = 0
For kaisuu = 1 to 1
a = InputBox(mondai(kaisuu) & "を英語で答えなさい")
If a = kotae(kaisuu) Then
MsgBox(a + " 当たり。")
tokuten= tokuten + 1
Else
MsgBox(a + " はずれ。")
End If
MsgBox(tokuten & "問を正当しました。")
07_条件くり返し_クリックゲーム.vbs
07_条件くり返し_クリックゲーム.vbs をメモ帳で開いてください。
07_条件くり返し_クリックゲーム.vbs をダブルクリックして実行してみてください。
※ファイル内の課題、発展のように書き換えてみましょう。
'★条件分岐、くり返し、乱数の利用、時間の計算
'クリックする秒数を計算するプログラムです。
'
'課題
' まずは5回クリックするようにしましょう。
'
'発展
' 励ましの文章を変えてみましょう。
Dim bun(1000),zikan
zikan = Time
bun(1) ="クリック"
bun(2) ="クリック、クリック"
bun(3) ="急ぐんだ!"
bun(4) ="まだ、まだ、まだ!!"
bun(5) ="ラストです"
For kaisuu = 1 to 2
a = InputBox(bun(kaisuu),,,10000 * Rnd(1), 6000 * Rnd(1))
' x座標↑ Y座標↑
Next
MsgBox( (Time-zikan)*100000 & "秒かかりました。")
これで、プログラミングの基本である
・順次処理
・反復処理
・条件分岐処理
について学習できました。
ここまでよく頑張りましたね。
自分をほめてあげましょう。