《08》制御構造(4)構造化プログラミング〈Python 2.x 版〉
実録:はじめてのプログラミング《記事一覧》
《08》制御構造(4)構造化プログラミング
《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
2009年1月23日(金)
関連記事
今日の進捗
Comment | |
---|---|
本人:野中 | 今週は資料と頭の中を整理するのに追われましたが来週から学習を再開します。 |
担当:本間 | なんだかあっという間の一週間でしたね。来週はまた、伊藤さんのもとで新たな学習を始めると思いますが、私もときどき相談に乗るから、お互い風邪ひかないように気をつけようね。(^^) |
スケール課題(4)構造化プログラミング
「スケール課題」で学んだ、構造化プログラミング〔structured programming; SP〕の基本構造をまとめて紹介します。
note | 正規表現 | |
---|---|---|
連接 | コードを記述した順に処理を実行します。 | |
選択 | ある条件を満たすかどうかで、どちらか一方の処理を実行します。 | これは、ある条件のもとで、A と B のどちから一方が実行されることを意味します。 |
反復 | ある条件を満たすかぎりは、指定した処理を繰り返し実行します。 | これは、ある条件のもとで、A が 0 回以上繰り返して実行されることを意味します。 |
□□ |
これは「列挙、場合分け、数学的帰納法という指針に沿って、プログラムは作成される」という考えに基づくものです。この指針に従うなら、プログラムは、連接〔sequence〕選択〔selection〕反復〔iteration〕によって構成するのが良いとされてきました。
ただし、連接では、その処理がコードを記述した順番に「依存するかどうか」を規定するものではありません。つまり、これだけでは、並列処理が可能かどうかを区別できません。左側では、処理の順序に依存して「同じ結果が得られない」可能性があります。右側(並列処理)では、処理の順序に依存せずに「同じ結果が得られる」ことを想定しています。
また「スケール課題」で作成した関数 scale の制御構造を図解すると、次のようになります。
また、これを正規表現では、
A(B(C|(D|))E)*
と記述できます。
Tips
Last updated♪09/03/04