タッチタイピングに慣れるまで、ポジション練習から、「ローマ字かな」で「単語練習」をするのが良い。
テキストボックスのオブジェクトが配列になると、添え字を付けないと、コードのエラーになっていました。
[開始」(実行)で、コードにエラーがあるとき、「コンパイルエラー」窓が出て、そこに「エラーメッセージ」が出ます。エラーメッセージを読んでから、okのボタンを押して、コードのエラー部分の反転表示を見て、先のエラーメッセージからその原因を探します。(オブジェクト名(フォームとコード)、変数名(宣言部分と参照部分)、メソッド名などを確認します。)
(なお、詳細のデバッグについては、8-1 ステップ実行を参照のこと)
変数の利用により、わかり易いプログラムになります。(フォームで入力した値などを変数に代入することで、その処理が普通の言葉と同様に変数の式に書けます。)
「金額計算」プログラムの作成・変更(コード)、「日付確認」の改造をして、わかり易い変数の利用と残り時間を自動的に表示した。
プログラムの保存で、フォルダの中に、[フォームが無いとかのエラー]の学生が相当あった。pcをその都度、変わっているので、きちんと、自分のホームドライブに保存したことを確認して終わること。
レポートには、1行目に 月日、番号、氏名を加えること。単に、友人のファイルをコピーして名前だけを変えても、意味が無い。
4章の後半では、書式付表示、データ型の変換、定数、ジェネラルプロシージャ、変数などの適用範囲を学習します。
これまでに作ってきた「日付確認」プログラム、「金額計算」プログラムを改造していきます。
例題1,2で、「日付確認」プログラムでの書式を変える。
例題3〜5で、「金額計算」プログラムでの書式を変える。
p.132 Pointにデータ型変換関数の一覧表がある。Val関数でデータが正しく変換できないときに、それらを使う。
イベントに特化したイベントプロシージャ以外に、「ジェネラルプロシージャ」がある。プログラムの一部を切り離した独立させたモジュールとして使用するのが通例で、SubプロシージャとFunctionプロシージャがある。
「金額計算」プログラムの仕様を変えて、テキストボックスの入力時点で、計算を行う。コードの記述では、重複する部分は複写(コピー・貼り付け)を使うと便利。(p.138のPointでは、ショートカットキー(左手)とマウスを使っての操作の説明がある。)
プログラムの中で重複している部分を「ジェネラルプロシージャ」として独立させる。そうすれば、プログラムの保守(メンテナンス)がしやすくなり、プログラムのサイズを小さくできる。
「金額計算」プログラムのChangeイベントの中での重複部分をジェネラルプロシージャのShowName(),CalcTotal() Subプロシージャに移す。
「金額計算」プログラムのChangeイベントの中では、Subプロシージャ名を記述するだけでよい。
Functionプロシージャで、独自の関数を作る。Functionプロシージャは、値を返すことができる点が、Subプロシージャと違う。
「金額計算」プログラムで、四捨五入や切り上げの関数を作り、使う。
プロシージャの中で使われている変数や定数は、そのプロシージャ内でしか使用できない。別のプロシージャでも使えるようにするには、それらを宣言セクション(GeneralのDeclaration)に移し、DimをPrivateに変更する。
作成とテストは、前の「金額計算」プログラムで行いなさい。taxRate=0.03などとすると、チェックしやすい。小数以下の桁数も、0だけでなく、1とかもテストすること。
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章の練習問題まで)について、テキストファイルでよいので、概要をまとめて、考察を付けなさい。このファイルには、1行目に 月日、番号、氏名を加えること。(単に、友人のファイルをコピーして名前だけを変えても、意味が無い。) このファイルを「出席番号2桁氏名v4.txt」として、今日のプログラム「金額計算」を保存したフォルダに保存しなさい。
1)4章で作成したフォルダの名前を変え「出席番号2桁氏名v4金額計算」(vbプログラムのファイル類と概要・考察のテキストファイルを含む)とする。
2)グラフィックスプログラムの改造をしたプログラム類のフォルダ名を「出席番号2桁氏名v4グラフィックス」(vbプログラムのファイル類と概要・考察のテキストファイルを含む)をして、これを提出ドライブKipwrite(W:\)の「コンピュータ基礎実習」の「VB04金額・グラフィックス9.11」フォルダにコピーすること。