新しく発言する  EXIT  インデックスへ
課題なんですが・・・

  課題なんですが・・・ kazu 2008/01/06 12:17:27 
  最大公約数を求める外部関数定義を利用しま... 白石 和夫 2008/01/06 14:43:49  (修正3回)
  単に既約分数の形で結果を求めたいだけなら... 白石 和夫 2008/01/06 14:57:40  (修正1回)
   └ありがとうございます。できました!ちなみ... kazu 2008/01/06 16:05:59 
    └OPTIONARITHMETICRATIONALは,数値を有理数... 白石 和夫 2008/01/06 16:13:58 
     └毎回すみません。ありがとうございます。 kazu 2008/01/07 12:19:07 
      └正式な流れ図の書き方はよく分からないので... 白石 和夫 2008/01/07 14:29:43  (修正2回)
       ├!流れ図(フローチャート) 山中和義 2008/01/07 16:53:17 

Re: 正式な流れ図の書き方はよく分からないので...  返事を書く  ノートメニュー
山中和義 <drdlxujciw> 2008/01/07 16:53:17
!流れ図(フローチャート)

!2つの分数の足し算(最小公倍数で通分)

! A1   A2   A3
! ── + ── = ──
! B1   B2   B3

!A1,B1,A2,B2は、すべて正の整数とする。


( はじめ )
  ↓
   /│
 /  │
│A1,B1│ 分数1の入力
└─ ─┘
  ↓
   /│
 /  │
│A2,B2│ 分数2の入力
└─ ─┘
  ↓
┌──────────┐
│A1×B2+A2×B1 → A3│ 分数3の計算
│B1×B2 → B3    │
└──────────┘
  ↓
┌────────┐
│GCD(B1,B2) → g │ 両分母の最大公約数の計算 ※1
└────────┘
  ↓
  ──┐
/ A3÷g│ 分数3の表示
\ B3÷g│ ※LCM(a,b)=a*b/GCD(a,b)
  ──┘
  ↓
( おわり )



※1
約分して(既約分数で)、結果を表示したい場合
 ┌────────┐
 │GCD(A3,B3) → g │ 分子と分母との最大公約数の計算
 └────────┘
とする。





1000 EXTERNAL FUNCTION GCD(a,b)
1010 LET r=MOD(a,b)
1020 IF r=0 THEN LET GCD=b ELSE LET GCD=GCD(b,r)
1030 END FUNCTION


!関数 GCD(a,b)

( はじめ )
  ↓
┌───────┐
│MOD(a,b) → r │ a÷bの余りの計算
└───────┘
  ↓
 /\ ≠ ┌────────┐
 r:0 ─→||GCD(b,r) → GCD || 再帰呼び出し
 \/   └────────┘
  ↓=      │
┌────┐    │
│b → GCD│    │
└────┘    │
  ↓←──────┘
  ↓
( おわり )

       │└「繰り返し」の流れ図 山中和義 2008/01/08 11:32:06  (修正1回)
       └functionGCD(a,b)について。 SECOND 2008/01/07 21:42:29 

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。