2000年9月11日更新(新規作成)
  関谷トップページへ コンピュータ基礎実習トップページへ

「コンピュータ基礎実習」(2000年U期) No.13 Visual Basic(4) 4章 プログラミングの基礎(4-5〜4-8)

2000.9.11 関谷

1.タッチタイピング練習(ポジション練習・ローマ字かな単語練習)(20分)

タッチタイピングに慣れるまで、ポジション練習から、「ローマ字かな」で「単語練習」をするのが良い。

2.前回のVisual Basicの学習-基礎編 3章 画面デザインの基礎(3-7テキストボックスの値を取得から)、4章 プログラミングの基礎(4-1〜4-4)についてのコメント

第3章 画面デザインの基礎(3-7テキストボックスの値を取得から)

 テキストボックスのオブジェクトが配列になると、添え字を付けないと、コードのエラーになっていました。

コンパイルエラーの対処(p.110参照)

 [開始」(実行)で、コードにエラーがあるとき、「コンパイルエラー」窓が出て、そこに「エラーメッセージ」が出ます。エラーメッセージを読んでから、okのボタンを押して、コードのエラー部分の反転表示を見て、先のエラーメッセージからその原因を探します。(オブジェクト名(フォームとコード)、変数名(宣言部分と参照部分)、メソッド名などを確認します。)
(なお、詳細のデバッグについては、8-1 ステップ実行を参照のこと)

4章 プログラミングの基礎(4-1〜4-4)

 変数の利用により、わかり易いプログラムになります。(フォームで入力した値などを変数に代入することで、その処理が普通の言葉と同様に変数の式に書けます。)

実習とレポートを見て

 「金額計算」プログラムの作成・変更(コード)、「日付確認」の改造をして、わかり易い変数の利用と残り時間を自動的に表示した。

プログラムの保存で、フォルダの中に、[フォームが無いとかのエラー]の学生が相当あった。pcをその都度、変わっているので、きちんと、自分のホームドライブに保存したことを確認して終わること。

レポートには、1行目に 月日、番号、氏名を加えること。単に、友人のファイルをコピーして名前だけを変えても、意味が無い。

3.Visual Basicの学習-基礎編 4章 プログラミングの基礎(4-5〜4-8)

 4章の後半では、書式付表示、データ型の変換、定数、ジェネラルプロシージャ、変数などの適用範囲を学習します。
 これまでに作ってきた「日付確認」プログラム、「金額計算」プログラムを改造していきます。

4-5 書式付き表示とデータ型変換

Format()関数を使って日付型の書式

 例題1,2で、「日付確認」プログラムでの書式を変える。

Format()関数を使って金額(通貨型)の書式

 例題3〜5で、「金額計算」プログラムでの書式を変える。

Val関数とデータ型変換関数(CCur関数、CInt関数)

 p.132 Pointにデータ型変換関数の一覧表がある。Val関数でデータが正しく変換できないときに、それらを使う。

4-6 定数を理解しよう

定数を指定する意義(目的・効果)

定数の指定方法

4-7 ジェネラルプロシージャの活用

 イベントに特化したイベントプロシージャ以外に、「ジェネラルプロシージャ」がある。プログラムの一部を切り離した独立させたモジュールとして使用するのが通例で、SubプロシージャとFunctionプロシージャがある。

Changeイベントで、テキストボックスの処理を行う

 「金額計算」プログラムの仕様を変えて、テキストボックスの入力時点で、計算を行う。コードの記述では、重複する部分は複写(コピー・貼り付け)を使うと便利。(p.138のPointでは、ショートカットキー(左手)とマウスを使っての操作の説明がある。)

Subプロシージャを作成する

 プログラムの中で重複している部分を「ジェネラルプロシージャ」として独立させる。そうすれば、プログラムの保守(メンテナンス)がしやすくなり、プログラムのサイズを小さくできる。
 「金額計算」プログラムのChangeイベントの中での重複部分をジェネラルプロシージャのShowName(),CalcTotal() Subプロシージャに移す。

Subプロシージャをコードの中で呼び出す

 「金額計算」プログラムのChangeイベントの中では、Subプロシージャ名を記述するだけでよい。

Functionプロシージャを作成し、使う

 Functionプロシージャで、独自の関数を作る。Functionプロシージャは、値を返すことができる点が、Subプロシージャと違う。
 「金額計算」プログラムで、四捨五入や切り上げの関数を作り、使う。

ジェネラルプロシージャのまとめ

Column Subプロシージャに値を渡すには

4-8 変数などの適用範囲について

スコープ

 プロシージャの中で使われている変数や定数は、そのプロシージャ内でしか使用できない。別のプロシージャでも使えるようにするには、それらを宣言セクション(GeneralのDeclaration)に移し、DimをPrivateに変更する。

DimやPrivateについてのまとめ

3.B 第4章 重要事項の確認と練習問題4

練習問題4 小数点以下の桁数を指定した四捨五入関数cRound(通貨型、整数型)

 作成とテストは、前の「金額計算」プログラムで行いなさい。taxRate=0.03などとすると、チェックしやすい。小数以下の桁数も、0だけでなく、1とかもテストすること。

3.D グラフィックスプログラムの例の改造

Dr56:渦巻き模様の改造例

 前回、紹介したが、時間が無くて見れなかった人が多かった。今日は、これをいくつか見て、例えば、パラメータをテキストボックスで入力するなど、各自で改造してください。その際、フォームの上部にラベルを追加して、プログラム名、日付、番号,氏名を表示すること。そのなかから、1つ以上、考察ファイルをつけて提出のこと。
 河西朝雄の「Visual Basicによるはじめてのアルゴリズム入門、技術評論社、1999」から、その「8章 グラフィックス」の例題(rei)、練習問題(dr)のプログラムを紹介する。
 まだ、ジェネラルプロシージャ、制御構造(分岐、繰り返し)、グラフィックスを学習していないが、プロジェクトファイルを開いて、実行すれば、絵が出るし、そのコードも見れるので、逆にコードと文法とを解読する楽しみがある。
 なお、このフォルダは、サーバKIpread(R:\)\コンピュータ基礎実習\河西_VBアルゴリズム_8章グラフィックスにある。皆さんのホームドライブ(h:\)にコピーして、改造しよう。

<プログラムの起動、プロジェクトの解放>

プログラムの起動は、プロジェクトファイル(*.vbpのファイル)を開けばよい。途中で, VisualSourceSafeへの保存、ファイルの書き換えの窓が出たときには、すべて、「いいえ」をクリックすればよい。終わったら、「プロジェクトの解放」をすること。

<プログラム改造の方法>

1)フォームにタイトル(プログラム名、作成年月日、番号、作成者名)のラベルを追加する。
2)フォームにラベルとテキストボックスを必要なだけ追加して、パラメータをフォームで変えられるようにする。
3)すべてのテキストボックスの値を取得して、再描画(実行)するように、コードの変更をする。
(注)標準モジュールにあるturtle.basは、タートルグラフィックス用のライブラリである。(亀さんのように、直線を引くのに、方向と長さを与えるものである。)

<プログラムの一覧と他の言語での実行例など>

(8-1 MovelとTurn)
Rei56:ポリゴン(正多角形)
Dr56:渦巻き模様渦巻き模様appletプログラム-対話型でのパラメータの入力例-
(appletは、Java言語によるプログラムで、Webでの対話処理ができる。)

(8-2 2次元座標変換)
Rei57:対称コピー

対称複写をビューを使って同じ描画を繰り返した例
(これは、C言語によるが、SLS+河西のGlibライブラリ-Window-Viewportなど)を利用している) Dr57:回転コピー (8-3 ジオメトリック・グラフィックス) Rei58:対称模様 Dr58:√2分割 (8-4 3次元座標変換) Rei59:軸測投影

例題59 家のデータを軸測投影で表示(3 View) 軸測投影appletプログラムの実行 Dr59:透視練習問題59 家のデータを透視で表示(3 View) (8-5 立体モデル) Rei60:回転体モデルこの投影では、中央と右の2つでは、底から見上げている Dr60:柱体モデルこの投影でも、中央の図は、底から見上げている (8-6 陰線処理) Rei61:陰線処理 Dr61:max・min法 (8-7,8 リカーシブ・グラフィックス-再帰的) Rei62:コッホ曲線例題62 コッホ曲線を表示(1 View) Dr62-1:コッホ島 Dr62-2:クロスステッチ Rei63:樹木曲線T例題63 樹木曲線を表示(3 View) Dr63-2:C曲線 Dr63-3:ドラゴンカーブ Dr63-4:ヒルベルト曲線 Dr63-5:シェルピンスキー曲線

4.今日のレポートの提出

 今日の学習(4章の練習問題まで)について、テキストファイルでよいので、概要をまとめて、考察を付けなさい。このファイルには、1行目に 月日、番号、氏名を加えること。(単に、友人のファイルをコピーして名前だけを変えても、意味が無い。) このファイルを「出席番号2桁氏名v4.txt」として、今日のプログラム「金額計算」を保存したフォルダに保存しなさい。

 1)4章で作成したフォルダの名前を変え「出席番号2桁氏名v4金額計算」(vbプログラムのファイル類と概要・考察のテキストファイルを含む)とする。
2)グラフィックスプログラムの改造をしたプログラム類のフォルダ名を「出席番号2桁氏名v4グラフィックス」(vbプログラムのファイル類と概要・考察のテキストファイルを含む)をして、これを提出ドライブKipwrite(W:\)の「コンピュータ基礎実習」の「VB04金額・グラフィックス9.11」フォルダにコピーすること。