流れ図について

このQ&Aのポイント
  • 最大値選択法によって値を大きい順に整列する流れ図です。
  • 印の処理(比較)が実行される回数を表す式は、n(n-1)/2です。
  • 仮のデータを用いて、流れ図のトレース方法を詳しく教えて頂けますか?また、数式での回数とは何を意味するのでしょうか?
回答を見る
  • ベストアンサー

流れ図について

次(添付)の流れ図は、 最大値選択法によって値を大きい順に整列するものである。 *印の処理(比較)が実行される回数を表す式は、どれか。 正解 n(n-1)/2 4+3+2+1=10(下記参照)を満たすものを探します。 n=5でトレースしています。 仮のデータを3,8,2,4,6として下さい。 自力で解釈しようとしたのですが、 添付した流れ図のトレースの仕方が分かりません。 お手数ですがトレースの仕方を詳しく教えて下さい。 仮のデータとは、何処で使っているのですか。 数式での回数とは、どういうことですか。 ご説明して頂ける方おられましたら、ご教授お願いします。 以上、よろしくお願い致します。

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

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

> 仮のデータとは、何処で使っているのですか。  X(1) X(2) X(3) X(4) X(5) +――+――+――+――+――+ | 3| 8| 2| 4| 6| +――+――+――+――+――+ > 数式での回数とは、どういうことですか。 具体例としてn=5でトレースすると, i=1のとき,jは2,3,4,5と「4回ループ」   n=5なので「n-1回ループ」と,変数nを用いた数式で表現できる 以下同様に, i=2のとき,jは3,4,5と「3回ループ」(「n-2回ループ」) i=3のとき,jは4,5と「2回ループ」(「n-3回ループ」) i=4のとき,jは5と「1回ループ」(「n-4回ループ」) よって比較処理が実行される総回数は, n=5の場合は,4回+3回+2回+1回 = 10回。 変数nで表すならば,(n-1)+(n-2)+(n-3)+……+3+2+1。 ガウスの計算公式より, (1 + (n-1))×(n-1)÷2 = n×(n-1)/2 http://www.t-tsushin.net/kaihou/kei/p4.html http://blog.chugaku-juken.net/article/135769894.html > 添付した流れ図のトレースの仕方が分かりません。 > お手数ですがトレースの仕方を詳しく教えて下さい。 かなり手間がかかるので,私はパスします。

wwmomo
質問者

お礼

ご回答ありがとうございます。 ご丁寧に説明して頂いたので、理解することが出来ました。 また情報のURLを添付して頂き、ありがとうございます。 まだ全てをトレースした訳ではありませんが、あとは自力で頑張ってみます。 以上、ありがとうございました。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

添付図みたままでは。 > 仮のデータとは、何処で使っているのですか。 プログラム中の配列Xかと。 > 数式での回数とは、どういうことですか。 n=5としているから、4ならn-1、3ならn-2ということかと。 この問題は、たぶん計算量についての勉強かと思われますので、 配列要素の数と比較回数との関連に気付いてほしいという願いが込められてるのでしょう。 あてずっぽうですが。 なので、分からないことがあったら、先生に聞いたほうが効率的かと。

wwmomo
質問者

お礼

ご回答ありがとうございます。 お陰様で仮のデータを使う場所が分かりました。 あとは自力でトレースしてみようと思います。 以上、ありがとうございました。

関連するQ&A

  • フローチャートについて

    次の流れ図は、最大値選択法によって値を 大きい順に整列するものである。 *印の処理(比較)が実行される回数を表す式は、どれか。 ア,n-1 イ,n(n-1)/2 ウ,n(n+1)/2 エ,n^2 正解 イ,n(n-1)/2 当方、下図のフローチャートが読めません。 特に、赤丸で囲ってある所は何を意味しているのでしょうか。 読めれば回答に辿り着けると思うのですが。 お手数ですが、ご存知の方おられましたら、ご教授お願いします。 以上、よろしくお願い致します。

  • プログラミング(流れ図とコーディング)の問題です。

    プログラミング(流れ図とコーディング)の問題です。 1 スキー大会データ(選手番号、氏名、1回目タイム、2回目タイム)を読み、大会成績表を表示する。   処理条件 I タイムは3分以内で1分25秒の場合「125」と記録されている。 II 2回目の合計タイムを計算し、合計タイムの短い順に順位をつけ、タイム順に並び変えをして表示する。(表示するのは選手番号、氏名、合計タイム) III 1回目または2回目のタイムが0の場合は失格とし、表示しない。 * 生徒番号の最大は100です。 2 社員マスターファイルを変更データファイルによって更新し、新社員マスターファイルを作成する。  処理条件 I 社員マスターファイルおよび新社員マスターファイルの内容 社員番号 氏名 所属部署 勤務場所 住所 II 変更データファイルの内容 社員番号 変更コード 氏名 所属部署 勤務場所 住所 III 変更コードは次のとおり 1:変更 マスターファイルを変更データの内容に書き換える 2:退職 新マスターファイルには書き込まない 3:新規採用 変更データの内容を新マスターファイルに新たに書き込む IV 社員マスターファイル・変更データファイルともに社員番号の昇順に整列済み V 変更データファイルはある(1件のみ)場合も、ない場合もある。 この二つ、すべてVBA(ビジュアルベーシック)で出来るそうです。     至急お願いいたします! よろしくお願いいたします。

  • 基数整列法について教えてください(前編)

    いつもありがとうございます。 さて、午後のアルゴリズムの基数整列法の項ですが、整列の様子は理解できるのですが、流れ図がよく理解できません。お詳しい方、トレース等も含めてわかりやすく解説願えないでしょうか? よろしくお願いいたします。 ちゃりお ------------------------------------------------------------- 【配列】423、121、312、231、232、253、312、337 [8件] 【説明】2次元配列の「山(山番号、山のデータ数)」(山番号=0~9、山のデータ数=1~件数)に分類して、元の配列「データ(n)」(n=1~件数)に統合する。 【出典】基本情報[午後]完全合格教本/福島宏訓著/新星出版社(P40-41) 【整列の様子】 1桁目の数字で分類: 1の山 2の山 3の山 7の山  121 231 312 232 312 423 253 337 山を統合: 121 231 312 232 312 423 253 337 2桁目の数字で分類: 1の山 2の山 3の山 5の山 312 312 121 423 231 232 337 253 山を統合: 312 312 121 423 231 232 337 253 3桁目の数字で分類: 1の山 2の山 3の山 4の山 121 231 232 253 312 312 337 423 山を統合: 121 231 232 253 312 312 337 423 基数整列法について教えてください(後編につづく)

  • EXCELの式について

    EXCELの条件付き書式 OR VLOOKUP?の仕方を教えて下さい。 下記の画像のように、 シート1には 名前を入力し、右に緑でも何でもいいので、 統一した印をつけた時に、シート2 アルファベット順 もしくは アルファベット順じゃなくてもいいので 印の付いた名前が反映るす方法はありますか? 数式で出来るのであれば 数式で教えてほしいです。 お願いいたします。 PCは自宅用が EXCEL2007で 会社で使用したいのですが、 会社のは 2000です。 どちらの2007でしか出来ないようであっても 教えていただきいです!

  • ITパスポート 基礎論理の解き方

    ITパスポートの勉強をしているのですが、解説を読んでもすっきりしない問題があります。 解き方は理解しているつもりなのですが、どうしてその答えになるか、分かりやすく説明していただけると幸いです。 ●問題 5個のデータ列を次の手順を繰り返して昇順に整列するとき、整列が完了するまでの手順の繰返し実行回数は何回か。 ●整列前のデータの並び順 5、1、4、3、2 ●手順 (1)1番目のデータ>2番目のデータならば、1番目と2番目のデータを入れ替える。 (2)2番目のデータ>3番目のデータならば、2番目と3番目のデータを入れ替える。 (3)3番目のデータ>4番目のデータならば、3番目と4番目のデータを入れ替える。 (4)4番目のデータ>5番目のデータならば、4番目と5番目のデータを入れ替える。 (5)一度も入替えが発生しなかったときは、整列完了とする。 入替えが発生していたときは(1)から繰り返す。 正解は4回なのですが… 5、1、4,、3、2 手順(1)~(4)を実行し 1、4、3、2、5 入替が発生しているので手順(1)に戻る 手順(1)~(4)を実行し 1、3、2、4、5 入替が発生しているので手順(1)に戻る 手順(1)~(4)を実行し 1、2、3、4、5 入替が発生しているので手順(1)に戻る 入替が発生しないので、整列完了。 という風に解いているのですが、問題文の『整列が完了するまでの手順の繰返し実行回数』という文は、手順(5)で『入替が発生しているので手順(1)に戻る回数』という風に捉えてしまい、答えは3回だと思ってしまいます。 この問題文の捉え方が違うのでしょうか?お解りになる方がいらっしゃいましたら、ご教授いただけますと幸いです。よろしくお願いいたします。

  • エクセルのグラフについて教えて!

    エクセルでグラフを作成して、グラフを右クリックして元のデータを表示します。 系列のタブの『値』にグラフに表示される値(参照セル)を入力する訳ですが、そこに数式を入力するのは可能でしょうか? 例えば通常は =Sheet1!$A$1:$N$1 のようにセルの範囲を指定しますが、そこに=Sheet1!($A$1/$A$2):$N$1/$N$2)のように数式を入れてグラフを完成させたいんです。 エクセルのシートで数式を計算し、その範囲を参照するようにしたらいいのですが、今回はその方法は使えないので質問します。

  • エクセル グラフで元のデータ部分を参照させたい

    自力では解決出来なかったので 知識、知恵のあるかた、助けてください! エクセルのグラフを書く際に X軸Y軸の値をいじるときに 元のデータを開きますが その元のデータ欄に入ってる参照数式を  別のセル 例えばA1セルに その数式を文字列で入力し 参照させてグラフに反映させることは出来ないでしょうか? 数式自体でなくても、例えば列名や行列番号などを セルに入力しそれをグラフの元データの参照部分に反映させたいのです。 元データを開いてy軸の参照部分を変更しながら グラフを大量に作成しておりますが セルに数字を入れるだけで参照箇所を変えることが出来ないでしょうか。 実際の 元のデータ x軸の値 「   」 ここに入れるべきセル参照の式を教えていただければ幸いです。 よろしくお願いいたします。

  • Excelセルの参照

    Excelにdataとnという2シートがあります。dataシートのA列3行目~22行目にデータが縦入力されており、以降B列、C列とデータ入力が繰り返されます。 nシートでdataシートの入力値参照のため、あらかじめdataシートの参照リンクを貼っておきたいのですが、nシートのデータは横並びであるせいか、参照リンクをうまくコピーすることができません。 dataセルのA3セルの値をnシートのD1に=data!A3と貼り付けて、W1(=data!A22)まで数式を自動コピーできないでしょうか。また、D2~W2まで=data!B3~=data!B22など参照リンクをコピーで作成できないでしょうか。 よろしくお願いいたします。 横並びに参照する必要があるのですが、

  • 関数 エクセル2010の質問

    はじめまして。 今月中旬に会社のPCがエクセル2003から2010に変更しました。 すると、セルデーターの参照先が以前と違ってしまうようで、値が変わって変わってしまいました。 会社のシステムサポート部に連絡した所、「数式を作り直さなければならない。」と返答があり、数式は自分で作り直して欲しいと書いてありました。 そのデータは私が作成した物でないのですが(既にその方は退職している)、新たに数式を作りなおす事にしました。 私もいろいろと試したのですが、うまくいかないので皆さんの力をお借りしたくて質問致しました。 会社のデータをのせる訳にはいかないので、簡単なJPEG画像作りました。 添付画像を参照願います。 質問 Fのセルに縦にデータが並ぶような関数を教えて頂きたい。(コピー出来る数式) すいませんが、宜しくお願いします!

  • V.B.に特化した文字列の整列方法と整列方法の自動選択

    小さくはない配列の整列で 通常法(本来の名称忘却) http://oshiete1.goo.ne.jp/kotaeru.php3?q=209365内回答 No3 for k=j to i を For k=j+1 to iに変更 クイックソート http://www.ne.jp/asahi/protech/hiroaki/programing/vb.html シェルソート http://www5d.biglobe.ne.jp/~tomoya03/shtml/algorithm/SSort.htm ループ変数を倍精度整数型に,配列を文字配列に,変数名を自分の使っている命名法に 再帰参照回数を減らすように,末尾も含めて整列されるように変更 文字列を SortDt$(N&)=Str$(Rnd(1)) で指定し 富士通 FMV Diskpower S3 20 (Win 95+VB6.0(V.S), 購入直後の状態)で実行した結果, 約30秒間(V.B. Timer関数で測定)で,クイックソート,シェルソート,通常法で実行可能回数が Visual Basic 6.0 SP3 コンパイラ n&=3 208943, 209490, 248245 n&=10 114149, 138935, 215415 n&=30 47967, 39833, 163284 n&=100 14118, 8353, 83524 n&=300 3913, 2064, 30516 n&=1000 987, 414, 9750 n&=3000 281, 105, 3348 n&=10000 68, 21, 947 となり,大型コンピューター(Fotran)で過去に経験しているクイックソート,シェルソートの利点を得られませんでした。 又,上記表はn&が対数目盛でほぼ等間隔になるように選択しました。n&に対する整列時間の変化が過去に報告されている内容とは異なります。したがって,整列に関する過去の経験は使えません。 大型コンピューターでは,クイックソートよりも早い整列方法が発表される等の研究が進んでいます。 おそらく Visual Basic 6.0 用に特化した整列方法があるかと思いますが,ご存知の方いらっしゃいませんか。 整列方法の自動選択(Win95で表示ルーチンの自動選択をマイクロソフトで行なっていましたから)を考えています。 関係情報をご存知の方いらっしゃいませんか。