−トップへ−

変数についてA (整数・実数)

 ここでは,整数型と実数型の変数について述べていきます。
 宣言の仕方は文字型と同じです。整数型を宣言するときは一般的には「integer」を使います。他にも「shortint」や「longint」などいろいろありますが,Lazarusがサポートしている整数型の種類がわからないので,「integer」だけで構わないと思います。
 実数型には「real」を使います。実数型の種類もいろいろありますが,「real」だけで構わないと思います。
 実際の記述は下記のようにします。

procedure TForm1.Button1Click( Sender : TObject );
var
  int , int1 , int2 : integer ; //int,int1,int2を整数型の変数にする
  rel : real ; //relを実数型の変数にする
begin

end;

 私は習慣的に整数型の変数は,「int」を使っていますが,自分のわかりやすい名前を考えてください。

四則計算について

 整数型の変数と実数型の変数を使って,四則計算をしてみたいと思います。まず四則計算の演算記号について紹介します。
  ・たし算……記号は半角記号の「+」です。
  ・ひき算……記号は半角記号の「-」です。
  ・かけ算……記号は半角記号の「*」です。
  ・わり算……記号は半角記号の「/」です。
    わり算については他にもあります。
  ・わり算の整数商を求めるときは「div」を使います。
  ・わり算の整数商の余りを求めるときは「mod」を使います。
 ここで注意することを確認します。整数同士の四則計算の答えはそのほとんどが整数になりますが,唯一「/」を使ったわり算の答えは実数になります。
 以上のことを踏まえて,簡単なプログラムを作ってみます。

 まずフォームの設計をします。フォームの上にEditコンポーネントを2つ,Labelコンポーネントを1つ,Buttonコンポーネントを5つ貼り付けてください。
 このプログラムの流れですが,Editコンポーネントに入力された数字をもとに,四則計算を行います。計算の種類はそれぞれのボタンに割り振ります。答えはLabelコンポーネントに表示させます。
 次に,Button1からButton5までの[OnClick]イベントを呼び出してください。そこに四則計算を使ったソースコードを記入していきます。
 まず,Button1の[OnClick]イベントには下のように記述してください。

procedure TForm1.Button1Click( Sender : TObject );
var
  str1 , str2 : string ; 文字型変数を2個宣言する
  int , int1 , int2 : integer ; 整数型変数を3個宣言する
begin
  str1 := edit1.text ; @
  str2 := edit2.text ; A
  int1 := strtoint(str1); B
  int2 := strtoint(str2); C
  int := int1 + int2 ; D
  label1.Caption := inttostr(int); E
end ;

 上の説明をしていきます。
 @,AはEditコンポーネントの内容を文字型変数に代入します。
 B,Cについてですが,str1は文字型なので,これをそのまま計算することは出来ません。ここで文字型変数を整数型変数に変換する必要があります。そこで使うのが「strtoint」という関数です。これで文字型変数を整数型変数に変換することができます。
 この関数を使うときに注意することがあります。もしstr1の中に数字以外の文字がある場合,整数型に変換できないので,ここでエラーが起きます。本来ならエラー対策をするのですが,エラー対策はとばします。
 Dは2つの整数型変数をたした答えをintに代入します。
 Eは答えをLabelコンポーネントに表示させます。そのためには整数型の変数を文字型の変数にする必要があります。整数型の変数を文字型の変数に変換するときに使うのが「inttostr」という関数です。これを使って文字型に変換してからLabelコンポーネントに表示させます。

 同様にして引き算とかけ算についても記述していきますが,上記のソースコードのDだけ変えればいいことなのですぐにできると思います。

procedure TForm1.Button2Click( Sender : TObject );
var
  str1 , str2 : string ;
  int , int1 , int2 : integer ;
begin
  str1 := edit1.text ;
  str2 := edit2.text ;
  int1 := strtoint( str1 ) ;
  int2 := strtoint( str2 ) ;
  int := int1 - int2 ; //演算記号を引き算にする
  label1.Caption := inttostr( int ) ;
end ;

procedure TForm1.Button3Click(Sender: TObject);
var
  str1 , str2 : string ;
  int , int1 , int2 : integer ;
begin
  str1 := edit1.text ;
  str2 := edit2.text ;
  int1 := strtoint( str1 ) ;
  int2 := strtoint( str2 ) ;
  int := int1 * int2 ; //演算記号をかけ算にする
  label1.Caption := inttostr( int ) ;
end ;

 次はわり算の計算を行いますが,わり算の答えは実数になるので少し変えます。

procedure TForm1.Button4Click( Sender : TObject);
var
  str1 , str2 : string ; 文字型変数を2個宣言する
  int1 , int2 : integer ; 整数型変数を2個宣言する
  rea : real ; 実数型変数を1個宣言する
begin
  str1 := edit1.text ; @
  str2 := edit2.text ; A
  int1 := strtoint( str1 ) ; B
  int2 := strtoint( str2 ) ; C
  rea := int1 / int2 ; //演算記号をわり算にする
  label1.Caption := froattostr( rea ); E実数型を文字型にする
end ;

 上の説明をします。変数宣言ですが,ここでは整数型を2個使用するので,「str」を削除しました。その代わり,実数型として「rea」を宣言しました。これは何でもいいのですが,realを連想しやすいので「rea」にしました。
 Eの部分ですが,ここで実数型変数を文字型に変換する必要があります。そのときに使うのが「floattostr」です。これで実数型を文字型にすることができます。

 最後は整数商とあまりを表示する計算です。

procedure TForm1.Button5Click( Sender : TObject );
var
  str1 , str2 : string ; 文字型変数を2個宣言する
  int1 , int2 , int3 , int4 : integer ;整数型変数を4個宣言する
begin
  str1 := edit1.text ; @
  str2 := edit2.text ; A
  int1 := strtoint( str1 ) ; B
  int2 := strtoint( str2 ) ; C
  int3 := int1 div int2 ; D
  int4 := int1 mod int2 ; E
  label1.Caption := inttostr( rea ) + 'あまり' + inttostr( str4 ) ; F
end;

 上の説明をします。変数宣言では整数商とあまりを表示するため,整数型の変数を4個にしました。そして実数型は削除しました。
 @からCは上記と同じです。
 Dで整数商を求めます。
 Eであまりを求めます。
 Fでは整数商とあまりの間に,「あまり」という言葉を入れてLabelコンポーネントに表示します。

 ここで作成したファイルを掲載します。よければダウンロードしてください。
→ダウンロード
 ファイルのものは,Editコンポーネントのエラー対策などを加えたので,上で掲載したものとは少し異なります。

−トップへ−