Top > 授業 > Delphi プログラミング >Lesson 1
Lesson 1
(2004/08/03)
問合せ メール 戻る

Lesson 1 について

1.Lesson 1 では次の点を学習することを目指します。
・プログラムが begin 〜 end に囲まれたブロックで成り立っていること。
・変数の型(その中の主要な、整数型、実数型、文字列型)
・テキスト画面、グラフィック画面への表示の仕方

2.サンプルプログラムを眺め、練習問題を試してください。この Lesson 1 では練習問題は易しいです。

3.サンプルプログラムはダウンロードしてください(クリック)。ダウンロードしたファイル(lesson1.exe)はDelphi7/Source に置いてクリックして解凍してください。6つのサンプルプログラム P101〜P106 が出てきます。
P101のポイント

a.プログラム(手続きStartBtnClickだけを見よ)の構造
 (1) Pascal では文(命令)の終わり(正確には文の区切り)は ; である。
 (2) プログラムの中の文は上から下に順次実行される。
 (3) 文の集まり(ブロック)は begin で始まり end で終わる。

練習問題:begin 〜 end; 内の文を入れ替えるとどうなるかを試せ。

b.整数型(integer)の定数と変数
・const 行と次の1行で定数 a, b を定義している。
・var の下の2行で、c を整数型の変数、Str30 を文字列方の変数として扱っている。

練習問題
1.定数の宣言は次のようにも書けることを確認せよ。
   a :integer = 10;
2.Str30 : string[30];の 30 を 1 にしたら何が起こるかを確認せよ。
3.intger は整数型、reaL なら実数型である。それ以外の宣言が整数型、実数型にどのくらいあるかを調べて確認せよ。なお、特に考えがない場合は、デフォールトでinteger と reaLを使うとよい。

c.足し算
c := a + b;で、a と b を足し算した値が変数 c に代入される。

練習問題
1.a, b の値を変えるとどうなるかを試せ。
2.c := a - b;と書き換えて試せ。

d.メモ領域(memo1)への表示
・memo1.lines.add(文字列);で、文字列をメモ画面の1行として表示する。
・原則として Delphi では、数字は文字列に変換して表示することに注意。IntToStr(c)は整数cを文字列に変換する、予め用意された関数である。

練習問題
1.cが実数ならどの関数を使う必要があるかを確認せよ。
2.memo1.lines.add('End of Job');の下に同じ命令をもう1つ書くとどうなるかを確認せよ。

e.グラフィック領域(TPaint1)への表示
・with PaintBox1.Canvas do begin 〜 end; { of with Canvas } の中で TPaint1 での操作をしている。
・Brush.Color := clRed;は描く矩形の色(赤)をしていしている。
・Rectangle(a, b, a+100, b+100);は座標(a,b)と(a+100,b+100)を2つの頂点とする矩形を TPaint のCanvasに描く。

練習問題
1.with PaintBox1.Canvas do begin 〜 end; { of with Canvas }を、with 文を使わずに書くとどうなるか?
2.clRed 以外に Delphi でどのような色があるかを調べ、試せ。
3.Rectangleのカッコ内の100を別の値にするとどうなるか、試せ。

P102のポイント

a.文字列の扱い方

IntToStr(a)は文字列である。'a = ' + IntToStr(a)とすると、両方の文字列を繋いだ文字列が Str30 に代入される。

練習問題
・'a + b ='を 'aとbの合計は'に置き換えて試せ。
P103のポイント

a.Edit からの値の入力

・a := StrToInt(Edit1.Text);で、Edit1 の枠から入力した文字列(数字)を整数に変換して、整数型の変数の a に代入している。StrToIntはIntToStrとは逆に、文字列を整数に変換する関数である。
・a, b, c を3つとも変数(var)として定義していることに注意。

練習問題
cの値を Edit1 に表示するにはどうすればよいかを考えよ。

P104のポイント

a.Edit からの実数値の入力
x := StrToFloat(Edit3.Text);によってEdit3 に書かれた文字列(数字)を実数型の変数xに読み込みます。

b.実数値の文字列への変換
FloatToStrF(z,ffGeneral,4,1)により、実数値zを文字列に変換します。ffGeneral,4,1が何を意味するかは各自で調べてください。

c.整数と実数の四則演算
 このプログラムはEditから入力した値の四則演算をしています。整数値の割り算(div)と実数値の割り算(/)の違いに注意してください。

練習問題
1.整数と実数につき、0で割ったら何が起きるかを確認せよ。
2.べき乗(例:xのy乗)はどのように計算するかを考えよ。

P105のポイント

a.文字列型の定数と変数
aとbを文字列型の定数、cとStr30を文字列型変数として定義している。

b.文字列型の演算
c := a + b;でaとbを繋いでいる。

練習問題
1.c := a + b;をc := b + a;にすると何が生じるかを確認せよ。
2.変数の定義のc : string[7];の 7 を小さくすると何が生じるかを確認せよ。

P106のポイント

a.メモ領域からの文字列の読み込み
a := memo1.Lines[0];によって、memo1の第1行目を文字列変数aに代入しています。

b.PaintBox への文字列の書き出し
 With PaintBox1.Canvas do begin
  TextOut(10, 10, Str100);
 end;
により、PaintBox1の座標(10,10)を左上端として文字列Str100を書き出しています。

練習問題:PaintBox1に書き出す文字列の大きさ、フォント、色を変えるにはどうすればよいか、各自で調べよ。

ここまでは

 この Lesson1ではまだ、プログラミングらしいことにほとんど入っていません。その準備段階として、プログラムの大まかな概念、定数・変数の型、文字や図形を表示する仕方を練習しました。
 次回からだんだんと、プログラミングらしいことに入ってゆきます。