制御構造


制御構造は、開発者がプログラムのイベントの順序を制御することを可能にする.コンピュータプログラムのビルディングブロックとして考えられる.制御構造はプログラムが「決定をする」ことを可能にするコマンドである.
制御構造の3つの基本的なタイプがあります
  • シーケンシャルフロー
  • 選択または条件づけ
  • 繰り返し(ループまたは反復)
  • 連続流


    シーケンシャルフローの場合は、基本的にはプログラムにコードブロックを書き込む形式でプログラムを実行する.

    最初のコマンドは最初に実行され、次のコマンドは前のコマンドを実行した後のみ実行されます.

    name = "Richie"
    print(name)
    
    age = 99
    print(age)
    
    print("Richie is 99 years old")
    
    
    上のコードブロックはPythonコードの例です.これは実行順序です.
  • は変数「名前」
  • にストリング「リッチー」を割り当てます
  • プリント名
  • は変数「年齢」
  • に99の整数値を割り当てます
  • 印刷時代
  • は、「リッチーは99才です」
  • を印刷します
    出力
    
    >>> Richie
    >>> 99
    >>> Richie is 99 years old
    
    
    印刷文は、それらが書かれた順序に従って実行されたことがわかります、そして、最初にそれから名前を印刷してください

    選択または条件付きフロー


    条件付きフローの背後にあるアイデアは、プログラムで異なる条件に基づいてコード実行を制御できることです.プログラミングには条件式の異なるタイプがあります.
    ifステートメント
    の間の声明

    if文


    ここでは、特定の値がtrueかfalseかどうかをチェックするために、コンピュータに本質的に言っています.条件が真であるならば、コンピュータはある行動を実行する必要があります.条件がfalseの場合、コンピュータは別のアクションを実行したり、コードの元のシーケンスで続行します.

    if文の一般的な構文は
    if (condition/Boolean expression):
           statement A
    

    以下はPythonコードの例です

    この例では、「2>1」が置かれた状態であり、print(“Hello World”)が文である.2が1より大きいので、Boolean式はtrueを返します.さて、条件が満たされた場合、Pythonはif文内のコードを実行します.
    条件が満たされなければどうなると思いますか.
    この場合、Pythonはifコードブロック内の文を無視し、実行の元のパスに従っていきます.

    ここで私は条件を変えたので、条件は2>4です.2が4より大きくない場合、この条件はfalseを返します.さて、Pythonはif - codeブロック内の文を無視し、元の流れを続けます.
    出力
    >>> My name is Richie
    
    「こんにちは世界」を印刷する代わりに、我々の出力は「私の名前はrichieです」
    上の例では、実行の2つのパスしかなかったので、より多くの選択肢を必要とする場合があります.
    
    If (Condition):
         [Module A]
    Else:
         [Module B]
    [End if structure]
    
    
    if条件が満たされない場合、elseブロック内のコードが実行されます

    複数の選択肢を追加するには、ELIF構造体のelse ifを使用できます.
    
    If (condition A), then:
         [Module A]
    Else if (condition B), then:
         [Module B]
            ..
            ..
    Else if (condition N), then:
         [Module N]
    [End If structure]
    
    

    このフローは、他のコードブロックに条件を追加する.以下に例を示します.

    出力
    >>> 2 is less than 4
    
    出力は、すべての条件が述べられているので、2<4しか返されなかったので、Pythonはこのブロック内でコードを実行するようになります.

    反復(ループ)構造


    ループのために、プログラムが置かれる条件が有効である限り、頻繁にステップのシーケンスを繰り返す.それは条件と条件の流れに似ています.そして、この条件は、ブロック内のコードを実行する前に満たさなければなりません.
    違いは、条件が真である限り、ブロック内のコードが継続的に実行されることです.
    ここでは、ループを制御する条件を初期化するステートメントが必要です.また、この条件を変更してループの末尾に到達するモジュール内のステートメントも必要です.
    一般に、ループ技術の2つのタイプがある
    ループの間、

  • ループ
  • のための

  • 一方ループ


    whileループではまず条件を評価する.この条件が真を返す場合、プログラムはブロック内の文を実行するようになります.
    以下は、whileループの一般的な構文です
    
    while condition:
          statements
    
    
    条件がtrueを返す限り、whileループは実行されます.これを避けるためには、条件を変更するブロック内のステートメントがある必要があります.これはループの終わりにつながります.

    ここでは、Pythonでループしながら実装した例を示します

    条件--カウンタ< 5 >
    モジュール-->
    カウンタ変数の値を出力する
    増加カウンタ1
    カウンタを1増加させることによって、カウンタ値がループに接続された条件を満たさない点になります.
    プログラムは以下のように実行されます
    1. Program starts.
    2. counter is initialized with value 1.
    3. Condition is checked. 1 < 5 yields true.
      3.a) "Hello World" gets printed 1st time.
      3.b) Updation is done. Now counter = 2.
    4. Condition is checked. 2 < 5 yields true.
      4.a) "Hello World" gets printed 2nd time.
      4.b) Updation is done. Now counter = 3.
    5. Condition is checked. 3 < 5 yields true.
      5.a) "Hello World" gets printed 3rd time
      5.b) Updation is done. Now counter = 4.
    6. Condition is checked. 4 < 5 yields true.
      6.a) "Hello World" gets printed 4th time
      6.b) Updation is done. Now counter = 5.
    7. Condition is checked. 5 < 5 yields false.
    8 . Flow goes outside the loop.
    
    出力
    
    Hello world
    1
    Hello world
    2
    Hello world
    3
    Hello world
    4
    

    ループ用


    forループでは、一連の命令がシーケンス内のすべての値に対して繰り返される.シーケンスは、リスト、辞書、タプル、あるいは文字列でもよい.

    forループの一般的な構文は
    
    for loopingVariable in sequence:
          code block
    
    
    ここでは、ループ内の最初の要素の値をループ変数に割り当て、コードを実行します.次に、ループ内の2番目の変数をループ変数に割り当て、コードブロック内のコードを実行します.
    これはシーケンス内のすべての要素に対して行います.


    この例では、文字は
    こんにちは、文字列
    ここで何が起こっているのですか.
    まず、「Hello」という文字列の最初の要素は' H 'です.この最初の要素は変数文字に代入されます.次に、print文は文字とその位置インデックスを出力します.
  • 次に、ループ変数はそれからE .であるシーケンスの第2の文字に割り当てられる.そして、プリント文は文字eおよびそのポジションを印刷する.次に、ループ変数はそれからE .であるシーケンスの第2の文字に割り当てられる.そして、プリント文は文字Lおよびそのポジションを印刷する.ループ変数に代入する要素がなくなるまで、シーケンス内のすべての要素について繰り返します.
    出力
    
    H is in position 0
    e is in position 1
    l is in position 2
    l is in position 2
    o is in position 4
    
    

    結論


    制御構造はプログラムの流れを変えて、より簡単なビルディングブロックから複雑な命令セットを構築するのを可能にします.
    限り、流れの性質を理解すると、別のコントロール構造を任意の方法で組み合わせることができます.条件付きのループにループを含めることもできます.あなたは条件の中でループ内のループを追加することによってさらに一歩行くことができます.それはすべてあなたが達成したいものに依存します.