@@ -542,7 +542,7 @@ <h2>フローチャート<a class="headerlink" href="#id2" title="Link to this h
542542< div class ="output stderr highlight-myst-ansi notranslate "> < div class ="highlight "> < pre > < span > </ span > Matplotlib is building the font cache; this may take a moment.
543543</ pre > </ div >
544544</ div >
545- < img alt ="_images/9889bd1954199dea748fa22402ae4e485584b900cdc05b0ff476a69eba70ee69 .svg " src ="_images/9889bd1954199dea748fa22402ae4e485584b900cdc05b0ff476a69eba70ee69 .svg " />
545+ < img alt ="_images/82981bf0929df8af7bd629f2ecb44841c3f5ede067bbf0d0808b6cb1917af922 .svg " src ="_images/82981bf0929df8af7bd629f2ecb44841c3f5ede067bbf0d0808b6cb1917af922 .svg " />
546546</ div >
547547</ div >
548548< p > 一番最初と最後の楕円は,プログラムの始まり(< code class ="docutils literal notranslate "> < span class ="pre "> START</ span > </ code > )と終わり(< code class ="docutils literal notranslate "> < span class ="pre "> END</ span > </ code > )を表す。長方形はコードの処理,そして,矢印はプログラムの実行の順番(フロー)を意味する。単純な例なので,上から下に一直線の実行フローとなっている。より複雑なコードの場合,矢印が横向きや上向きになったりもし,枠も様々な形を使い実行フローを表現することになる。以下では,枠は次の3種類だけを使い制御フローをシンプルな形で表すことにする。</ p >
@@ -647,7 +647,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id3" title="Link to this h
647647</ div >
648648</ details >
649649< div class ="cell_output docutils container ">
650- < img alt ="_images/9f32964817e93cb04acf67e9ea9e0c22f23c74ce0dbd139f7b1849c397bc69cd .svg " src ="_images/9f32964817e93cb04acf67e9ea9e0c22f23c74ce0dbd139f7b1849c397bc69cd .svg " />
650+ < img alt ="_images/b8e5f30871b763e7c6bf754ea3436fcb66ccd07153b0e246dc25d4b4c7669a41 .svg " src ="_images/b8e5f30871b763e7c6bf754ea3436fcb66ccd07153b0e246dc25d4b4c7669a41 .svg " />
651651</ div >
652652</ div >
653653< p > 菱形枠中の< code class ="docutils literal notranslate "> < span class ="pre "> ?</ span > </ code > は「判断」を意味するが,上のコードの< code class ="docutils literal notranslate "> < span class ="pre "> #2</ span > </ code > に対応している。< code class ="docutils literal notranslate "> < span class ="pre "> x=10</ span > </ code > は< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > なので,菱形枠から右に移動して< code class ="docutils literal notranslate "> < span class ="pre "> 条件はTrueです</ span > </ code > が表示されることになる。</ p >
@@ -700,7 +700,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id3" title="Link to this h
700700</ div >
701701</ details >
702702< div class ="cell_output docutils container ">
703- < img alt ="_images/c6386c384f1d7e07d82f1f4d911b9240a96e2b6a4b26751ab073d2390778d218 .svg " src ="_images/c6386c384f1d7e07d82f1f4d911b9240a96e2b6a4b26751ab073d2390778d218 .svg " />
703+ < img alt ="_images/656066fb41f21c0bf30b265757137079629c9ec42cdba69bb3da9fd67a08e214 .svg " src ="_images/656066fb41f21c0bf30b265757137079629c9ec42cdba69bb3da9fd67a08e214 .svg " />
704704</ div >
705705</ div >
706706< p > < code class ="docutils literal notranslate "> < span class ="pre "> False</ span > </ code > と判断されると,直ぐに< code class ="docutils literal notranslate "> < span class ="pre "> END</ span > </ code > となっている。</ p >
@@ -752,7 +752,7 @@ <h3>複数条件<a class="headerlink" href="#id4" title="Link to this heading">#
752752</ div >
753753</ details >
754754< div class ="cell_output docutils container ">
755- < img alt ="_images/e5d3c7243cbf309b8e46c60a04a399cf0d0154489c3fcece90b0f7ff266b97bd .svg " src ="_images/e5d3c7243cbf309b8e46c60a04a399cf0d0154489c3fcece90b0f7ff266b97bd .svg " />
755+ < img alt ="_images/0edf3f7b4c2c498499a2e0b84792b48ee23eee8b1e85815dc0c08f824c598aae .svg " src ="_images/0edf3f7b4c2c498499a2e0b84792b48ee23eee8b1e85815dc0c08f824c598aae .svg " />
756756</ div >
757757</ div >
758758< p > このフローチャートをコードに落とし込むと次のようになる。</ p >
@@ -1025,7 +1025,7 @@ <h3>数値を返す例<a class="headerlink" href="#id7" title="Link to this head
10251025</ div >
10261026</ details >
10271027< div class ="cell_output docutils container ">
1028- < img alt ="_images/cc492ed96fd2169b078f77874ace3795b1104b89a379b18fb82e49eefc2e1653 .svg " src ="_images/cc492ed96fd2169b078f77874ace3795b1104b89a379b18fb82e49eefc2e1653 .svg " />
1028+ < img alt ="_images/f626cd02f6d50aa2185b52d478d8d8736c4b150a3b70a5543b039324942d41ea .svg " src ="_images/f626cd02f6d50aa2185b52d478d8d8736c4b150a3b70a5543b039324942d41ea .svg " />
10291029</ div >
10301030</ div >
10311031< p > ここでは,まず < span class ="math notranslate nohighlight "> \(x=0\)</ span > が< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > か< code class ="docutils literal notranslate "> < span class ="pre "> False</ span > </ code > かを判断し,次に < span class ="math notranslate nohighlight "> \(x>0\)</ span > が< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > か< code class ="docutils literal notranslate "> < span class ="pre "> False</ span > </ code > かを判定している。しかし,図から分かるように,この2つの判断は,非常に似ており,次のように1つにまとめることができる。</ p >
@@ -1057,7 +1057,7 @@ <h3>数値を返す例<a class="headerlink" href="#id7" title="Link to this head
10571057</ div >
10581058</ details >
10591059< div class ="cell_output docutils container ">
1060- < img alt ="_images/130a859bcd1c2c83b7a62748b56953663b43d50f78de621a100c48dc3f774fd1 .svg " src ="_images/130a859bcd1c2c83b7a62748b56953663b43d50f78de621a100c48dc3f774fd1 .svg " />
1060+ < img alt ="_images/a740be07f47844fd839f885a15fa41fc86e142f61c6fb6f5e3fca5497b3304cf .svg " src ="_images/a740be07f47844fd839f885a15fa41fc86e142f61c6fb6f5e3fca5497b3304cf .svg " />
10611061</ div >
10621062</ div >
10631063< p > このフローチャートに従って,< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文を使いコードを書いてみよう。</ p >
@@ -1319,7 +1319,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">print()</span><
13191319</ div >
13201320</ details >
13211321< div class ="cell_output docutils container ">
1322- < img alt ="_images/65929c1947b26ea5d8818f9553cfcc00e40152cd6b46c440da0f4c1908354b0c .svg " src ="_images/65929c1947b26ea5d8818f9553cfcc00e40152cd6b46c440da0f4c1908354b0c .svg " />
1322+ < img alt ="_images/3010d317ffb74e76af21f16924638088d8da4c005d0d6b09379898e5f18a238b .svg " src ="_images/3010d317ffb74e76af21f16924638088d8da4c005d0d6b09379898e5f18a238b .svg " />
13231323</ div >
13241324</ div >
13251325< p > この図から,< code class ="docutils literal notranslate "> < span class ="pre "> for</ span > </ code > ループの裏では菱形の判断,即ち,< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文が動いていることが分かる。< code class ="docutils literal notranslate "> < span class ="pre "> gdp_components</ span > </ code > の最後の要素のループ処理が終わったかどうかを判断している。</ p >
@@ -2146,7 +2146,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id12" title="Link to this
21462146</ div >
21472147</ details >
21482148< div class ="cell_output docutils container ">
2149- < img alt ="_images/731347ac50cef22309755d95b60e117e4bd0b194db584d124c26ecfb0204471b .svg " src ="_images/731347ac50cef22309755d95b60e117e4bd0b194db584d124c26ecfb0204471b .svg " />
2149+ < img alt ="_images/938c4c7fd9684add03e4b0ea0b0fc962ee7bd961329e903c0f7931f2d4617eb4 .svg " src ="_images/938c4c7fd9684add03e4b0ea0b0fc962ee7bd961329e903c0f7931f2d4617eb4 .svg " />
21502150</ div >
21512151</ div >
21522152< p > この図から,最後の< code class ="docutils literal notranslate "> < span class ="pre "> counter+=1</ span > </ code > がなければ無限ループに陥ってしまうことが分かると思う。また,< code class ="docutils literal notranslate "> < span class ="pre "> for</ span > </ code > ループ同様,菱形で< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文が裏で働いていることが分かる。一方で,< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文の判断で次の点で異なる。</ p >
@@ -2217,7 +2217,7 @@ <h3>説明と簡単な例<a class="headerlink" href="#id12" title="Link to this
22172217</ div >
22182218</ details >
22192219< div class ="cell_output docutils container ">
2220- < img alt ="_images/a762534f58d8a58b6fe5ccb9872cd3bb7c7fa2e124908eb984c4bf032510e9ba .svg " src ="_images/a762534f58d8a58b6fe5ccb9872cd3bb7c7fa2e124908eb984c4bf032510e9ba .svg " />
2220+ < img alt ="_images/317b799980410dcf68ba26e8f3b108166b22def7844003828999ea0d9e3b00b8 .svg " src ="_images/317b799980410dcf68ba26e8f3b108166b22def7844003828999ea0d9e3b00b8 .svg " />
22212221</ div >
22222222</ div >
22232223< p > 上のフローチャートと比べると,菱形枠と< code class ="docutils literal notranslate "> < span class ="pre "> END</ span > </ code > の間に< code class ="docutils literal notranslate "> < span class ="pre "> print('無事終了(^^)')</ span > </ code > が追加されている。</ p >
@@ -2460,7 +2460,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
24602460</ div >
24612461</ details >
24622462< div class ="cell_output docutils container ">
2463- < img alt ="_images/ff4ac0777bc3d380cdabecd42d56f6955ab1d37eca1c251f81265edbed3fdadb .svg " src ="_images/ff4ac0777bc3d380cdabecd42d56f6955ab1d37eca1c251f81265edbed3fdadb .svg " />
2463+ < img alt ="_images/8194b1a9ee33bfe3d9096700b6468ecef417c357fd119f4acd3a1a6cabde4dfe .svg " src ="_images/8194b1a9ee33bfe3d9096700b6468ecef417c357fd119f4acd3a1a6cabde4dfe .svg " />
24642464</ div >
24652465</ div >
24662466< p > この例に基づいて,< code class ="docutils literal notranslate "> < span class ="pre "> 1</ span > </ code > から< code class ="docutils literal notranslate "> < span class ="pre "> 5</ span > </ code > までの数字を< code class ="docutils literal notranslate "> < span class ="pre "> 3</ span > </ code > を飛ばして< code class ="docutils literal notranslate "> < span class ="pre "> 1</ span > </ code > ,< code class ="docutils literal notranslate "> < span class ="pre "> 2</ span > </ code > ,< code class ="docutils literal notranslate "> < span class ="pre "> 4</ span > </ code > ,< code class ="docutils literal notranslate "> < span class ="pre "> 5</ span > </ code > を表示するとしよう。その場合に重宝するのが< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文と< code class ="docutils literal notranslate "> < span class ="pre "> continue</ span > </ code > (対象コードの実行を飛ばすコード)の組み合わせである。まず,フローチャートで表してみよう。</ p >
@@ -2500,7 +2500,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
25002500</ div >
25012501</ details >
25022502< div class ="cell_output docutils container ">
2503- < img alt ="_images/bde5e5ca50028b69b5b5194fa848901cf9c232aa1aa14bf6abfdcf0a1669a111 .svg " src ="_images/bde5e5ca50028b69b5b5194fa848901cf9c232aa1aa14bf6abfdcf0a1669a111 .svg " />
2503+ < img alt ="_images/95a5f43f1ba63a4d778b78bc98e340f3e26ec880822e0e69e0c0b43e5b9fe321 .svg " src ="_images/95a5f43f1ba63a4d778b78bc98e340f3e26ec880822e0e69e0c0b43e5b9fe321 .svg " />
25042504</ div >
25052505</ div >
25062506< p > 上のフローチャートと異なる点は,下の菱形が追加されていることだけであり,その菱形を< code class ="docutils literal notranslate "> < span class ="pre "> if</ span > </ code > 文で捉えることができる。更に,下の菱形から上の菱形への矢印(< code class ="docutils literal notranslate "> < span class ="pre "> 3</ span > </ code > の表示を飛ばす)を< code class ="docutils literal notranslate "> < span class ="pre "> continue</ span > </ code > で実行することになる。コードを書いてみよう。</ p >
@@ -2585,7 +2585,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
25852585</ div >
25862586</ details >
25872587< div class ="cell_output docutils container ">
2588- < img alt ="_images/6b7cdc5e39256bb68cc0f09b76e1d8ceef7808a00eb0f052aaac314d70f3016a .svg " src ="_images/6b7cdc5e39256bb68cc0f09b76e1d8ceef7808a00eb0f052aaac314d70f3016a .svg " />
2588+ < img alt ="_images/0b86fbacbd01bdfedfc8903766cb40a929da3969aab09f84d9d0c6a816048bc0 .svg " src ="_images/0b86fbacbd01bdfedfc8903766cb40a929da3969aab09f84d9d0c6a816048bc0 .svg " />
25892589</ div >
25902590</ div >
25912591< p > 菱形の中は< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > なので,必ず< code class ="docutils literal notranslate "> < span class ="pre "> True</ span > </ code > の矢印の方向に沿ってコードは実行される。< code class ="docutils literal notranslate "> < span class ="pre "> False</ span > </ code > も書いてあるが,そちらの矢印に決して進むことはない。</ p >
@@ -2623,7 +2623,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
26232623</ div >
26242624</ details >
26252625< div class ="cell_output docutils container ">
2626- < img alt ="_images/799b507b57770d2571ccad143c6d992fe3c22bc2dd20bf0f7e2e2e31f650dc51 .svg " src ="_images/799b507b57770d2571ccad143c6d992fe3c22bc2dd20bf0f7e2e2e31f650dc51 .svg " />
2626+ < img alt ="_images/16ca5cd602715d8e23d4e8d4b3fd5d96835a8c707e06196c228d62039d004def .svg " src ="_images/16ca5cd602715d8e23d4e8d4b3fd5d96835a8c707e06196c228d62039d004def .svg " />
26272627</ div >
26282628</ div >
26292629< p > 上のフローチャートと異なるのは,下の菱形(< code class ="docutils literal notranslate "> < span class ="pre "> 条件?</ span > </ code > )を追加することにより,< code class ="docutils literal notranslate "> < span class ="pre "> while</ span > </ code > ループは維持するとともに< code class ="docutils literal notranslate "> < span class ="pre "> END</ span > </ code > への矢印を追加した点である。</ p >
@@ -2706,7 +2706,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">if</span></code
27062706</ div >
27072707</ details >
27082708< div class ="cell_output docutils container ">
2709- < img alt ="_images/b518da5b74065305c0130cea98e9ad7e25b2f60e4322f9230bf1b77cc524fcc3 .svg " src ="_images/b518da5b74065305c0130cea98e9ad7e25b2f60e4322f9230bf1b77cc524fcc3 .svg " />
2709+ < img alt ="_images/a237e5813a9f40209f1732a3a18787c43b2521d594b00ddf2331953af64a3170 .svg " src ="_images/a237e5813a9f40209f1732a3a18787c43b2521d594b00ddf2331953af64a3170 .svg " />
27102710</ div >
27112711</ div >
27122712< p > 上のコードの< code class ="docutils literal notranslate "> < span class ="pre "> #4</ span > </ code > 〜< code class ="docutils literal notranslate "> < span class ="pre "> #6</ span > </ code > を少し書き換えて,次のようにしても同じ結果が返される。</ p >
@@ -2839,7 +2839,7 @@ <h3><code class="docutils literal notranslate"><span class="pre">continue</span>
28392839</ div >
28402840</ details >
28412841< div class ="cell_output docutils container ">
2842- < img alt ="_images/95dbb46731f126a6719185efbdacb3345031c9ec312e1008b8a621737163069e .svg " src ="_images/95dbb46731f126a6719185efbdacb3345031c9ec312e1008b8a621737163069e .svg " />
2842+ < img alt ="_images/e73985dc177aab09d7d1306cd6f8c3158cba57e476e38141f79fb8f1f1cd5a3f .svg " src ="_images/e73985dc177aab09d7d1306cd6f8c3158cba57e476e38141f79fb8f1f1cd5a3f .svg " />
28432843</ div >
28442844</ div >
28452845</ section >
0 commit comments