welcome: please sign in
location: "条件文"の差分
1と3のリビジョン間の差分 (その間の編集: 2回)
2010-02-19 05:54:03時点のリビジョン1
サイズ: 17
編集者: masahiko
コメント:
2010-02-19 06:09:27時点のリビジョン3
サイズ: 6988
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 2: 行 2:
=== 流れ図 ===

プログラムは記述した順に実行されました。
次のようなプログラムがあったとします。
 {{{
 文1
 文2
 文3
 }}}
ここでは、文1~3は代入文かprint文だと考えてください。
このプログラムを実行すると、文1~3はこの順に実行されます。

実行の順序を図で表すと次のようになります。
 . {{attachment:jouken1.png}}
処理の流れ(実行順序)を表すための図を流れ図といいます。

----
=== 条件文の書き方 ===

いつも同じ処理をするだけでなく、場合によって処理内容を変えることができると、もっといろんなプログラムが書けます。

条件によって処理内容を変えるための、もっとも基本的な文が '''if文''' です。

if文の書き方は

 . {{attachment:jouken2.png}}

です。

丸で囲まれたところはその通りに書きます。
条件のところには、数の比較などが書けます。
文のところには、代入文や print文などが書けます。

if文はしばしば数行を使って記述します。

例を示します。
 {{{
 if ( tate > 20 ) {
     wa = tate + 10;
     sa = tate - 30;
 }
 }}}
書き方と対応させて見ましょう。
丸で囲まれた部分に対応する''' if ( ) { } '''の位置を確認してください。
 . '''条件'''に対応するのは tate > 20 だと分りますね。
 . '''文'''に対応するのは wa=tate+10; と sa=tate-30; の2行です。

----
=== 条件文の実行 ===

if文の処理順序は次のようになります。

 . (1) 条件が成り立つか判定する
 . (2) 条件が成り立っているときだけ、{ } で挟まれた文を実行する。

条件が成り立たないときは、(2)では何も行われないことになります。

このようなプログラムがあったとします。
 {{{
 文1
 文2
 if ( 条件 ) {
     文3
     文4
 }
 文5
 }}}
このプログラムを流れ図であらわすと、次のようになります。
点線で囲んだ範囲が if文に対応する部分です。

 . {{attachment:jouken3.png}}
処理順序は
 . (1) 文1が実行されます。
 . (2) 文2が実行されます。
 . (3) 条件が成り立つか判定されます。
 . (4) 条件が成り立っているときだけ、文3、文4の順に実行されます。
 . (5) 文5が実行されます。
です。

----
=== 条件 ===

条件のところには、数値の比較などが記述できます。
他にも論理式を含め、いろいろな条件を記述できますが、この授業では2つの数値の比較のみを扱います。

数値とは、リテラルで表された数値、変数名が表す数値、それらを使った数式、関数などのことです。

2つの数値が、等しいか、等しくないか、大きいか、小さいかなどの比較ができます。

比較を表すには次の記号を使います。
 ||記号||意味||
 ||==||等しい||
 ||!=||等しくない||
 ||>||大きい||
 ||>=||大きいか等しい||
 ||<||小さい||
 ||<=||小さいか等しい||

等しいことの判定にはイクオール2つ、等しくないことの判定には!とイクオールです。注意してください。

 ||例||意味||
 ||maru == 12||maruの値が12と等しい||
 ||hidari < migi||hidariがmigiより小さい||
 ||x + y >= 30||x+yの値が30より大きいか等しい||

----
=== 書き方の例 ===

条件が成り立つときだけ実行される部分を、右にずらして書いています。
このように揃えて分りやすく書きましょう。
 {{{
 if ( tate > 20 ) {
     wa = tate + 10;
     sa = tate - 30;
 }
 }}}
print 文も使えます。
 {{{
 if ( tate == 20 ) {
     wa = tate + 10;
     print( '縦が20です' );
 }
 }}}
条件が成り立つときだけ実行される部分が1文だけのときは、このように書くこともあります。
 {{{
 if ( tate <= 20 ) { wa = tate + 10; }
 }}}
条件が成り立つときだけ実行される部分が1文だけのときは、括弧を省略することもできます。今回は使いません。
 {{{
 if ( tate != 20 ) wa = tate + 10;
 }}}
----
=== 条件文の書き方(1) ===

if文の書き方は
 . {{attachment:jouken1.png}}
であり、処理の流れは図に示す通りです。
図では、いくつかの文をまとめて処理という箱で表しています。
条件が成り立つときだけ、処理の部分を実行します。
 . {{attachment:jouken5.png}}
この流れ図に対応するif文は次のように書きます。
 {{{
 if ( 条件 ) {
     処理
     
 }
 }}}
----
=== 条件文の書き方(2) ===

条件が成り立つときとそうでないときで、別の処理をさせたいことがあります。
流れ図で示すような場合です。
 . {{attachment:jouken6.png}}
条件が成り立つときは処理1を行い、そうでないときは処理2を行います。

この流れ図に対応するif文は else を使って次のように書きます。
 {{{
 if ( 条件 ) {
     処理1
 }
 else {
     処理2
 }
 }}}
処理と書いた部分は、文がいくつか並んだものです。
{ と } で挟まれた部分は、このように右にずらして書くと分りやすい。

elseを含むif文の構文図はこのようになります。

 . {{attachment:jouken4.png}}
----
=== 条件文の書き方(3) ===

if文の中の処理の部分には、代入文やprint文だけでなく、if文を書くこともできます。
そうすることで、いくつもの場合に分けた処理を行うことができます。

多くの場合に分けるときは、次のように考えます。
 . {{attachment:jouken7.png}}
条件1が成り立つときは、処理1を行い、<<BR>>
そうではなくて(条件1が成り立たなくて)条件2が成り立つときは、処理2を行い、<<BR>>
そうではなくて(条件1も条件2も成り立たなくて)条件3が成り立つときは、処理3を行い、<<BR>>
そうではない(条件1も条件2も条件3も成り立たない)ときは、処理4を行う。

この流れ図に対応するif文は次のように書きます。
 {{{
 if ( 条件1 ) {
     処理1
 }
 else if ( 条件2 ) {
     処理2
 }
 else if ( 条件3 ) {
     処理3
 }
 else {
     処理4
 }
 }}}
if文と流れ図が対応していることを、確認してください。
最初の条件は if で、2番目以降の条件は else if で記述します。
最後は else です。

条件文

流れ図

プログラムは記述した順に実行されました。 次のようなプログラムがあったとします。

  •  文1
     文2
     文3

ここでは、文1~3は代入文かprint文だと考えてください。 このプログラムを実行すると、文1~3はこの順に実行されます。

実行の順序を図で表すと次のようになります。

  • jouken1.png

処理の流れ(実行順序)を表すための図を流れ図といいます。


条件文の書き方

いつも同じ処理をするだけでなく、場合によって処理内容を変えることができると、もっといろんなプログラムが書けます。

条件によって処理内容を変えるための、もっとも基本的な文が if文 です。

if文の書き方は

  • jouken2.png

です。

丸で囲まれたところはその通りに書きます。 条件のところには、数の比較などが書けます。 文のところには、代入文や print文などが書けます。

if文はしばしば数行を使って記述します。

例を示します。

  •  if ( tate > 20 ) {
         wa = tate + 10;
         sa = tate - 30;
     }

書き方と対応させて見ましょう。 丸で囲まれた部分に対応する if ( ) { } の位置を確認してください。

  • 条件に対応するのは tate > 20 だと分りますね。

  • に対応するのは wa=tate+10; と sa=tate-30; の2行です。


条件文の実行

if文の処理順序は次のようになります。

  • (1) 条件が成り立つか判定する
  • (2) 条件が成り立っているときだけ、{ } で挟まれた文を実行する。

条件が成り立たないときは、(2)では何も行われないことになります。

このようなプログラムがあったとします。

  •  文1
     文2
     if ( 条件 ) {
         文3
         文4
     }
     文5

このプログラムを流れ図であらわすと、次のようになります。 点線で囲んだ範囲が if文に対応する部分です。

  • jouken3.png

処理順序は

  • (1) 文1が実行されます。
  • (2) 文2が実行されます。
  • (3) 条件が成り立つか判定されます。
  • (4) 条件が成り立っているときだけ、文3、文4の順に実行されます。
  • (5) 文5が実行されます。

です。


条件

条件のところには、数値の比較などが記述できます。 他にも論理式を含め、いろいろな条件を記述できますが、この授業では2つの数値の比較のみを扱います。

数値とは、リテラルで表された数値、変数名が表す数値、それらを使った数式、関数などのことです。

2つの数値が、等しいか、等しくないか、大きいか、小さいかなどの比較ができます。

比較を表すには次の記号を使います。

  • 記号

    意味

    ==

    等しい

    !=

    等しくない

    >

    大きい

    >=

    大きいか等しい

    <

    小さい

    <=

    小さいか等しい

等しいことの判定にはイクオール2つ、等しくないことの判定には!とイクオールです。注意してください。

  • 意味

    maru == 12

    maruの値が12と等しい

    hidari < migi

    hidariがmigiより小さい

    x + y >= 30

    x+yの値が30より大きいか等しい


書き方の例

条件が成り立つときだけ実行される部分を、右にずらして書いています。 このように揃えて分りやすく書きましょう。

  •  if ( tate > 20 ) {
         wa = tate + 10;
         sa = tate - 30;
     }

print 文も使えます。

  •  if ( tate == 20 ) {
         wa = tate + 10;
         print( '縦が20です' );
     }

条件が成り立つときだけ実行される部分が1文だけのときは、このように書くこともあります。

  •  if ( tate <= 20 ) { wa = tate + 10; }

条件が成り立つときだけ実行される部分が1文だけのときは、括弧を省略することもできます。今回は使いません。

  •  if ( tate != 20 ) wa = tate + 10;


条件文の書き方(1)

if文の書き方は

  • jouken1.png

であり、処理の流れは図に示す通りです。 図では、いくつかの文をまとめて処理という箱で表しています。 条件が成り立つときだけ、処理の部分を実行します。

  • jouken5.png

この流れ図に対応するif文は次のように書きます。

  •  if ( 条件 ) {
         処理
         
     }


条件文の書き方(2)

条件が成り立つときとそうでないときで、別の処理をさせたいことがあります。 流れ図で示すような場合です。

  • jouken6.png

条件が成り立つときは処理1を行い、そうでないときは処理2を行います。

この流れ図に対応するif文は else を使って次のように書きます。

  •  if ( 条件 ) {
         処理1
     }
     else {
         処理2
     }

処理と書いた部分は、文がいくつか並んだものです。 { と } で挟まれた部分は、このように右にずらして書くと分りやすい。

elseを含むif文の構文図はこのようになります。

  • jouken4.png


条件文の書き方(3)

if文の中の処理の部分には、代入文やprint文だけでなく、if文を書くこともできます。 そうすることで、いくつもの場合に分けた処理を行うことができます。

多くの場合に分けるときは、次のように考えます。

  • jouken7.png

条件1が成り立つときは、処理1を行い、
そうではなくて(条件1が成り立たなくて)条件2が成り立つときは、処理2を行い、
そうではなくて(条件1も条件2も成り立たなくて)条件3が成り立つときは、処理3を行い、
そうではない(条件1も条件2も条件3も成り立たない)ときは、処理4を行う。

この流れ図に対応するif文は次のように書きます。

  •  if ( 条件1 ) {
         処理1
     }
     else if ( 条件2 ) {
         処理2
     }
     else if ( 条件3 ) {
         処理3
     }
     else {
         処理4
     }

if文と流れ図が対応していることを、確認してください。 最初の条件は if で、2番目以降の条件は else if で記述します。 最後は else です。

条件文 (最終更新日時 2010-02-19 06:19:21 更新者 masahiko)