トップページへ戻る

教材研究「授業方法研究」

Javaに関する研究(教員の勉強方法や生徒が疑問に思うポイント等)

Java覚書をご覧下さい。

VBAでのコントロール配列

コントロール配列とは、ラベルやコマンドボタンなどを配列のように使用できる、というものである。VB6.0では使えたが.NETやVBAではコントロール配列の機能が備わっていない。 例えばフォーム上にボタンが1つとラベルが10個あり、ボタンをクリックすると10個のラベル全てを初期化する場合を考える。

コントロール配列を使わない場合

Label1.Caption = ""
Label2.Caption = ""
Label3.Caption = ""
Label4.Caption = ""
Label5.Caption = ""
Label6.Caption = ""
Label7.Caption = ""
Label8.Caption = ""
Label9.Caption = ""
Label10.Caption = ""

VB6.0でコントロール配列を使った場合

ラベル作成時にラベルをコピーし、コントロール配列にしておく必要がある。

Dim i As Long
For i = 1 To 10
Label1(i).Caption = ""
Next i

VBAでコントロール配列っぽく使用する場合

ラベル名は、Label1、Label2、Label3・・・である。

Dim i As Long
For i = 1 To 10
Me.Controls("Label" & i).Caption = ""
Next i

※通常の配列にコントロールを格納しコントロール配列のように使用する、という手法もある。
VBAでのコントロール配列っぽい使用は「コントロール配列 VBA」で検索して下さい。

注意点

現行VBでもVBAでも存在しないコントロール配列という手法にこだわる必要があるかどうか考え直したほうが良い。コントロール配列ではなくイベントハンドラを使って実現したほうが良いのではないか。VB6.0ライクなVB.NETやVBAを見直すきっかけと捉えたい。

科目「プログラミング」の指導に関する雑感

流れ図の指導について

流れ図(フローチャート)は現場では使われていない、弊害がある、という意見も多い。それでも指導する意味は何だろうか。 確かに授業で指導するフローチャートは言語とほとんど1対1で対応するので図示する必要があまりない。 ましてやJavaなどのオブジェクト指向だと考えるツールとしてはUMLの方が必要ではないだろうか。 「検定で実施されているから」という理由だけでフローチャートを盲目的に学習させることの無いように、自分自身がフローチャートの必要性を考える必要がある。

言語の選択

教科「商業」の科目「プログラミング」では伝統的にCOBOLが指導されてきた。その昔はCOBOLのニーズがあり、全商検定でも実施されており、基本情報の選択言語でもあり、教えやすい言語でもあるからである。 しかし、全商検定では廃止され、現場でもCOBOLの新規の案件ではなく保守がメインになっている。
教科「商業」の科目「プログラミング」の教科書はJavaしかなく、全商検定ではJavaとイベント駆動型言語(≒VBA)が採用されているので、高校現場の指導はJavaかVBAが大半である。 しかし、「教科書がJavaだから」とか「検定がJavaかVBAだから」という理由だけで言語を選択して良いとは思わない。

単に「作る楽しさ」や「創造性」などを重視するのであればScratchやViscuit等のビジュアルプログラミング言語でもよい。LEGOマインドストームも面白い。
エンドユーザーを意識するのであればVBAやHTML+CSS+JavaScriptがよいかもしれない。
エンジニア養成なら、早いうちからJavaを触ったという経験をさせるためにJavaでもよいかもしれない。しかし、OOPは高校生には難しいと感じる。 「Javaを触った」「文法を学んで、例題でポリモーフィズムしてみた」くらいしか学習できないかもしれない。
Webを意識するならHTML+CSS+DB+PHPやRubyがよい。ただし、付随して学ばなければいけないことが多く指導が難しい。
以上をまんべんなく意識するならVB.NETがよい気もする。GUIなので生徒の反応も良さそうである。
基本情報技術者試験取得だけを見据えるのであればアセンブラがよいであろう。

教育の世界では「不易と流行」というフレーズが様々な場面で登場する。
言語選択はどうしたら良いのか、様々な側面を考慮して考える必要がある。

プログラミング実技全般

生徒が「自分で考えてプログラムを作る」ためには、単なる問題演習ではなく、
1 何をプログラムにするか、どのようなプログラムにするか(上流工程~下流工程での思考)
2 この処理を実現するにはどうしたらいいか(下流工程での思考)
ということを授業に組み込む必要がある。

たとえば1の上流工程~下流工程での思考だと以下のような問題が考えられる。

A高校(生徒数 各学年100人 計300人)では、今年度から主要3教科の生徒の成績(国・数・英)は全てコンピュータで管理している。それを活かして、生徒が今までの自分の成績をコンピュータを使って閲覧できるようにしたい。そのために今回新たに生徒一人ひとりにパスワードを配付した。
【課題】以下のデータを元に、生徒が自分の成績を確認するためのソフトを作成しなさい。

2の下流工程での思考を促すのであれば、検定問題や模擬試験問題の処理条件や流れ図の一部だけを与えてプログラムを作成させると良い。

以上はすでに実践済みであり、またどの学校でも実現可能である。しかしそのためには教員がある程度プログラムを作成した経験が必要である。
生徒が頭を働かせずに、単に教科書のプログラムを入力するだけ(タイピング練習)にならないよう注意が必要である。

VlookupとHlookupの検索方向の違いの教え方

表計算ソフトのVlookupとHlookupの使い分け方を教える方法。
教科書風に説明すると、Vlookupは「行方向に検索する」、Hlookupは「列方向に検索する」となるが行や列の方向は瞬時に理解できない。

少し説明を改良して、
「Vlookupの"V"は"Vertical"の"V"。"Vertival"とは"垂直の"という意味だから縦に検索する」
「Hlookupの"H"は"Horizontal"の"H"。"Horizontal"とは"水平の"という意味だから横に検索する」
という説明も可能だが、英語が苦手な生徒にとっては難しい印象を与えるだけになってしまう。

そこで説明に際し、まずは以下の表を板書する。
Vlookupを教える表の図その1
この例だとコードを縦方向に検索し、部署名を呼び出すので使用する関数はVlookupである。

そしてこの表に以下のような文字を書き加える。
Vlookupを教える表の図その2
矢印の向きの方向とVlookupの"V"を重ねる。これにより瞬時に「縦に検索する、ということは下向きに探す、だから"↓"の"V"!」ということがイメージできる。

記憶の単位

まずはm(メートル)とkm(キロメートル)の話しから導入する。
例えば「1000mは何Kmでしょう?」、「2.5Kmは何mでしょう?」と発問する。
その問題と解答を板書して残しておく。(例 1000m → 1Km   2.5Km → 2,500m)
その後、「単位が『長さ』から『記憶』に変わるだけ」とヒントを与える。
つまり『m』が『B(バイト)』に変わる。「1000m → 1Km」→「1000B → 1KB」。

情報処理1時間目

新聞1面のコピー(B4)を配布し、「用語探し」を行う。
例えば「政治」や「教育」など、その1面に載っている用語ならなんでもよい。
ゲーム性を持たせるため、探せた人から挙手させる。
これを3度くらい繰り返す。
そしてこのようにたくさんの情報(新聞の1面)を処理(今回の例では検索)することと結びつける。
また、検索の際にはコンピュータを使えば早く目的を達成できることに論をつなげる。
これをもって、テキストの「情報とは?」や「情報処理とは?」の導入とする。

板書テクニック【財務諸表や特殊仕訳帳】

簿記を教えるものとして、当然ながら貸借対照表や損益計算書を板書する必要性が出てくる。
それだけならまだしも、特殊仕訳帳や精算表を板書するとなると、教師は生徒そっちのけで黒板に夢中にならないと授業時間内に書ききれない。

そこで「板書に割く時間を短縮し」、なおかつ「綺麗に作表する」アイテムが以下のものである。

板書テクニック:表の帯

この帯の部分のみを紙をつぎはぎして作成し、裏にはマグネットを付けておき黒板に貼り付ける。
普段はグルグルと巻いて輪ゴムでとめて収納しておけばよい。
この帯を使用することにより、各項目の幅が毎回同じに設定でき見た目が綺麗になる。
また帯をマグネットで貼り付けた後は、単にチョークで線を引っ張るだけでよいので板書時間の大幅な短縮となる。

ただ一つ難点があるとすれば、この帯自体を作成するのに時間がかかることである。
どのくらいの幅にすれば教室の後ろでも見えるか、黒板の大きさはどのくらいなのか。等も考慮に入れて作成しなければならない。
しかし教材研究に時間をかけることで、限られた授業時間が効率よく進むことを考えると、このアイテムの存在理由はとても大きい。

板書テクニック

前述の「表の帯」と合わせて使えばよいのが、チョーク2本を持って効率よく線を引く方法である。
1本目のチョークは普通に持ち、2本目は中指で押さえるようにして持つ。
2本の線が同時に引けるので、準備時間が若干短縮される。また、平行に線を引くことができる。

伝票の集計

伝票の集計には様々な解き方がある。その中で検定などで高い確率で得点がアップできるのは以下の方法である。

伝票の集計の図
問題を解くまず初めに上図の赤の部分を全て足す(売上・仕入の値引や返品も気にせずに足す)。
そしてその金額を仕訳集計表の一番下の合計金額に書き込む。
仕訳集計表の合計金額を最初に書いた上で、入金伝票や出金伝票を順次集計していく。

伝票1枚は、仕訳で表現でき振替伝票以外は1つの同じ金額が貸借に振り分けられることとなる。
例)入金伝票に「受取利息」「5,000」と書かれている → (借)現金 5,000 (貸)受取利息 5,000
この手法は単に効率アップだけでなく、そのことにも話しをつなげることが出来る。

また仕訳集計表の合計欄は、検定などの問題では必ずと言っていいほど採点箇所に入っており、その点を考えても利用価値が高い。

原価計算指導全般

工程別原価計算、等級別原価計算、組別原価計算、総合原価計算、単純原価計算、標準原価計算・・・
たくさんの原価計算があり、またそれぞれ作成する表も様々な種類がある。
様々な名称や表で生徒が混乱するのを防ぐため、すべて「一連の流れに戻る」というスタンスで原価計算を指導する。

つまり、予定配賦だろうが等級だろうが組別だろうが、すべて「原価要素→製造→製品・・・」という一連の流れで説明する。
この一連の流れを押さえたうえで、少し変化したのが「予定配賦」であり、少し複雑になったのが「組別」という説明の仕方をする。
こうすることにより、原価計算の流れをつかむことができ、また生徒自身頭の中で多くの原価計算の手法を整理し易くなる。

原価計算一連の流れ

「しょ・とう・まる・み」で覚える

原価計算は様々な表が出てきて、どのタイミングでどんな表を作成すればよいのか理解しにくい。
その時にこの「しょ・とう・まる・み」を使用し、多くの種類の表に一定のルールを示し、単純化して理解を促進させる。

各原価要素が製造(=仕掛品)勘定に移り、そして製品勘定に移っていく。
この一連の流れをT-FORMで説明する場合、下の図のようになる。
原価計算一連の流れの図
図でいうピンク色部分は各段階に応じて変化するが、それ以外はほぼ同じである。
ピンク色の部分は、その段階次第で何が来るか特定できないので、「○(まる)」とする。
右上ピンク色部分を「○(まる)」とすると、この一連の流れは、
左上から、「月初・当月・○・月末」となり、「しょ・とう・まる・み」と統一して考えることができる。
人の名前のようで覚えやすい。

原価要素に関しては、材料費はこのまま使えるが、労務費や経費に関しては未払いなどを考慮する必要がある。
(ご指摘:他県商業科教諭様 ありがとうございます)

法人税等の納付

「なか・かり・かく・み」で覚える

法人税等は、中間申告 → 決算 → 確定申告 の3つのステージにおいて仕訳がされる。
その代表的な仕訳は以下の通りである。
法人税等の一連の仕訳
中間申告では「仮払い」であり、決算を向かえ税額が決定し費用計上を行い、確定申告時に「未払い」分を払うこととなる。
「中間申告 = 仮払い」、「確定申告 = 未払い」は固定されており、それらの頭文字を一文字ずつとり、
「なか(中)・かり(仮)、かく(確)・み(未)」となる。
人の名前のようで覚えやすい。

費用・収益の繰り延べと見越し

「まえば・まえうけ・みば・みしゅう」で覚える

例えば「保険料¥120,000は10月に1年分支払ったものであり、前払分を次期に繰り延べた。(決算日12月31日)」という問題を考える。

まずは決算日を越えて支払っている分、つまり次期の分(≒「払いすぎている分」と表現したら解り易い)の計算を行う。
【考え方】決算は12月31日だから、それを超えている分は1月~9月分の9ヶ月分が払いすぎている分だ。12ヶ月で¥120,000だから9ヶ月だと¥90,000。この分が前払いだ。

ここまでは計算できるとして、ここから次に行う仕訳に関して考える。つまり、
(借)保 険 料 90,000 (貸)前払保険料 90,000
なのか
(借)前払保険料 90,000 (貸)保 険 料 90,000
なのか、ということである。

【考え方その1 まず費用・収益の勘定がどちらに来るかを考える】
(1)保険料には前払高がある。
(2)前払いということは、払いすぎているんだ。
(3)つまり費用が多く計上されすぎているんだ。
(4)費用を計上しすぎているから、費用を減らさないといけない。
(5)費用の発生は借方だから、費用を減らすのは貸方。
(6)(借)前払保険料 90,000 (貸)保 険 料 90,000

【考え方その2 「まえば・まえうけ・みば・みしゅう」で考える】
(1)以下の図を覚えている。
費用・収益の繰り延べと見越しの図
(2)前払○○というのは借方にくるんだ。
(3)(借)前払保険料 90,000 (貸)保 険 料 90,000

トップページに戻る