@@ -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/dd05ebee7e741526453ad2c1560f4fc2eea7e7d52bb1d0889c3319707ff20837 .svg " src ="_images/dd05ebee7e741526453ad2c1560f4fc2eea7e7d52bb1d0889c3319707ff20837 .svg " />
545+ < img alt ="_images/9889bd1954199dea748fa22402ae4e485584b900cdc05b0ff476a69eba70ee69 .svg " src ="_images/9889bd1954199dea748fa22402ae4e485584b900cdc05b0ff476a69eba70ee69 .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/19cccc8b51c8257c1ff9219440392fa7918cf0aa13087fc9f5835993ac6f6430 .svg " src ="_images/19cccc8b51c8257c1ff9219440392fa7918cf0aa13087fc9f5835993ac6f6430 .svg " />
650+ < img alt ="_images/9f32964817e93cb04acf67e9ea9e0c22f23c74ce0dbd139f7b1849c397bc69cd .svg " src ="_images/9f32964817e93cb04acf67e9ea9e0c22f23c74ce0dbd139f7b1849c397bc69cd .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/b711e83fc47a1d678b4473d7fffee70b4ec3f35970c06e8bf2882ea70c7fdcbe .svg " src ="_images/b711e83fc47a1d678b4473d7fffee70b4ec3f35970c06e8bf2882ea70c7fdcbe .svg " />
703+ < img alt ="_images/c6386c384f1d7e07d82f1f4d911b9240a96e2b6a4b26751ab073d2390778d218 .svg " src ="_images/c6386c384f1d7e07d82f1f4d911b9240a96e2b6a4b26751ab073d2390778d218 .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/eabe67a8326239228336a9facb451b17eccfd28a96920360d5cd489346c082fe .svg " src ="_images/eabe67a8326239228336a9facb451b17eccfd28a96920360d5cd489346c082fe .svg " />
755+ < img alt ="_images/e5d3c7243cbf309b8e46c60a04a399cf0d0154489c3fcece90b0f7ff266b97bd .svg " src ="_images/e5d3c7243cbf309b8e46c60a04a399cf0d0154489c3fcece90b0f7ff266b97bd .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/292b0bfa0ca1a6e0c18a6ea015c28a7f2984109800d6685da7dd0ee5c885fbb1 .svg " src ="_images/292b0bfa0ca1a6e0c18a6ea015c28a7f2984109800d6685da7dd0ee5c885fbb1 .svg " />
1028+ < img alt ="_images/cc492ed96fd2169b078f77874ace3795b1104b89a379b18fb82e49eefc2e1653 .svg " src ="_images/cc492ed96fd2169b078f77874ace3795b1104b89a379b18fb82e49eefc2e1653 .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/8d22723fd502e30494ec5126d76d30d11ef220ab89f47e6d8c89dccd80763f10 .svg " src ="_images/8d22723fd502e30494ec5126d76d30d11ef220ab89f47e6d8c89dccd80763f10 .svg " />
1060+ < img alt ="_images/130a859bcd1c2c83b7a62748b56953663b43d50f78de621a100c48dc3f774fd1 .svg " src ="_images/130a859bcd1c2c83b7a62748b56953663b43d50f78de621a100c48dc3f774fd1 .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/65e89d4c06c1c700114e908d16b656e4cfb5b11fe933a578f9d5a16cc7433016 .svg " src ="_images/65e89d4c06c1c700114e908d16b656e4cfb5b11fe933a578f9d5a16cc7433016 .svg " />
1322+ < img alt ="_images/65929c1947b26ea5d8818f9553cfcc00e40152cd6b46c440da0f4c1908354b0c .svg " src ="_images/65929c1947b26ea5d8818f9553cfcc00e40152cd6b46c440da0f4c1908354b0c .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/fb63af83175cd238121e87d1156af3e319849af1d08d5847427e1bebe70cdda6 .svg " src ="_images/fb63af83175cd238121e87d1156af3e319849af1d08d5847427e1bebe70cdda6 .svg " />
2149+ < img alt ="_images/731347ac50cef22309755d95b60e117e4bd0b194db584d124c26ecfb0204471b .svg " src ="_images/731347ac50cef22309755d95b60e117e4bd0b194db584d124c26ecfb0204471b .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/b6c7049fc31a8f12f649ba2f0552b931b72aefd65d372bba075b6c4d42cbec08 .svg " src ="_images/b6c7049fc31a8f12f649ba2f0552b931b72aefd65d372bba075b6c4d42cbec08 .svg " />
2220+ < img alt ="_images/a762534f58d8a58b6fe5ccb9872cd3bb7c7fa2e124908eb984c4bf032510e9ba .svg " src ="_images/a762534f58d8a58b6fe5ccb9872cd3bb7c7fa2e124908eb984c4bf032510e9ba .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/62e0f499ce65ff4f5ee81cdcbb0928ffd2d52a766b28aff184891aa65ea9b400 .svg " src ="_images/62e0f499ce65ff4f5ee81cdcbb0928ffd2d52a766b28aff184891aa65ea9b400 .svg " />
2463+ < img alt ="_images/ff4ac0777bc3d380cdabecd42d56f6955ab1d37eca1c251f81265edbed3fdadb .svg " src ="_images/ff4ac0777bc3d380cdabecd42d56f6955ab1d37eca1c251f81265edbed3fdadb .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/e4042023c0c7af69248607d7979e696665a2a4f25f568858691df8ac1fe4c6e5 .svg " src ="_images/e4042023c0c7af69248607d7979e696665a2a4f25f568858691df8ac1fe4c6e5 .svg " />
2503+ < img alt ="_images/bde5e5ca50028b69b5b5194fa848901cf9c232aa1aa14bf6abfdcf0a1669a111 .svg " src ="_images/bde5e5ca50028b69b5b5194fa848901cf9c232aa1aa14bf6abfdcf0a1669a111 .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/f86768bde52f79937b9b2c37b33ae29a8dd080c3917cde5bb270f68b3eadcd82 .svg " src ="_images/f86768bde52f79937b9b2c37b33ae29a8dd080c3917cde5bb270f68b3eadcd82 .svg " />
2588+ < img alt ="_images/6b7cdc5e39256bb68cc0f09b76e1d8ceef7808a00eb0f052aaac314d70f3016a .svg " src ="_images/6b7cdc5e39256bb68cc0f09b76e1d8ceef7808a00eb0f052aaac314d70f3016a .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/f17f0ce860deef4b7f85259ac389b0bfedef3c1669b62e6edef9e283bdce442f .svg " src ="_images/f17f0ce860deef4b7f85259ac389b0bfedef3c1669b62e6edef9e283bdce442f .svg " />
2626+ < img alt ="_images/799b507b57770d2571ccad143c6d992fe3c22bc2dd20bf0f7e2e2e31f650dc51 .svg " src ="_images/799b507b57770d2571ccad143c6d992fe3c22bc2dd20bf0f7e2e2e31f650dc51 .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/ab83fa315ae162d2a16bce794c28f5a776dfa08e5d379eca507129a30ede4e90 .svg " src ="_images/ab83fa315ae162d2a16bce794c28f5a776dfa08e5d379eca507129a30ede4e90 .svg " />
2709+ < img alt ="_images/b518da5b74065305c0130cea98e9ad7e25b2f60e4322f9230bf1b77cc524fcc3 .svg " src ="_images/b518da5b74065305c0130cea98e9ad7e25b2f60e4322f9230bf1b77cc524fcc3 .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/34a05c8edd3d55a2e89f6ec600d5396b28341488e476699c9f176183a747a6e8 .svg " src ="_images/34a05c8edd3d55a2e89f6ec600d5396b28341488e476699c9f176183a747a6e8 .svg " />
2842+ < img alt ="_images/95dbb46731f126a6719185efbdacb3345031c9ec312e1008b8a621737163069e .svg " src ="_images/95dbb46731f126a6719185efbdacb3345031c9ec312e1008b8a621737163069e .svg " />
28432843</ div >
28442844</ div >
28452845</ section >
0 commit comments