Upgrade to Pro — share decks privately, control downloads, hide ads and more …

順位付けのアルゴリズムを説明するための流れ図スライド

seastar3
March 08, 2021

 順位付けのアルゴリズムを説明するための流れ図スライド

4人の走り幅跳びの記録があり、この記録の降順の順位を算出するアルゴリズムを視覚的に説明している。
16回の総当たり計算で、劣った回数を記録する方法と、最低比較の6回だけで相互に劣った回数を記録させる方法をトレースさせる。

seastar3

March 08, 2021
Tweet

More Decks by seastar3

Other Decks in Programming

Transcript

  1. 順位付けのアルゴリズム
    の説明
    ©[email protected]
    Ver.2.5 (令和3年3月)

    View Slide

  2. 内 容 目 次
    1. 順位付け処理の内容
    2. 自分の順位を増やす総当たり方式の表
    3. 相手の順位を増やす総当たり方式の表
    4. 互いの順位を増やす範囲縮小方式の表
    5. 順位付けのアルゴリズムの流れ図と簡易言語
    6. 自分の順位を増やす総当たり方式の流れ図トレース
    7. 互いの順位を増やす範囲縮小方式の流れ図トレース
    (クリックして各内容に移動できる)

    View Slide

  3. 順位付け処理の概要
    • 4人の走り幅跳びのデータに順位を付ける。
    • ポイント
    • 自分が何人に負けるかを数えてみる。
    • 同点の相手には負けない。
    • 1位の者は一度も負けない。
    • 同点のものがいない最下位の者は、自分以外の全てに負ける。
    人数より1少ない負け数。
    • それぞれの計算に 1 を足すと正しい順位が求められる。
    • 同点の場合もうまく計算される。

    View Slide

  4. 説明用のデータ
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 0
    2 3.80 0
    3 7.30 0
    4 6.20 0

    View Slide

  5. 計算結果
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2

    View Slide

  6. 全員が自分の順位を計算して
    いく動作を見ていこう。

    View Slide

  7. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 0
    2 3.80 0
    3 7.30 0
    4 6.20 0
    まず全員に1を初
    期設定し、一度も負
    けなければ1位にな
    るように準備する。
    順位付け開始(自分の順位操作)

    View Slide

  8. 順位付け開始(相手の順位操作)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1

    View Slide

  9. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    1行目の選手の
    記録を順番に比べ、
    自分が小さかったら、
    自分の順位を 1 増
    やす。
    各記録の比較(相手の順位操作)
    調べる選手の背景を
    赤にする。
    この赤い枠の順位を
    計算していく。

    View Slide

  10. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    まず自分と比較する。
    同点なので順位はそのま
    ま。
    各記録の比較(相手の順位操作)

    View Slide

  11. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    2人目と比較する。
    自分の記録の方が大きい
    ので、順位はそのまま。
    各記録の比較(相手の順位操作)
    較べる相手選手の背
    景を黄色にする。

    View Slide

  12. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    3人目と比較する。
    各記録の比較(自分の順位操作)

    View Slide

  13. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    自分の記録の方が小
    さいので順位を1増やす。
    各記録の比較(自分の順位操作)

    View Slide

  14. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    4人目と比較する。
    自分の記録と等しいので、
    順位はそのまま。
    各記録の比較(自分の順位操作)

    View Slide

  15. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    1人目の順位計算完了。
    2人目を調べることにする。
    各記録の比較(自分の順位操作)

    View Slide

  16. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    2人目の順位計算を開
    始する。自分も含めて、4
    人とも比較していく。
    各記録の比較(自分の順位操作)

    View Slide

  17. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    まず1人目と比較する。
    各記録の比較(自分の順位操作)

    View Slide

  18. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    自分の方が小さいので、
    自分の順位を1増やす。
    各記録の比較(自分の順位操作)

    View Slide

  19. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    2行目の自分と比較する。
    各記録の比較(自分の順位操作)

    View Slide

  20. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    同点なので順位はそのまま。
    各記録の比較(自分の順位操作)

    View Slide

  21. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    3行目の記録と比較する。
    各記録の比較(自分の順位操作)

    View Slide

  22. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    自分の記録が小さいので、
    順位を1増やす。
    各記録の比較(自分の順位操作)

    View Slide

  23. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    4行目の記録と比較する。
    各記録の比較(自分の順位操作)

    View Slide

  24. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    自分の記録が小さいので、
    自分の順位を1増やす。
    各記録の比較(自分の順位操作)

    View Slide

  25. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    結局、最下位なので自分以
    外の記録相手すべてで順位を
    増やした。
    2行目の選手の順位計算完了
    各記録の比較(自分の順位操作)

    View Slide

  26. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    次に3行目の記録の順位を
    計算する。
    各記録の比較(自分の順位操作)

    View Slide

  27. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    1行目の記録と比較し、自分
    と同点なので、順位はそのま
    ま。
    各記録の比較(自分の順位操作)

    View Slide

  28. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    2行目の記録と比較し、自分
    の方が大きいので、順位はそ
    のまま。
    各記録の比較(自分の順位操作)

    View Slide

  29. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    自分の記録と比較し、同点
    ので、順位はそのまま。
    各記録の比較(自分の順位操作)

    View Slide

  30. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    4人目の記録と比較し、自分
    の方が大きいので、順位はそ
    のまま。
    各記録の比較(自分の順位操作)

    View Slide

  31. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    結局、最大の記録なので順
    位を増やすことは一度もな
    かった。
    3行目の選手の順位計算完了。
    各記録の比較(自分の順位操作)

    View Slide

  32. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1 4行目の選手の順位計算開始
    各記録の比較(自分の順位操作)

    View Slide

  33. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    まず1行目の記録と比較。同
    点なので、順位はそのまま。
    各記録の比較(自分の順位操作)

    View Slide

  34. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    2行目の記録と比較。自分の
    記録の方が大きいので、順位は
    そのまま。
    各記録の比較(自分の順位操作)

    View Slide

  35. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    3行目の記録と比較。
    各記録の比較(自分の順位操作)

    View Slide

  36. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2 自分の記録の方が小さい
    ので、自分の順位を1増やす。
    各記録の比較(自分の順位操作)

    View Slide

  37. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2 最後に自分の記録と比較
    する。同点なので順位はそ
    のまま。
    各記録の比較(自分の順位操作)

    View Slide

  38. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2 4行目の選手の順位計算
    完了。
    各記録の比較(自分の順位操作)

    View Slide

  39. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    全員の順位計算完了。
    各記録の比較(自分の順位操作)

    View Slide

  40. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    つまり、総当たりで記録をく
    らべて、負けた数を数えると
    順位が求められる。
    各記録の比較(自分の順位操作)
    比較回数は、
    4件 × 4回 = 16回

    View Slide

  41. 今度は相手の順位を
    足していってみよう。

    View Slide

  42. 各記録の比較開始(相手の順位操作)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    まずすべての順位の
    値を1 用意する。

    View Slide

  43. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    1行目の選手の
    記録を順番に比べ、
    相手が小さかったら、
    相手の順位を 1 増
    やす。
    各記録の比較(相手の順位操作)
    調べる選手の背景を
    赤にする。
    この赤い枠の順位は
    書き換えない。

    View Slide

  44. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    まず自分の記録と
    比較する。
    同点なので順位は
    そのままにする。
    各記録の比較(相手の順位操作)

    View Slide

  45. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    2行目の記録と比
    較する。
    各記録の比較(相手の順位操作)
    較べる相手選手の背景
    を黄色にする。この相手
    の順位を折々増やして
    いく。

    View Slide

  46. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    相手の記録の方が
    小さいので、相手の
    順位を1増やす。
    各記録の比較(相手の順位操作)

    View Slide

  47. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    3行目の記録と比較
    する。相手の方が大き
    いので、相手の順位を
    そのままにする。
    各記録の比較(相手の順位操作)

    View Slide

  48. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    4行目と比較。同点なので
    順位をそのままにする。
    各記録の比較(相手の順位操作)

    View Slide

  49. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    1行目の比較終了。
    相手側なので、まだ何位な
    のかはどの選手も不明。
    各記録の比較(相手の順位操作)

    View Slide

  50. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    2行目の選手の記録を上
    から順番に比較していく。
    各記録の比較(相手の順位操作)

    View Slide

  51. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    1行目の選手の記録の方
    が大きいので、この順位は
    そのままにする。
    各記録の比較(相手の順位操作)

    View Slide

  52. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    2行目の自分の記録と比
    較する。同点なので順位は
    そのままにする。
    各記録の比較(相手の順位操作)

    View Slide

  53. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    3行目の記録と比較する。
    こちらの記録の方が大きいの
    で、順位はそのままにする。
    各記録の比較(相手の順位操作)

    View Slide

  54. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    4行目の記録と比較する。
    こちらの記録の方が大きいの
    で、順位はそのままにする。
    各記録の比較(相手の順位操作)

    View Slide

  55. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(相手の順位操作)
    2行目の比較終了。
    実際は、最下位なので、ど
    の相手の順位も増やせな
    かった。

    View Slide

  56. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(相手の順位操作)
    3行目の記録の比較開始。

    View Slide

  57. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(相手の順位操作)
    1行目の記録と比較する。
    1行目の方が小さい。

    View Slide

  58. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(相手の順位操作)
    1行目の順位を1増やす。

    View Slide

  59. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(相手の順位操作)
    2行目の記録と比較する。
    2行目の方が小さい。

    View Slide

  60. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    各記録の比較(相手の順位操作)
    2行目の順位を1増やす。

    View Slide

  61. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    各記録の比較(相手の順位操作)
    自分自身の記録と比較する。
    同点なので、順位はそのまま
    にする。

    View Slide

  62. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    各記録の比較(相手の順位操作)
    4行目の記録と比較する。
    4行目の方が小さい。

    View Slide

  63. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    4行目の順位を1増やす。

    View Slide

  64. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    3行目の比較終了。
    実際は、1番なので、自分
    以外のすべての順位を1ず
    つ増やした。

    View Slide

  65. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    4行目の記録の比較開始。

    View Slide

  66. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    1行目と比較。同点な
    ので順位をそのままに
    する。

    View Slide

  67. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    2行目の記録と比較する。
    2行目の方が小さい。

    View Slide

  68. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    2行目の順位を1増やす。

    View Slide

  69. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    3行目の選手の記録の方
    が大きいので、この順位は
    そのままにする。

    View Slide

  70. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    自分自身の記録と比較する。
    同点なので、順位はそのまま
    にする。

    View Slide

  71. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(相手の順位操作)
    4行目の比較終了。同点の
    1行目との比較でも矛盾なく
    計算できている。

    View Slide

  72. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    順位付け完成(相手の順位操作)
    全データの比較終了。
    順位が正しく導けている。
    相手側の順位を増やし
    ていっても、順位は計算で
    きる。
    比較回数は、
    4件 × 4回 = 16回

    View Slide

  73. 順位付けのポイント確認
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    ① 順位の最初の値を1にする。
    ② 順番に値を較べていく。
    ③ 値が小さかったら、順位
    を1増やす。
    ④ すべての組合せの比較を
    済ませると順位の計算が完
    成する。
    ⑤ もし同点の値があっても、
    うまく同点になり、後の順
    位も間違いない。

    View Slide

  74. 今度は自分の順位も
    相手の順位も足して
    いってみよう。

    View Slide

  75. 各記録の比較開始(お互いの順位操作)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    まずすべての順
    位の値を1 用意する。

    View Slide

  76. 各記録の比較開始(お互いの順位操作)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    少なかった方の順位を増やし
    ていく。
    ただし、2回繰り返さないよう
    に、比較範囲を狭めていく。
    ← 1行目は、2~4行目と比較し計算する。
    ← 2行目は、3~4行目と比較し計算する。
    ← 3行目は、4行目と比較し計算する。
    つまり、1行目対2行目の比較を済ませた後
    で、2行目対1行目の比較をしないように相手
    を後の番号のみに絞り込んでいく。

    View Slide

  77. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    まず1行目と他の3つの行と
    の比較計算を行う。
    各記録の比較(お互いの順位操作)
    調べる側の背景を赤
    色にする。

    View Slide

  78. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    1行目と2行目の記録を比較
    する。
    2行目の記録の方が小さい。
    各記録の比較(お互いの順位操作)
    較べる相手選手の背
    景を黄色にする。

    View Slide

  79. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    2行目の順位を1増やす。
    各記録の比較(お互いの順位操作)

    View Slide

  80. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    1行目と3行目の記録を比較
    する。
    1行目の記録の方が小さい。

    View Slide

  81. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    1行目の順位を1増やす。

    View Slide

  82. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    4行目と比較。同点な
    ので順位をそのままに
    する。

    View Slide

  83. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    1行目の比較計算が終了。
    以後の比較計算では、1行
    目との組合せはしない。

    View Slide

  84. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    2行目と残りの2つの行との
    比較計算を行う。

    View Slide

  85. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    2行目と3行目の記録を比較
    する。
    2行目の記録の方が小さい。

    View Slide

  86. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    2行目の順位を1増やす。

    View Slide

  87. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    2行目と4行目の記録を比較
    する。
    2行目の記録の方が小さい。

    View Slide

  88. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    2行目の順位を1増やす。

    View Slide

  89. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    2行目の比較計算が終了。
    以後の比較計算では、2行
    目との組合せはしない。

    View Slide

  90. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    3行目と残りの1行との比較
    計算を行う。

    View Slide

  91. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    各記録の比較(お互いの順位操作)
    3行目と4行目の記録を比較
    する。
    4行目の記録の方が小さい。

    View Slide

  92. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(お互いの順位操作)
    4行目の順位を1増やす。

    View Slide

  93. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(お互いの順位操作)
    3行目の比較計算が終了。

    View Slide

  94. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(お互いの順位操作)
    つまり、4行目との比較も終
    わり、すべての比較と順位計
    算が完了したということ。

    View Slide

  95. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(お互いの順位操作)
    順位の処理完了

    View Slide

  96. 走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    各記録の比較(お互いの順位操作)
    比較回数は、
    3回 +2回+1回 = 6回
    総当たりの16回よりも10回も
    少ない。
    もっとデータが多ければ、さ
    らに差が出る。
    例.100件では、
    4,950回 対 10,000回
    お互いに順位を増やす方が
    断然、効率がよい。

    View Slide

  97. 順位付けの流れ図と
    簡易言語表記

    View Slide

  98. 流れ図で表現 自分の順位を総当たりで計算
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    1
    1
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1

    View Slide


  99. 流れ図で表現 お互いの順位を重複なしで計算
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    1
    1
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    yes
    no

    View Slide

  100. 総当たり順位付けの疑似言語表現
    ○プログラム名:順位付け総当たり
    ○関数:表示関数(A)
    ○実数型:記録[4] 順位[4]
    ○整数型:調べる行 相手の行
    ●記録[1] ← 6.2 ●記録[2] ← 3.8 ●記録[3] ← 7.3 ●記録[4] ← 6.2
    ●順位[1] ← 1 ●順位[2] ← 1 ●順位[3] ← 1 ●順位[4] ← 1
    ■ 調べる行:1, 調べる行 ≦ 4, 1
    | ■相手の行:1, 相手の行 ≦ 4, 1
    | | ▲記録[調べる行] < 記録[相手の行]
    | | | ・順位[調べる行] ← 順位[調べる行] + 1
    | | ▼
    | □

    ・表示(順位[])

    View Slide

  101. お互いへの順位付けの疑似言語表現
    ○プログラム名:順位付け総当たり
    ○関数:表示関数(A)
    ○実数型:記録[4] 順位[4]
    ○整数型:調べる行 相手の行
    ●記録[1] ← 6.2 ●記録[2] ← 3.8 ●記録[3] ← 7.3 ●記録[4] ← 6.2
    ●順位[1] ← 1 ●順位[2] ← 1 ●順位[3] ← 1 ●順位[4] ← 1
    ■調べる行:1, 調べる行 ≦ 3, 1
    | ■ 相手の行:調べる行+1 , 相手の行 ≦ 4, 1
    | | ▲記録[調べる行] ≠ 記録[相手の行]
    | | | ▲記録[調べる行] < 記録[相手の行]
    | | | | ・順位[調べる行] ← 順位[調べる行] + 1
    | | | +----------
    | | | | ・順位[相手の行] ← 順位[相手の行] + 1
    | | | ▼
    | | ▼
    | □

    ・表示(順位[])

    View Slide

  102. 順位付けについて
    流れ図で値の変化を
    追ってみよう。

    View Slide

  103. 流れ図でトレース
    (自分の順位を総当たりで計算)

    View Slide

  104. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1
    2
    3
    4
    調べる行 相手の行

    View Slide

  105. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20
    2 3.80
    3 7.30
    4 6.20
    調べる行 相手の行
    くらべるデータ
    を用意する。

    View Slide

  106. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    それぞれの順
    位に1を入れる。

    View Slide

  107. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    調べる行に
    1を用意する。

    View Slide

  108. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    1
    相手の行に
    2を用意する。

    View Slide

  109. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    1
    同点なの
    で下に行く。

    View Slide

  110. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    1
    まだ1行目な
    ので引き返す。

    View Slide

  111. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    2
    相手の行を1
    増やす

    View Slide

  112. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    2
    6.20の方
    が大きいの
    で下に行く。

    View Slide

  113. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    2
    まだ2行目な
    ので引き返す。

    View Slide

  114. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    相手の行を1
    増やす

    View Slide

  115. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    自分の値が小さ
    いので左側へ進む。

    View Slide

  116. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    自分の順位を
    1増やす。

    View Slide

  117. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    まだ3行目な
    ので引き返す。

    View Slide

  118. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    4
    相手の行を1
    増やす

    View Slide

  119. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    4
    同点なので下
    へ行く

    View Slide

  120. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    4
    相手の行が4
    になったので
    下に行く。

    View Slide

  121. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    4
    調べる行がまだ
    1行目なので引き
    返す。

    View Slide

  122. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    調べる行を
    1増やす

    View Slide

  123. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    相手の行
    1
    相手の行を
    1から数え直す
    調べる行
    2

    View Slide

  124. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 1
    3 7.30 1
    4 6.20 1
    相手の行
    1
    自分の3.80の
    方が小さいので
    右を通る
    調べる行
    2

    View Slide

  125. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    相手の行
    1
    調べる行
    2
    自分の順位を
    1増やす。

    View Slide

  126. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    相手の行
    1
    調べる行
    2
    相手の行はま
    だ1行目なので
    引き返す。

    View Slide

  127. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    2
    相手の行を1
    増やす

    View Slide

  128. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    2
    等しい値なの
    で下に行く。

    View Slide

  129. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    2
    まだ2行目な
    ので引き返す。

    View Slide

  130. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    相手の行を1
    増やす

    View Slide

  131. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    自分の値が小さ
    いので左側へ進む。

    View Slide

  132. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    自分の順位を
    1増やす。

    View Slide

  133. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    まだ3行目な
    ので引き返す。

    View Slide

  134. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    相手の行を1
    増やす

    View Slide

  135. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    自分の値が小さ
    いので左側へ進む。

    View Slide

  136. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    自分の順位を1増
    やす。

    View Slide

  137. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    4になったの
    で下に行く。

    View Slide

  138. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    調べる行がまだ
    2行目なので引き
    返す。

    View Slide

  139. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    調べる行を
    1増やす

    View Slide

  140. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    1
    相手の行を1
    に戻す

    View Slide

  141. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    2
    7.30の方が大き
    いので下に行く。

    View Slide

  142. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    2
    まだ2行目な
    ので引き返す。

    View Slide

  143. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    3
    相手の行を1
    増やす

    View Slide

  144. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    3
    等しい値なの
    で下に行く。

    View Slide

  145. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    3
    まだ3行目な
    ので引き返す。

    View Slide

  146. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    相手の行を1
    増やす

    View Slide

  147. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    7.30の方が大き
    いので下に行く。

    View Slide

  148. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    4になったので
    下に行く。

    View Slide

  149. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    調べる行がまだ
    3行目なので引き
    返す。

    View Slide

  150. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    4
    調べる行を
    1増やす

    View Slide

  151. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    1
    相手の行を1
    に戻す

    View Slide

  152. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    1
    6.20の方が大き
    いので下に行く。

    View Slide

  153. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    2
    まだ1行目な
    ので引き返す。

    View Slide

  154. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    2
    相手の行を1
    増やす

    View Slide

  155. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    2
    6.20の方が大き
    いので下に行く。

    View Slide

  156. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    2
    まだ2行目な
    ので引き返す。

    View Slide

  157. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    3
    相手の行を1
    増やす

    View Slide

  158. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    4
    相手の行
    3
    自分の値が小さ
    いので左側へ進む。

    View Slide

  159. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    4
    相手の行
    3
    自分の順位を1増
    やす。

    View Slide

  160. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    4
    相手の行
    3
    まだ3行目な
    ので引き返す。

    View Slide

  161. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    4
    相手の行
    4
    相手の行を1
    増やす

    View Slide

  162. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    4
    相手の行
    4
    同点なので下に
    行く。

    View Slide

  163. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    4
    相手の行
    4
    4になった
    ので下に行く。

    View Slide

  164. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    4
    相手の行
    4
    4になった
    ので下に行く。

    View Slide

  165. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    4
    相手の行
    4
    これまでの計
    算結果を表示
    する

    View Slide

  166. 流れ図でトレース
    (自分の順位を総当たりで計算)
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から4まで
    繰り返し2
    相手の行を1から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    順位(調べる行) + 1
    → 順位(調べる行)
    yes
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    4
    相手の行
    4 処理を
    終わる

    View Slide

  167. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)

    View Slide

  168. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1
    2
    3
    4
    調べる行 相手の行
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)

    View Slide

  169. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20
    2 3.80
    3 7.30
    4 6.20
    調べる行 相手の行
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    くらべるデータ
    を用意する。

    View Slide

  170. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行 相手の行
    それぞれの順
    位に1を入れる。

    View Slide

  171. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    調べる行に
    1を用意する。

    View Slide

  172. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    2
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の行に
    2を用意する。

    View Slide

  173. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    2
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    同点ではない
    ので下に進む。

    View Slide

  174. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 1
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    2
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    6.20の方
    が大きいの
    で下に行く。

    View Slide

  175. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    2
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の順位
    を1増やす。

    View Slide

  176. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    2
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    まだ2行目な
    ので引き返す。

    View Slide

  177. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    相手の行を1
    増やす
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)

    View Slide

  178. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    記録は等しくな
    いので下に行く。

    View Slide

  179. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 1
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    自分の値6.20が
    小さいので左側へ
    進む。

    View Slide

  180. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    自分の順位を
    1 増やす。

    View Slide

  181. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    まだ3行目な
    ので引き返す。

    View Slide

  182. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の行を1
    増やす

    View Slide

  183. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    記録が等しい
    ので左側へ進む。

    View Slide

  184. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の行が4に
    なったので下に
    行く。

    View Slide

  185. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    1
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    調べる行がまだ
    1行目なので引き
    返す。

    View Slide

  186. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    調べる行を
    1増やす

    View Slide

  187. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の行を調べる行の
    次の行から数え直す。

    View Slide

  188. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    記録は等しくな
    いので下に行く。

    View Slide

  189. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 2
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    自分の値3.80が
    小さいので左側へ
    進む。

    View Slide

  190. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    自分の順位を
    1 増やす。

    View Slide

  191. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    3
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    まだ3行目な
    ので引き返す。

    View Slide

  192. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の行を
    1増やす

    View Slide

  193. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    記録は等しくな
    いので下に行く。

    View Slide

  194. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 3
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    自分の値3.80が
    小さいので左側へ
    進む。

    View Slide

  195. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    自分の順位を
    1 増やす。

    View Slide

  196. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の行が4に
    なったので下に
    行く。

    View Slide

  197. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    2
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    調べる行がまだ
    2行目なので引き
    返す。

    View Slide

  198. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    調べる行を
    1増やす

    View Slide

  199. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の行を調べる行
    の次の行から始める。

    View Slide

  200. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    記録は等しくな
    いので下に行く。

    View Slide

  201. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 1
    調べる行
    3
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    7.30の方
    が大きいの
    で下に行く。

    View Slide

  202. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    3
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の順位
    を1増やす。

    View Slide

  203. 流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    3
    相手の行
    4
    yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    相手の行が4
    なので下に行く。

    View Slide

  204. yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    3
    相手の行
    4
    調べる行が3なので下に行く。
    つまり、すべての組み合わせ
    の計算が済んだということ。

    View Slide

  205. yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    3
    相手の行
    4
    これまでの計
    算結果を表示
    する

    View Slide

  206. yes
    yes
    no
    は じ め
    お わ り
    記録(1)~(4)を準備
    繰り返し1
    調べる行を1から3まで
    繰り返し2
    相手の行を
    (調べる行+1)から4まで
    結果を出力
    記録(調べる行)
    <記録(相手の行)
    記録(調べる行) + 1
    → 記録(調べる行)
    no
    順位(1)~(4)に1を入れる
    繰り返し2
    繰り返し1
    記録(相手の行) + 1
    → 記録(相手の行)
    記録(調べる行)
    = 記録(相手の行)
    流れ図でトレース
    (範囲を狭めながらお互いの順位を計算)
    走り幅跳びの
    飛距離(m)
    順位
    1 6.20 2
    2 3.80 4
    3 7.30 1
    4 6.20 2
    調べる行
    3
    相手の行
    4
    処理を
    終わる

    View Slide

  207. 順位付けのアルゴリズムの説明
    ©[email protected]
    終 わ り

    View Slide