ICT・Educationバックナンバー
ICT・EducationNo.38 > p18〜p21

教育実践例
プログラミング学習の実践
−Visual Basic.NETを利用してー
千葉県立船橋豊富高等学校 谷川 佳隆
1.はじめに
 本校は,「自律・友愛・進取」のもと,平成4年度から普通科ではいち早く情報コースを立ち上げ,教科「情報」の始まる10年以上前から情報教育を熱心に行っている普通科の高等学校です。主に数学の教員が,数学の授業でパソコン教室を利用しながら,プログラミングの学習を情報コースの生徒に指導していました。平成17年度から現在では,2年生情報コースの「情報B」の中でプログラミング学習を取り入れています。以前はMicrosoft Visual Basic6を使用してプログラミング学習を行っていましたが,3年前のパソコン教室のパソコンの入れ替えに伴い,現在のパソコンにインストールされているMicrosoft Visual Basic.NETを使用しています。
 2年次の「情報B」でプログラミング学習したことを生かして,3年次の数学IIの授業で2次方程式を解くソフトやグラフ作成ソフトなどを自作して数学の学習に活用しています。ここでは,2年次の「情報B」で行っているプログラミング学習の内容について作品を通して紹介します。

図1 Visual Basic.NETの実行画面
▲図1 Visual Basic.NETの実行画面
2.1年間の主な流れ
 私は,2年生のプログラム学習では,1時限多くても2時限以内に作品が完成することを目標にし,数多くの作品を生徒自身の手で作ることを目標に指導しています。1年間で20作品ほど簡単な作品を完成できるように学習計画を立てています。プログラミング学習の授業は独自プリントを使用して展開しています。
 1年間の流れは以下の通りです。1学期は入力と出力に関するプログラムがメインです。まずは文字のみ,次に図形を表示させるプログラムを作成の指導をしています。2学期は,条件判断や繰り返しや制御の基礎を取り入れたプログラムの作成の指導をしています。3学期は,タイマーイベントを取り入れて今までの内容からプログラムの作成を指導しています。
 定期考査は,プログラミングの出題はせず,教科書の内容から出題をしています。
3.1学期に指導した作品の紹介
 1学期では,まず,コードの中に書かれた文字を出力するプログラム「表示する場所」(図2・3参照)から始まり,テキストボックスなどから入力した文字を出力するプログラム,2数の入力した数を計算するプログラム「簡易電卓1号」(図4参照),そして,図形を描くプログラムを作成し,その後,今まで習ったことを元に自由作品を作成するよう指導しています(図5参照)。

図2 「表示する場所」の実行画面
▲図2 「表示する場所」の実行画面

図3 「表示する場所」の実行画面2
▲図3 「表示する場所」の実行画面2

 作品を実際に作りながら,必要に応じて用語について少しずつ教えています。用語を覚えることよりもプログラミングになれることをまず目標にしています。

図4 「簡易電卓1号」の実行画面
▲図4 「簡易電卓1号」の実行画面

図5 生徒「自由作品」の実行画面
▲図5 生徒「自由作品」の実行画面

 「簡易電卓1号」のコードからコメントを書くように指導をしています。0で割ったときの処理については,ここではエラーが出ることを教えることにとどめています。「自由作品」では,ボタンにより画像や文字が変化する作品を作るよう指導しています。生徒の想像力が生かされ,作品を見るのが楽しみです。
4.2学期に指導した作品の紹介
 2学期では,if〜then文を利用した「料金判断1号」,if〜then〜else文を利用した「料金判断2号」(図6参照),case文を利用した「料金判断3号」(図7参照)やチェックボタンとメッセージボックスを利用した「簡易電卓2号」(図8・9・10参照),リストボックスを利用した「簡易電卓3号」(図11参照),for〜next文を利用した「九九の表」(図12参照),画像を移動させ,画面の淵では止まるように制御したり,画像を向きにより切り替えたりする「潜水艦の移動」(図13参照)などの作品を作成するよう指導しています。
 昨年度は,2学期の終わりにタイマーイベントを利用して,「時間の取得」(図14参照),「時計1号」(図15参照)などの作品を作成するよう指導しました。
 「料金判断2号」では,条件による処理が正しくできるか,以上や未満の処理が正しいかを確認するよう指導しています。

図6 「料金判断2号」の実行画面
▲図6 「料金判断2号」の実行画面

図7 「料金判断3号」の実行画面
▲図7 「料金判断3号」の実行画面

図8 「簡易電卓2号」の実行画面
▲図8 「簡易電卓2号」の実行画面

 「簡易電卓2号」から,割るボタンを選択し,かつ0で割ったときの処理を入れ,メッセージボックスでエラーを表示するようコードを追加するよう指導を加えました。

図9「簡易電卓2号」のエラー表示画面1
▲図9「簡易電卓2号」のエラー表示画面1

 この表示の後,入力2のテキストが消え,テキストボックスにフォーカスがあたるようにします。

図10「簡易電卓2号」のエラー表示画面2
▲図10「簡易電卓2号」のエラー表示画面2

 また,計算の方法を選択していないときも同様にエラーメッセージを出すように,コードを追加することも指導しました。

図11 「簡易電卓3号」の表示画面
▲図11 「簡易電卓3号」の表示画面

 「簡易電卓3号」では,昨年度は紹介だけにとどめました。

図12 「九九の表」の実行画面
▲図12 「九九の表」の実行画面

 「九九の表」では,けた表示が不ぞろいであるが,表示を揃えた例を見せ,口頭でヒントを与えるだけでこの場の指導はとどめています。

 for〜nextについては,ここでは紹介しませんが「四角を埋める」という作品の中でも指導します。

図13 「潜水艦の移動」の実行画面
▲図13 「潜水艦の移動」の実行画面

 「潜水艦の移動」では,右上のボタンを押すと画面上の潜水艦が移動し,壁に当たるとそれ以上進まないように制御することと,左上に潜水艦の動いた軌跡を表示することを,この作品を作る前にそれぞれ別に指導して,この作品でまとめさせています。潜水艦の移動の軌跡は,5分の1のスケールにして表示できるよう作品を改良させます。

図14 「時間の取得」の実行画面
▲図14 「時間の取得」の実行画面

 「時間の取得」では,ラジオボタンとチェックボタンの学習も兼ね,時間の表示方法を学びながら作品を完成させます。
 「時計1号」では,時間を表示して実際に時計を動かすことを学びます。「時間の取得」作品もこの作品を完成させた後,時間が動くように改良します。

図15 「時計1号」の実行画面
▲図15 「時計1号」の実行画面
5.3学期に指導した作品の紹介
 3学期では,色についての学習プログラム「光の三原色」(図16参照),if文の復習で「小さい数の検索」(図17参照),タイマーイベントを用いた画像の移動プログラム「画像の移動」(図18参照),Do〜Loop構文を利用して画像を途中で止めて元の位置に戻すプログラム「ロケット打ち上げ」(図19参照),「自由作品」(図20参照)などの作品を作成するよう指導しています。

図16 「光の三原色」の実行画面
▲図16 「光の三原色」の実行画面

 「光の三原色」では,まずはRGBそれぞれ10進数で0から255までの数値を表示させます。Webページなどでの色の表示方法に触れた後に,数値を10進数から16進数に変える方法を指導します。

図17 「小さい数の検索」の実行画面
▲図17 「小さい数の検索」の実行画面

 if文を入れ子にして,最も小さい数がデータのどこにあっても表示できる作品を作るように指示します。余力がある生徒については,最も大きな数も表示できるように作品を改良させます。

図18 「画像の移動」の実行画面
▲図18 「画像の移動」の実行画面

 「画像の移動」では,タイマーイベントを2つ使用して2つの画像を移動させることを指導します。まず,両方とも右向きに別の速度で移動して,右端で消えたら左端から現れて再び右に移動する作品を作ります。その後,ヒントを与えて,1つの画像のみ左向きに移動する作品に作り変えさせます。
 画像が動くので,生徒の取り組み方が今までと違い生き生きしているように思えました。

図19 「ロケット打ち上げ」の実行画面
▲図19 「ロケット打ち上げ」の実行画面

図20 「自由作品」の実行画面
▲図20 「自由作品」の実行画面

 「ロケットの打ち上げ」では,Do〜Loop構文を利用して,ロケットを画面上部まで移動したら,ロケットを地面まで戻すように指導します。
 「ロケット打ち上げ」では縦方向の移動しかなかったので,横に動く「自由作品」を作らせ,生徒独自の発想が作品に生かすところができる場面を設けています。
6.おわりに
 プログラミング学習は,「ものづくり」観点や「物事を順序立てて考える」観点からなど,様々な観点でその有用性は認めることができると思います。
 理数系が苦手な生徒であったとしても,自分でプログラムしたものが試行錯誤しながらも実際に動くことの成功体験は,何よりも生徒にとってよい体験になることは間違いがないと確信しています。
 本校では現在,Microsoft VisualBasic.NETとMicrosoft Visual Basicfor Applications(ここでは紹介していないが本校の別の教員が指導している)を使用してプログラミング学習を実践していますが,ここで紹介したMicrosoft Visual Basic.NETは今もう販売されておらず,すでにMicrosoft Visual Basic2008にバージョンアップし販売されています。どのソフトを使用してプログラミング学習を行えばよいのかが,悩ましいところです。本校ではコンピュータ教室にあるパソコンにインストールされているソフトの中から選ぶしかないので,来年度以降はMicrosoft Visual Basic2008を使用して指導することになるのであろうと思うと,またソフトの仕様などについて学ばなければならないことが,プログラミング指導の初心者の私には,頭が痛い問題です。
※参考図書 河西朝雄著,『VB.NET 基礎学習Bible 』,技術評論社
前へ   次へ
目次に戻る
上に戻る