生徒実習課題例>>グラフィックソフトの作成
生徒実習課題例

グラフィックソフトの作成(簡易版)

お絵かき  表計算ソフトのシートに四角や円をお絵かき


科目の中の位置づけ

情報の科学(2)イ 問題の解決と処理手順の自動化


実習内容

ねらい

 まだ、パソコンがマイコンと呼ばれていた頃、線や丸を表示させるときにBASIC言語でlineとかcircleなどのコマンドでコンピュータに表示させていました。線の場合、線の両端の座標を指示して、線を表示させていました。どのようにして両端の座標から線を描いていたのかそのアルゴリズムを考えてみましょう。
 Excelのセルのサイズを小さくして、画面のドットの代わりにして、線や四角を表示さてみる。

実習に必要なもの

  • 作業用ファイル下記の作業用ファイル例に生徒用作業ファイルと見本用作業ファイルがあります。


作業用ファイル例
 作業用のファイル例を作成しました。
 表示するときは、下記のファイル名をクリックしてください。

 見本用作業ファイル
  "art.xls" Excel 97-2003ブック (85KB)

 生徒用作業ファイル
  "art_seito.xls" Excel 97-2003ブック (60KB)

 保存する場合は、表示した後、[ファイル]→[名前を付けて保存]してください。
 動画を表示したいときは、保存したものを用いてください。

授業プリント例
 授業用プリント、確認テスト、評価規準の例を作成しました。
  "39_oekaki.doc" Word 97-2003文書 (51KB)

実習方法

  1. 生徒用作業ファイルを配布する。
  2. Excelのシートを開く。マクロの編集の方法を確認する。
  3. 点を描くプログラムの作成。
  4. 横線を描くプログラムの作成。
  5. 縦線を描くプログラムの作成。
  6. 四角形をを描くプログラムの作成。

応用課題

  1. 斜め線、円および楕円を描くプログラムを作成する。
    または、生徒用ファイル中にある線、楕円のプログラムは隣どうしの点が離れることがあるので、そうならないように改良しよう。
  2. さらに、余裕があれば、プログラムを利用し、絵や模様の作品を作る。
  3. 実際に利用されている直線や円・楕円を描くアルゴリズムや表示する斜め線のギザギザを目立たなくする技術(アンチエイリアス)などについて調べてまとめよう。

1.応用課題プログラム作成例
Sub 線(x1, y1, x2, y2, c)
  Dim a As Single

  If x2 = x1 Then
    Call 縦線(x1, y1, x2, y2, c)
  Else
    a = (y2 - y1) / (x2 - x1)
    If x1 < x2 Then
      st = 1
    ElseIf x1 > x2 Then
      st = -1
    End If
    For i = x1 To x2 Step st
      j = Int(y1 + a * (i - x1))
      Call 点(i, j, c)
    Next i
  End If
End Sub
Sub 楕円(x1, y1, x2, y2, c)
  Dim tx, ty, r
  tx = (x2 + x1) / 2
  ty = (y2 + y1) / 2
  a = (x2 - x1) / 2
  b = (y2 - y1) / 2
  For i = x1 To x2
    j = Int(ty + (b / a) * Sqr((a - i + tx) * (a + i - tx)))
    Call 点(i, j, c)
    j = Int(ty - (b / a) * Sqr((a - i + tx) * (a + i - tx)))
    Call 点(i, j, c)
  Next
End Sub

2.制作作品例
作品例


3.調査例

 アンチエイリアスについて


時間配分 100分(前半の50分のみ実施も可能)

時間配分 生徒の動き 教師の動き
10分 学習内容配布されたファイルを開き、課題のシートを選択し、ねらい、課題の欄を読む。
  • 課題のシートの作画ウィンドウの説明(課題@〜A)を理解
  • 提示された作品例をみて、実習内容の理解
生徒用ファイルの配布。
課題のシート(課題@〜A)を読ませる。
補足説明。
作品例をみせて、実習内容のイメージを与える。
15分 実習内容(課題B)
 詳しい作業手順はExcelのファイル参照
  • ExcelのVBAのセルに着色するコマンドの実行。
  • 数字を変えて実行してみる。
  • Cellsの座標の指定の仕方がy座標が先であることに気づく。
課題B 手順を指示し、全員一斉に行なう。

 座標の指定の仕方がx、y座標が逆であること、=のあとの数字が色を指定することを確認する。
15分 実習内容(課題C)
 詳しい作業手順はExcelのファイル参照
  • 画面上のに点を描く、点(x1,y1,c)というプログラムの作成。
  • 上のコマンドを呼び出すプログラム1を作成。
  • 実行し、結果を確認する。
  • プログラム1の点の引数を変えても、動作するかの確認。
課題C 手順を指示し、全員一斉に行なう。

10分 実習内容(課題D)
 詳しい作業手順はExcelのファイル参照
  • 横線、縦線を引くプログラムの作成。
コンピュータの終了。確認。
課題D巡回、補足説明。

横線と縦線が作成できていないときは、次時までに考えてくるように指示。

本時のまとめ
15分 実習内容(課題D)
  • 横線、縦線を引くプログラムの確認。
  • 数字を変えても、うまく動作するか確認。
  • 指示されたものは、発表。

巡回し、下記のような数字でもうまく動作するかチェック
call 横線(100,40,20,40,3)
  ・・・後のほうのx座標が大きい場合

call 横線(100,40,100,40,3)
  ・・・x座標が同じ場合

生徒の作成したものの中から、横線を引くプログラムを発表させる。

うまく作成できなかったところには、完成しているプログラムをコピーさせ、アルゴリズムを理解したうえで次の課題に移るように指示する。
巡回、補足説明。
15分 実習内容(課題E)
  • 横線、縦線を引くプログラムを利用して、四角を描くプログラムの作成。
  • 数字を変えても、うまく動作するか確認。

巡回し、補足説明。
15分 実習内容(課題F)

 以下の応用課題の中からどれか取り組む。
  1. 斜め線を描くプログラム
  2. 円(楕円)を描くプログラム
  3. 生徒用ファイルのマクロの中にある斜め線、楕円のプログラムの改良
  4. 横線、縦線、四角を組み合わせて、模様を描くプログラムの作成

巡回し、補足説明。

終了の5分前になったら、指定された場所(メディア)に保存するように指示。
5分
コンピュータの終了。確認。
ファイルが保存、提出されたか確認。
提出したファイルを評価の対象とすることを伝える。

残った応用課題は、長期休業中の課題にすることを伝える。