- ベストアンサー
アルゴリズムの質問
郵便物の重さを入力して、定形外の料金表から該当する郵便料金を求めるフローチャートを教えていただけないでしょうか? 重さ 料金 ~50g 120円 ~100g 140円 ~150g 200円 ~250g 240円 ~500g 390円 ~1kg 580円 ~2kg 850円 ~4kg 1150円
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
フローチャートを描くという方法では回答しづらいので,あるプログラム言語で書いてみました。これがどんなプログラム言語か知らなくても,処理の流れはイメージできるのではないでしょうか。 #--------------------------------------- print "重さをグラム単位で入力:"; chomp($x = <STDIN>); if ($x <= 0) { exit; } if ($x > 4000) { exit; } if ($x <= 50) { $y = 120; } elsif ($x <= 100) { $y = 140; } elsif ($x <= 150) { $y = 200; } elsif ($x <= 250) { $y = 240; } elsif ($x <= 500) { $y = 390; } elsif ($x <= 1000) { $y = 580; } elsif ($x <= 2000) { $y = 850; } else { $y = 1150; } print "$y円";
その他の回答 (2)
- maku_x
- ベストアンサー率44% (164/371)
文字で一部書きますので、見難いところがありますが、その点はご了承願います。 開始 ↓ 重さが 50g 以下か? --(Yes)→ 料金=120円 → 処理(2)へ ↓ No 重さが 100g 以下か? --(Yes)→ 料金=140円 → 処理(2)へ ↓ No (以下、省略) ↓ 処理(2): 料金を表示する ↓ 終了 あとは、(以下、省略) の部分を全部埋めれば、出来上がりです。
お礼
この処理と同じように省略部分を記入すればほぼ完成しますね! わかりやすいご説明ありがとうございました! これをもとにフローチャートを作成したいと思います!
- Tacosan
- ベストアンサー率23% (3656/15482)
次のような問題だったら書けますか? 重さが 50g までなら 120円, それを超えたら 140円.
補足
それならできると思いますが、それ以降は書けるか微妙です・・・
お礼
回答ありがとうございます! 処理の流れのイメージができたので、大変役立ちました! 有難うございました!