• 締切済み

ax^2+bx+c=0の求解プロセスをDFDで表したいのですが・・・

ax^2+bx+c=0の求解プロセスをDFDで表したいのですが、aが0か、判別式が正か負か0かなどによって、その後の処理が変わってきますよね? DFDの場合、そのような分岐はどう書けばよいのでしょうか?

みんなの回答

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.2

もしかしたらすでに解決されているかもしれませんが… DFDは、本来、そういうレベルの処理をするものではありません。 フローチャートが処理の流れの記述に偏った反省から、 DFDは、処理ではなくデータの流れる方向を記述するものとなっています。 このぐらいの問題規模なら、むしろフローチャートの方が合ってるでしょう。 まあただ「本来向いていない」と言っても、 そちらには書く必要があるのだと想像します。 一応、分岐を表す記号はあります。 +を○で囲んだ記号を、二つの出力の間に書けば、 「二つの出力のどれかになる」ことを表します。 本では「分離」と言っています。 (ただし、デマルコは「基本的に使わないようにした方がよい」と書いています) また、「プロセス」から複数の矢印を出すだけでもかまわないと思います。 矢印の側に「判別式が正の場合」「負の場合」など注釈を書いておけばいいでしょう。

secret-goo
質問者

お礼

私もフローチャートで示せばいいと思うんですが、 意地悪な先生でして、DFDで表してみよって言うんですよ。 >また、「プロセス」から複数の矢印を出すだけでもかまわないと思います。 >矢印の側に「判別式が正の場合」「負の場合」など注釈を書いておけばいいでしょう。 この方法でやってみます。ありがとうございました。

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

DFDって、 Data Flow Diagram のことですか?

secret-goo
質問者

補足

返事遅れてすいません。 はい、ご指摘の通りデータフローダイアグラムのことです。

関連するQ&A

  • ax^2+bx+c=0の解を求めたいのですが・・(初歩的です)

    タイトル通り、a、b、cを入力させて、ax^2+bx+c=0の解xを求めたいのですが、結果をどう求めればいいのか、実解・虚数解・重解の場合をどうしたらいいのか、の2点がよくわかりません。 #include<math.h> #include<stdio.h> double sqrt(double a,double b,double c) { return (b*b-4*a*c); } main(void) { double a,b,c,sqrt,ans; do{ printf("ax^2 + bx +c = 0 の解 x を求めます。\n a,b,cを入力してください。\n"); printf("a : "); scanf("%lf",&a); printf("\nb : "); scanf("%lf",&b); printf("\nc : "); scanf("%lf",&c); if(a = 0){ printf("a は0以外を入力してください。\n"); } }while(a = 0); ans = (-b+dist(a,b,c))/(2*a); printf("%lf", ans); printf("\n"); return(0); } 他にも多々ダメな部分があると思いますがご指摘・アドバイス等いただけたらと思います。よろしくお願いします。

  • ax^3+bx^2+cx+d=0がα、β、γを解に持つならばax^3+

    ax^3+bx^2+cx+d=0がα、β、γを解に持つならばax^3+bx^2+cx+d=a(x-α)(x-β)(x-γ)と変形できることを示せ。

  • D<0とax^2+bx+c=0について

    , y=ax^2+bx+cの頂点が(-b/2a,-D/4a)よりD<0の場合ax^2+bx+c=0(a≠0)にはなりませんが x=(-b±√D)/2aがD<0となるとxが虚数となるので、ax^2+bx+c=0にならないという解釈でもよいでしょうか?後、x軸、y軸上に取るものはすべて実数で虚数ということはx軸上に存在しないということですよね?

  • 実数係数の二次方程式の解の条件?

    実数係数の二次方程式  ax^2+bx+c=0 (a≠0) において、二つの解をα、βとし、判別式をDとするとき、 (I)「二つの解が共に正」⇔「D≧0, 2解の和>0, 2解の積>0」 (II)「二つの解が共に負」⇔「D≧0, 2解の和<0, 2解の積>0」 (III)「一つの解が正、他の解が負」⇔「2解の積<0」 とあるのですが、 どうして(I)(II)の場合にはD≧0が必要で、(III)の場合にはD≧0は必要ないんですか?

  • 高校数学です。f(x)=ax^2+bx+cにおいて

    2次方程式f(x)=0の解がx=α、βのとき(つまりf(α)=0、f(β)=0)のとき、 f(x)=a(x-α)(x-β)と式変形が出来る。 また ax^2+bx+c≦0においても、ax^2+bx+c=0の解がx=α、βのとき、a(x-α)(x-β)≦0と式変形ができる。 という公式はありましたっけ?? ご回答よろしくお願いします。

  • 実数解

    3つの2次方程式は少なくとも1つは実数解を持つことを示す問題です。 だたし、a,b,cは実数とします。 (x^2)+3ax+2b-1=0 …(1) (x^2)+2bx+2c-1=0 …(2) (x^2)+2cx+2a-1=0 …(3) (1)の判別式は D/4=(a^2)-2b+1 (2)の判別式は D/4=(b^2)-2c+1 (3)の判別式は D/4=(c^2)-2a+1 となりましたがどのようにして少なくとも1つは実数解ということを探すのでしょうか?

  • Cプログラミング

    授業の課題で出されたのですが、判別式を使ってのD<0の時の場合が 分かりません。どうか、else ifを使ってのプログラムで分かる方はお力をかしてください。よろしくお願いします。 1.二次方程式ax2+bx+c=0のa、b、cを入力すると、解の公式を用いて答えを出すプログラムを作って、動作を確認せよ。ただし、aが0の場合を考慮せよ。また、解が重根の場合や複素数の場合にも対応せよ。(判別式を用いて条件分岐させるとよい。複素数解の場合は、x = 3 + 5i のように表示させる。)

  • 2次方程式の実数解の符号

    2次方程式a+x2(←二乗)+bx+c=0の2つの解α,βと判別式Dについて、 α,βは異なる2つの正の解⇔D>0でα+β>0かつαβ>0 α,βは異なる2つの負の解⇔D>0でα+β<0かつαβ>0 α,βは符号の異なる解⇔αβ<0 となるとき、なぜ2つともD>0となるのか分かりません。 あと、α,βは符号の異なる解の時D>0を書かないのはなぜですか?分かる方、宜しくお願いします(;_;)

  • 2次方程式の実数解

    3つのxの2次方程式  ax^2+bx+c=0 bx^2+cx+a=0 cx^2+ax+b=0 があるとき、 3つの方程式のうち、すくなくとも1つは実数解をもつことを証明せよ。(ただし、a, b, cは0以外の実数) という問題なのですが、a,b,cの大小関係から判別式を使って考えてみたのですが、うまくいきません。

  • 虚数、実数、ax^2+bx+c=0について

    実数とは有理数と無理数をあわせた数であるから x軸、y軸上に取るものはすべて実数で虚数ということはx、y軸上に存在しませんよね? 後、ax^2+bx+c=0(a≠0)において x=(-b±√D)/2aがD<0となるとxが虚数となるので,虚数はx軸に存在しないので、x軸との共有点がなくax^2+bx+c=0となるxはないという解釈でだいじょうぶでしょうか?

専門家に質問してみよう