@@ -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/d3bd014319a010d5eb60e6cebcd72a04f3015e2ecf1a8c727da152725f5b0ba0 .svg " src ="_images/d3bd014319a010d5eb60e6cebcd72a04f3015e2ecf1a8c727da152725f5b0ba0 .svg " />
545+ < img alt ="_images/84148ae60587c9d0e1e078fb659250f887ca7c345a71bce575b4ade4f8953ea6 .svg " src ="_images/84148ae60587c9d0e1e078fb659250f887ca7c345a71bce575b4ade4f8953ea6 .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/ce910249a130238b0c960ea19ce407af713ad32c874cc8b6bd3f361e88534612 .svg " src ="_images/ce910249a130238b0c960ea19ce407af713ad32c874cc8b6bd3f361e88534612 .svg " />
650+ < img alt ="_images/4fb48cdb8c052be4913ab4a1f1a24dc802206b16cabfa2fe79642ed422a5b31b .svg " src ="_images/4fb48cdb8c052be4913ab4a1f1a24dc802206b16cabfa2fe79642ed422a5b31b .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/49a7d63580615363c3b40ad8d28dcb19b930ff4d2ab910dba30db24f036729d7 .svg " src ="_images/49a7d63580615363c3b40ad8d28dcb19b930ff4d2ab910dba30db24f036729d7 .svg " />
703+ < img alt ="_images/a5723dd3b3fff6b422ccfc5aa60d7ac7c73388bd81cf9a3d93ab35f7b296cca4 .svg " src ="_images/a5723dd3b3fff6b422ccfc5aa60d7ac7c73388bd81cf9a3d93ab35f7b296cca4 .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/792beeab58950c1d9600f4faa197969e4ed3d341a3c0ee3b716edfbcdceed774 .svg " src ="_images/792beeab58950c1d9600f4faa197969e4ed3d341a3c0ee3b716edfbcdceed774 .svg " />
755+ < img alt ="_images/15da34cd9f245d2d44c4344c34b6c7c9205466cfdcefcc560780a4799109ebe8 .svg " src ="_images/15da34cd9f245d2d44c4344c34b6c7c9205466cfdcefcc560780a4799109ebe8 .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/96e4035e167a9535c8f594b8c471323f82dbe457ee4e76a3546ff73b01cb87e6 .svg " src ="_images/96e4035e167a9535c8f594b8c471323f82dbe457ee4e76a3546ff73b01cb87e6 .svg " />
1028+ < img alt ="_images/c3b22e6749204603d755b22ac73e64aa66e78aa9de1d79a0dac6f07baf9d4ac7 .svg " src ="_images/c3b22e6749204603d755b22ac73e64aa66e78aa9de1d79a0dac6f07baf9d4ac7 .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/f3362326a443d753e0ee73662751e2cd10bdd605dc4288fadc409d2d9a15083c .svg " src ="_images/f3362326a443d753e0ee73662751e2cd10bdd605dc4288fadc409d2d9a15083c .svg " />
1060+ < img alt ="_images/fa2bdc221048f863e1b7375257fc3082c29c3f44b7d2a1be20fac9b87a580625 .svg " src ="_images/fa2bdc221048f863e1b7375257fc3082c29c3f44b7d2a1be20fac9b87a580625 .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/7206a3cc9006945e9d9088406c9e6a214d05332a6956b39094f1e9c4e1d526bb .svg " src ="_images/7206a3cc9006945e9d9088406c9e6a214d05332a6956b39094f1e9c4e1d526bb .svg " />
1322+ < img alt ="_images/dd7f508359bdfd681c5dd4d2a0dd7b49579a2fdd16c52afa545bb73756bb0640 .svg " src ="_images/dd7f508359bdfd681c5dd4d2a0dd7b49579a2fdd16c52afa545bb73756bb0640 .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/18f09608dafc3273e5eddc9561095fd84d2ea0129c3fe0ee113e97bbc47b0b05 .svg " src ="_images/18f09608dafc3273e5eddc9561095fd84d2ea0129c3fe0ee113e97bbc47b0b05 .svg " />
2149+ < img alt ="_images/6cf8f0d16bd2aa549d4823055184bb688aaca4c4cca3abb8565173c61391c4d3 .svg " src ="_images/6cf8f0d16bd2aa549d4823055184bb688aaca4c4cca3abb8565173c61391c4d3 .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/9f90f5e13610dac4ac1aad833e37d26e31d941bc465586d1d3c41a16280b1e38 .svg " src ="_images/9f90f5e13610dac4ac1aad833e37d26e31d941bc465586d1d3c41a16280b1e38 .svg " />
2220+ < img alt ="_images/5f5d73b9eb1df44cbfcd5003eca5c767e1f43258a02477db8509e832c74ce25d .svg " src ="_images/5f5d73b9eb1df44cbfcd5003eca5c767e1f43258a02477db8509e832c74ce25d .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/a8c5a27618906403e9d24011b961dece78f8a759a7bbd19d0b27318171434847 .svg " src ="_images/a8c5a27618906403e9d24011b961dece78f8a759a7bbd19d0b27318171434847 .svg " />
2463+ < img alt ="_images/7c5f01b45d0697d22ac6348c31b224cbb009ac4fa497ae2049fc07f489fd4b78 .svg " src ="_images/7c5f01b45d0697d22ac6348c31b224cbb009ac4fa497ae2049fc07f489fd4b78 .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/b8c7f857dcadcc71d4daf5635b79912c6028ee8f29a7d2fade650d4eb42fbdb7 .svg " src ="_images/b8c7f857dcadcc71d4daf5635b79912c6028ee8f29a7d2fade650d4eb42fbdb7 .svg " />
2503+ < img alt ="_images/dc0a754d3c17d9acb971863ca4d7e189933ee6c270838618b60eaa44b77c9429 .svg " src ="_images/dc0a754d3c17d9acb971863ca4d7e189933ee6c270838618b60eaa44b77c9429 .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/4ca52805385f86382379f2ff6ab4ff90a0119910c56e20978b028dfce0485774 .svg " src ="_images/4ca52805385f86382379f2ff6ab4ff90a0119910c56e20978b028dfce0485774 .svg " />
2588+ < img alt ="_images/2feea4f46e0c09108240862562bd859f02080e90e4b79aa49c0bc2e32448b3d7 .svg " src ="_images/2feea4f46e0c09108240862562bd859f02080e90e4b79aa49c0bc2e32448b3d7 .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/823118cd9658c0ad5f38c71cb424ad31ea2fb86525170d076c7d2a8919bfc3e5 .svg " src ="_images/823118cd9658c0ad5f38c71cb424ad31ea2fb86525170d076c7d2a8919bfc3e5 .svg " />
2626+ < img alt ="_images/60b360668b92a246d61079be7185f9516c31e6911c9be7647100c8f6d03a81fe .svg " src ="_images/60b360668b92a246d61079be7185f9516c31e6911c9be7647100c8f6d03a81fe .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/2e50f9a69e1a84ec651ccab0f72e3e9ace07927b25187db75753b894ed8fe252 .svg " src ="_images/2e50f9a69e1a84ec651ccab0f72e3e9ace07927b25187db75753b894ed8fe252 .svg " />
2709+ < img alt ="_images/2bb265a3fb3b1b941b22c36a28c0d5f2a4185579f81e61fbfefd917213ae563c .svg " src ="_images/2bb265a3fb3b1b941b22c36a28c0d5f2a4185579f81e61fbfefd917213ae563c .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/ff0b4eaf6165f7cd5ab907f7bd2d9aafa55a0c030a21c7929132f4b1f187649a .svg " src ="_images/ff0b4eaf6165f7cd5ab907f7bd2d9aafa55a0c030a21c7929132f4b1f187649a .svg " />
2842+ < img alt ="_images/1044ee6555caee6169f9112df9ceb325baec2a2a3bd404843a8bf6aaf82bd74d .svg " src ="_images/1044ee6555caee6169f9112df9ceb325baec2a2a3bd404843a8bf6aaf82bd74d .svg " />
28432843</ div >
28442844</ div >
28452845</ section >
0 commit comments