お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"GOTO文のサンプル(最大公約数)"





■説明
 あまり使用しない方が良いでしょうし、あまり使う機会はないと思い
ますが、以下は GOTO 文使用のサンプルです。

 Form1 に Edit1, Edit2, Label1, Button1 を配置して、 Button1 の
OnClick イベントに以下のサンプルを記述して下さい。(Edit1, Edit2
に入力された正整数に対する最大公約数を求めるサンプルです。)

 なお、ラベルには 0 〜 9999 までの数の他、識別子も使用できます。

■注意点
 GOTO 文で参照するラベルは、GOTO 文と同じブロックに入っている必
要があります。

■参考
 FDELPHI/MES/6/10092, SBORLAND/MES/3/4490 他。

■サンプルコード
//=====================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
  I, J, L, M, N, MdivN: Integer;
label
  1, 2, 3, 4;
begin
  I := StrToIntDef( Edit1.Text, 6 );
  J := StrToIntDef( Edit2.Text, 8 );
  if I <= 0 then I := 6;
  if J <= 0 then J := 8;
  if I >= J then goto 1;
  M := J;
  N := I;
  goto 2;
  1: M := I;
     N := J;
  2: MdivN := M div N;
     L := M - MdivN * N;
     if L = 0 then goto 4;
  3: M := N;
     N := L;
     goto 2;
  4: Label1.Caption :=   IntToStr( I ) + ' と '
                       + IntToStr( J ) + ' の GCD は '
                       + IntToStr( N ) + ' です';
end;
//=====================================================================

                                     98/03/28(土) 01:51 Fermion(KHF03264)

Original document by Fermion         氏 ID:(KHF03264)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum