m AB条件ABmをnで割った余り図2.5:PADと流れ図による連接、選択、反復の表現図2.4:ユークリッドの互除法のアルゴリズムの流れ図図2.6:ユークリッドの互除法のPADによる表現noキーボードの形の箱は入力されたふたつの数値をそれぞれmとnという名前の記憶場所に保存することを意味します。四角の箱は処理をあらわします。 r ← m%n の % は割り算の余りを求める演算子です。整数同士の割り算 m÷n の余りを r に記憶しています。菱形の記号は場合分けを示します。記憶場所 r の値が0でなければ下に、 0ならば右に進みます。下に進んだ場合は m と n の値を更新してもう一度割り算の余りを求めた後、菱形の前に戻って繰り返します。余りが0になったら n の値を gcd に記憶して終了します。満たされていなければ処理Bをする(3)反復:条件が満たされている間、処理Aを繰り返すユークリッドの互除法yesAnoBnoyes17r r stratm, n m % nr ≠ 0yes nn r m % nm, nを入力 m % nr while r ≠ 0gcd ngcdを表示gcd ngcdendm nn rr m % nPADAB条件アルゴリズムの図式表現(1):流れ図アルゴリズムは流れ図を用いて表現することができます。図2.4にユークリッドの互除法の流れ図を示します。アルゴリズムの基本パターンすべてのアルゴリズムは以下の3つの基本パターン(基本制御構造)の組み合わせで記述することができます。(1)連接:処理Aをして、次に処理Bをする(2)選択:条件が満たされていれば処理A アルゴリズムの図式表現(2):構造化チャート流れ図では上記の3つの基本パターンが明確に区別できていません。そこで、連接、選択、反復に異なる記号を用いる図式が考案されました。一例として、 PAD(Problem Analysis Diagram)を紹介します。図2.5に流れ図との対応、図2.6にユークリッドの互除法のPADによる表現を示します。A条件条件A連接選択反復流れ図
元のページ ../index.html#17