Skip to content

Commit 4991400

Browse files
committed
deploy: 4ecd430
1 parent b56db64 commit 4991400

107 files changed

Lines changed: 480 additions & 477 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1_Basics_IV.html

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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&gt;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

Comments
 (0)