[1] 生徒は教室に入ったら授業開始までタイピング練習を行う(2〜3分)
[2] 図1に示したプリント(A4)(以下 プリント)を配布する。
[3] 授業で配布するプリントの裏面には新聞や雑誌の切抜きから時事ネタを印刷しておき,授業の最初にその記事についての考察を行う。今回はテレビ番組録画代行業者が知的財産高等裁判所で勝訴した記事である。
(生徒が読んで考察する時間7分 解説3分)
[4] Excelファイル「セルを塗る.xls」(以下 「セルを塗る」)を配布する。
図1
[5] 「セルを塗る」を開かせるときに「マクロを有効にする」を選択させておく。(office2007では別操作) [6] プリントにあるとおり,Sheet1 にセルを塗る課題を提示する。
ア.セル(3,2)を塗れ。これはセルの場所のイメージを座標平面と重ね合わせられるように,表示をR1C1形式に変えさせてから指示を出した。(授業での生徒に対する説明(以下〈説〉)「原点が左上,x軸正方向が縦下方向,y軸正方向が横右方向になっている。ディスプレイに向かって,首を右に倒すと数学で扱う座標平面と同じ感覚になれるよ。」)
イ.(1,1)から(10,10)のセルを塗れ。これに対しては多くの生徒が範囲を選択して一気に塗ることができる。(〈説〉ドラッグして選択してから塗ることで一回の手間で塗ることができるね。では同じように選択し直して,塗った色を消しておこう。)ウ.の伏線として一度消させておく。
ウ.(1,1)から(10,10)のセルを枠状に塗れ。これは完成例(図2)を示して指示する。
図2
この課題に対しては一つひとつのセルを塗ったり,縦横の辺ごとに4回塗ったりする生徒が多く見受けられる。(〈説〉何人かが気づいたようだね。イ.の塗り方をした後でひと回り小さい(2,2)から(9,9)のセルを消す方法が能率がいいようだよ。)
エ.(1,1)から(10,10)のセルをひとつ置きに塗れ。これも完成例(図3)を示して指示する。
図3
この課題に対しては一つひとつのセルを塗っていく生徒が多い。
(〈説〉これはコピー機能を繰り返し使うと作業能率がよいね。これも何人かが気づいたようだね。)
いくつか塗ってはコピーして張り付け,さらにコピーを繰り返して課題を完成させてみせる。
(ここまでの Sheet1 での作業に15分)
[7] Sheet2 を選択する。Sheet2 にはセル(3,2)を黒く塗る機能を持ったプログラム(マクロ(VBA))を仕込んである。(〈説〉Sheet1 で行った作業はパソコンで行ってはいるが手作業といってもいいものだね。ではここからはコンピュータに命令をして課題を完成させよう。では AltキーとF11キーを同時に押してプログラムを見てみよう。プリントに従って簡単にプログラムの説明を加える。
Sub nuru()
Cells(3, 2).Interior.ColorIndex = 1
End Sub |
(〈説〉これはセル(3,2)を色番号1(黒)で塗れという命令だよ。このような命令文は覚える必要はないよ。必要になったら手に入れることができるんだ。)
ア.プログラムを実行させ,セル(3,2)が塗られることを確認する。(実行ボタンを押させる、またはF5を押すように指示する。)
イ.次のプログラムを提示してそのとおりに書き換えるように指示する。
Sub nuru()
x = 3
y = 2
Cells(x, y).Interior.ColorIndex = 1
End Sub |
(〈説〉これを実行してもさっきの場合と同じことなんだ。)
ウ.For Next 文の簡単な説明をしてから,次のプログラムを提示してそのとおりに書き換えるように指示する。
Sub nuru()
For i = 1 To 5
x = i
y = 2
Cells(x, y).Interior.ColorIndex = 1
Next i
End Sub |
(〈説〉これを実行して得られる結果はまだ手作業で十分だね。では一旦消して,このプログラムを書き換えてSheet1でやった作業を再現してみよう。
まず(1,1)から(10,10)のセルを塗らせるにはどうするか考えてみよう。)
エ.少し時間をとってから次のプログラムを提示してそのとおりに書き換えるように指示する。
Sub nuru()
For j = 1 To 10
For i = 1 To 10
x = i
y = j
Cells(x, y).Interior.ColorIndex = 1
Next i
Next j
End Sub |
(〈説〉これもまだプログラムのありがたさは伝わらないね。手作業で十分だね。でも For Next 文を2重に構えることで面白い結果も得られそうだよ。ではセルの色を一旦消して,このプログラムを書き換えてひとつおきのセルを塗らせてみよう。)
オ.少し時間をとってから次のプログラムを提示して,そのとおりに書き換えてから実行するように指示する。
Sub nuru()
For j = 1 To 5
For i = 1 To 5
x = 2 * i
y = 2 * j
Cells(x, y).Interior.ColorIndex = 1
Next i
Next j
End Sub |
(〈説〉ここらで手作業よりもプログラムで描かせる意義が感じられるようになったよ。さてもう一息,先ほど Sheet1 のようにひとつおきに塗らせるにはどうするか。一旦消してみよう。)
カ.少し時間をとってから次のプログラムを提示してそのとおりに書き換えてから実行するように指示する。
Sub nuru()
For j = 1 To 5
For i = 1 To 5
x = 2 * i
y = 2 * j
Cells(x, y).Interior.ColorIndex = 1
x = 2 * i - 1
y = 2 * j - 1
Cells(x, y).Interior.ColorIndex = 1
Next i
Next j
End Sub
|
(〈説〉どうですか。数学で学んだことのある偶数と奇数の表現が利用されているね。最初に Sheet1 でやった作業は手作業の域を出ていないけれども,Sheet2 でやった作業はパソコンに命令を出して描かせているって感じがしてくるね。)
(ここまでの Sheet2 での作業に25分)
[8] Sheet3 を選択する。Sheet3(図4)にはセルの範囲と色を指定してひとつおきにセルを塗る機能を持ったプログラム(マクロ(VBA))を仕込んである。
図4
(〈説〉Sheet2 で行った作業はパソコンに命令をしたといっていいだろうね。でも少し手間がかかる。誰もが出来るわけではないかも知れない。ではここでは事前に準備された機能を使ってみよう。Sheet3 で縦範囲と横範囲と色を数で指定してから「描く」とある部分をクリックしてごらん。「消す」とある部分をクリックしてから何度か繰り返してごらん。)
図5
(〈説〉Sheet3で行った作業は簡単でとっても便利だね。ボタンひとつでパソコンに命令ができる感じがいいね。誰でも利用が出来る。でも誰かが事前に準備してくれる必要があるね。そういう点ではSheet2で行った作業ほど自分の考えどおりに自由自在というわけにはいかないようだね。)
(ここまでの Sheet3 での作業に5分)
[9] 振り返りを行う(10分)
(〈説〉コンピュータで作業を行う立場にもいろいろあります。鉛筆と紙による従来の手作業を行うのと変わらない作業(Sheet1での作業)もあります。コンピュータに命令して単純作業の繰り返しを行わせる作業(Sheet2での作業)もあります。また,他人が作った仕組みを利用する作業(Sheet3での作業),他人に利用させるための仕組みを作る作業(Sheet3を作る作業)もあります。コンピュータで作業を行う場合を例にした本日の実習や1年間の情報の授業を通して,(★)内を参考にして,情報社会に参画する態度についてあなたの考えを述べなさい。)
( |
★他人の作った便利な機能を利用したい
★他人に便利な機能を提供したい
★コンピュータの仕組みを作る作業をしたい
★コンピュータをできるだけ遠ざけたい
★仕組みがわからない機能は使いたくない
★コンピュータ関連の仕事に就きたい
★仕組みの理解に努めたい |
等 )
|
|