プログラミング言語 c - fc2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. ·...

17
プログラミング言語 C 5フローチャート

Upload: others

Post on 23-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

プログラミング言語 C

第5講

フローチャート

Page 2: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

構造化プログラミング

●明確なアルゴリズムの流れを作る

●アルゴリズムは、3つの基本構造で表すことができる

●プログラムの基本構造

■順次

■選択

■繰り返し

制御

Page 3: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

● フローチャート

■アルゴリズムの流れを示す図記法

● PAD(Program Analysis Diagram)

■構造化プログラミングの為の新しい図記法

流れ図

A B

A

B

Yes

Yes

No

No

Page 4: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

フローチャートの部品(1) ●端子(始めと終わり)

●処理 ● 繰り返し

●判断(条件分岐)

START

END

a ← a+3

a > 3 No

Yes

a<10の間

(繰り返し終端)

Page 5: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

フローチャートの部品(2) ●入出力

●準備(宣言など)

●定義済み処理(関数)

●結合子

a を表示 a を印刷

関数名

1 A P.3 A

異なるページ 同一ページ内

データの入出力

文字列a[10]

P.2 A

Page 6: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

基本構造のフローチャート(1)

●順次

●選択

処理A

処理B

条件 No

Yes

条件

1 2 Else

処理B

処理A

処理A 処理B 処理C

IF THEN ELSE 型 CASE 型

Page 7: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

基本構造のフローチャート(2)

●繰り返し (前に条件)

前の条件が真の間、繰り返す

処理

条件 No

Yes

条件

処理

Page 8: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

基本構造のフローチャート(3)

●繰り返し (後に条件)

後の条件が真の間、繰り返す

処理

条件

No

Yes

条件

処理

Page 9: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

フローチャートの例

Yes No

●構造化された流れ

前処理

1

1

条件

処理B

表示

START

END

後処理

処理A

条件

データの入力

Page 10: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

フローチャートの練習問題 ● 以下の手順にしたがったカレーの作り方のフロー

チャートを解答例を参考にして、PowerPointで作りましょう

● ファイル名:05curry.pptx

1. 肉、野菜などの材料を切る 2. 材料を鍋に入れる 3. 材料を炒める 4. 十分炒めたか?(まだなら3へ、十分なら5へ) 5. 鍋に水を入れる 6. カレーは辛口か?(辛口なら7へ、それ以外は8へ) 7. 辛口のカレー粉を入れる(9へ) 8. 甘口のカレー粉を入れる(9へ) 9. 具は柔らかいか?(柔らかければ11へ、そうでなければ10へ) 10. 煮る(9に戻る) 11. できあがり

Page 11: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

解答例

Page 12: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

課題 ● 手続きを踏む身近にあるもの(料理、買い物、登校する道のり、休日の過ごし方など)をフローチャートで表しましょう。

● ファイル名:05flow.pptx

● PowerPointで作成し、学籍番号、氏名、テーマをタイトルスライドに明記し、配付資料でA4サイズ1枚になるようにプリントアウトして提出する。

● 順次、選択、繰り返しの基本の形が入っていること。

● 選択,繰り返しを利用した数に応じて加点します。

Page 13: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

ヒント(選択の例) ● 雨の予報 ● 休日

傘を持つ

予報は雨か No

Yes

傘は持たない

天気予報を見る

約束場所に向かう

友人と 約束があるか

No

Yes

家でごろごろ

Page 14: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

ヒント(繰り返しの例) ● 電車に乗る ● 買い物(服)

電車が来るまで

駅で待つ

電車に乗る

お気に入りの服が見つかるまで

服を探す

試着する

Page 15: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

ヒント(自動販売機) ●自動販売機でジュースを買う

START

自動販売機にお金を入れる

お金が足りるまで

追加してお金を

入れる

1

1

好みのジュースのボタンを押す

出てきたジュースを取り出す

釣り銭ボタンを押す

おつりはあるか No

Yes

釣り銭を受け取る

END

Page 16: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

ヒント(プログラミン①) ● テーマ:ボールをよける犬

START

「とめる」ボタンを押すまで

ボールが転がってくる

スペースキーを押したか?

犬が飛ぶ

「ワン」と鳴く

P.17 A

Yes

No

ページがまたがる 場合の書き方 ①

Page 17: プログラミング言語 C - FC2cprog.web.fc2.com/2011lec05.pdf · 2011. 5. 18. · 構造化プログラミング 明確なアルゴリズムの流れを作る アルゴリズムは、3つの基本構造で表す

ヒント(プログラミン②) ● テーマ:ボールをよける犬

ボールが犬に 当たったか?

「ボーン」と鳴る

ボールが破裂する

END

P.16 A

Yes

No

ページがまたがる 場合の書き方 ②