• ベストアンサー

フローチャートで。

C言語で exit(0); というプログラムを中止するという処理をフローチャートで書くときって ↓ 四角(exit(0);) ↓ 終了 と、四角の処理で書いて最後の終了まで一気に線を引っ張ればいいのでしょうか? それとも中止だからその処理を書いてそのままでいいのでしょうか? break;の時は確か処理とかかかずにそのままループの外まで線を引っ張ったような気がするのですが、exitの場合はどうなるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.3

フローに限らずドキュメントは「読む人にとって読みやすい」が前提です。 「読む人の文化に合わせる」が正解です。 受注ソフトであれば発注者であるお客さんに合わせる。 商品開発であれば社内規定に合わせる。 個人で開発しているのであれば自分の趣味に合わせる。 学校の課題であれば先生の好みに合わせる。 サークル/グループでの開発なら仲間で話し合って決める。 いわゆる「構造化プログラミング」では『サブルーチン(この場合関数を含む)は一つの入り口と一つの出口を持つ』が標準になっています。 つまり、終了の端子が複数あってはいけないわけです。 しかし、『プログラムの構造とかけ離れたフローチャートを書いてはいけない』のも確かです。 関数に複数の出口があるのに、フローチャート上一つの出口しか無いのもおかしいのです。 繰り返しますが、「読むのは誰か?」を意識してください。

usui323
質問者

お礼

回答ありがとうございます。 そうなんですか、規則があるのかと思ってました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • furlong
  • ベストアンサー率50% (17/34)
回答No.2

一般的な規則はありません。どちらでも良いです。 ても、フローチャートを書く理由は? 会社の規則でフローチャートを書くのなら、上司や先輩に質問してください。郷に入りては郷に従うです。 自分の為に書くのなら、角を丸めた四角の中にexit(0)と書くのがスマートだと思います。

usui323
質問者

お礼

回答ありがとうございます。 規則はないんですか!?知りませんでした。 学校のレポート課題だったのですが、exitは初めて出てきたのでどうかいていいのかわかりませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • coco1
  • ベストアンサー率25% (323/1260)
回答No.1

中止するときは、必ず中止になる条件があるはずです。 ・変数がある値になったら ・ファイルがEOFになったら ・「Q」と入力されたら 等々 つまり、いきなり中止処理になるのではなく、ループ端子や条件分岐子で終了処理につなげるのが自然と思います(というよりそうとしか描けないと思います)。

usui323
質問者

お礼

回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • このプログラムのフローチャートについて。

    フローチャートについての質問です。 main() {     この辺に変数宣言     while(1)     {        省略        while(1)        {           省略        }        if(firstletter == '\0')            break;        printf("ワード数:%d\n",wordnum);     } } というようなプログラムでフローチャートを書こうとしたのですが、 これって初めの無限ループを抜ける事がないから 開始→変数宣言→ループ→中略→ループ閉じ で終わってもいいのでしょうか?最後に ・・・→終了 で終わらなくてもいいのでしょうか? でも最後のif文で初めの無限ループを抜けるようになってますよね? ということは「開始→」から始まって最後が「→終了」でいいですよね? もしbreakが無かったら最後が「→ループ閉じ」でOKでしょうか?

  • フローチャートのループ

    フローチャートのループ記号の中に書く条件って ループを抜ける処理を書くのでしょうか? それともループを続ける処理を書くのでしょうか? どちらかで符号が変わってきてしまうので… プログラミング言語を書くときは、続ける条件を 書く事が多いように思えますが、アルゴリズム等の 文献では抜ける処理とか終了条件と書いてあるので 混乱してしまいました。より一般的にはどちら なのでしょうか?フローチャートを書くときの約束事 などありますでしょうか?

  • フローチャートの解き方?について

    学校で人工言語学という授業を取っているのですが、フローチャートの回の授業を休んでしまい、三日後にテストなのに全く理解できません。 ネットで色々と調べたところ、フローチャートとはプログラムを図で表したものという風に理解しているのですが、授業で渡されたプリントの図を見ても何を問いたいのかが分かりません。 以下に図を記述します。 開始 ↓ 10⇒B(処理1) ↓ 0⇒A(処理2) ↓ A+B⇒A(処理3) ↓ B-1⇒B(処理4) ↓ B=0(判断) (YESなら終了、NOなら処理3へ戻る) どうやらこの図を参考にしてAとBの下に数字を並べていき答えを出していくらしいのですが、何を意味する図なのかすら分かりません。 すごく初歩的なことなのでお恥ずかしいですが、どのように解いていくのかを初心者にも分かるように説明していただけないでしょうか。 宜しくお願いします。

  • C++のフローチャート

    #include <iostream> using namespace std; int main() { int m=48,n=36,t,i; for(i=0;;i++) { cout << "m" << i << " " << m << " n" << i << " " << n << '\n'; if(!(t=m%n)) break; m=n; n=t; } cout << "n" << i << "=" << n << '\n'; return 0; } ユーグリッドの互除法で、最大公約数を求めたプログラムなんですが、本当にお願いします。プログラムは書けたんですが、誰かこれのフローチャートを教えてください…これのフローチャートがかけないんです。しかも、テストに出るらしいです。これを書くのが 始まりと終わり→楕円 処理を行う→四角 判断を行う→ひし形 って感じなんですよね

  • フローチャート及びコードについて教えてください。

    1から5までの総和を求める問題なんですが、 最後に「終了しますか?」と条件分岐をしようとする際、普通は「はい」、「いいえ」の2つの処理を行いますが、さらにそれに加えて「y」「n」以外のキーを入力した際にはもう一度「y」か「n」の選択を行わなければならないという計3つの処理を行い、かつ逆方向の処理の流れがないフローチャートを作る場合は、どのようなフローチャートでどのようなソースコードになるか教えてください。

  • フローチャート

    VB6で簡単なプログラムを作って、それをフローチャートにすることになったのですが少し質問させてください。 機能としては 1.フォルダ指定のボタンでフォルダのパスをテキスト1に表示 2.閲覧ボタンでテキスト1のフォルダの中身のファイル名をすべてリスト1に表示。 (フォルダの中身はすべて文字列のtxtファイルです) 3.連結ボタンでリスト1のファイルの中身を上から順に連結して、テキスト2に表示。 4.最後に保存ボタンでテキスト2の内容をファイルオとして保存。 これが流れなんですがフローチャートは初めてでよく分からないんですが、1からの順に書けば良いのでしょうか? あと4の場合保存をキャンセルした場合は判断の処理で4の前に戻った方がいいのでしょうか。 分かりづらいとは思いますがよろしくお願いします。

  • フローチャートを教えてください

    2.配列A(i),i=0,1,2…のm個の要素の平均を計算するアルゴ リズムを流れ図(flowchart)で表現したい。(a),(b)に入るべき 条件及び処理を書け。なおmは1以上で,mの要素はいずれも正数で ある。またA(m+1)に0が格納されているものとする。      開始      |     0→i      |     0→sum ――→ | |   ( a )―――――――――― |    |no          | | A(i)+sum→sum      sum/i→AVE |   ( b )          | |    |          AVEを表示 ――――             |                 終了  (注)四角やひし形は省略させていただきます。 これで (b)は i+1=i とわかったのですが、 (a)がどうし てもわかりません  本当に困っています どうか心優しい方教えてください。お願い します。

  • フローチャート

    #include <iostream> using namespace std; int main() { int m=48,n=36,t,i; for(i=0;;i++) { cout << "m" << i << " " << m << " n" << i << " " << n << '\n'; if(!(t=m%n)) break; m=n; n=t; } cout << "n" << i << "=" << n << '\n'; return 0; } ユーグリッドの互除法で、最大公約数を求めたプログラムなんですが、本当にお願いします。 テストに同じ問題が出るみたいだから本当に教えてくださいお願いします 始まりと終わり→楕円 処理を行う→四角 判断を行う→ひし形

  • C言語でmain関数でのreturnとexit

    C言語でmain関数でのreturnとexitは同等とされてますが、 それは『プログラムを呼び出した元の動作』も同じですか? 例えばshellやOSから見て、割り当てメモリ開放などの点で returnで終了したプログラムの後処理と exitで終了したプログラムの後処理は 全く同じになりますか?

  • [ソフトウェア設計]処理の流れは、アクティビティ図?フローチャート?どちらで書くべきか。

    VCですでに組まれているソフトの設計を設計書として文書にする作業をしています。 (現状あるソフト設計を別のソフトの設計に継承するため、このような作業が発生しました。すでに組まれているソフトには設計書がありませんので、参照はできません。) この場合、ソースコードに記載されている処理の流れは、UMLのアクティビティ図で書けるのでしょうか? 参考書でアクティブ図を勉強しましたが、プログラムの処理の流れ(基本情報技術者試験の擬似言語で記載されているような処理)をそのまま書いたような図は見つかりませんでした。一般的には、プログラムの処理の流れは、アクティブティ図では、書かないのでしょうか? そのような処理は、フローチャートで書くべきなのでしょうか? シーケンス図も一緒に書いていますので、できたらUMLで統一し、アクティブティ図で書きたいのです。 設計書は、今まで記載していなかったので、ノウハウがありません。 知識がおありの方がおられましたら、ご教授お願いいたします。