Difference between revisions of "JA/Documentation/BASIC Guide/Branching"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{DISPLAYTITLE:分岐処理}} {{JA/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Operators |NextPage=Documentation/BASIC Guide/...)
 
Line 12: Line 12:
 
== <tt>If...Then...Else</tt> ==
 
== <tt>If...Then...Else</tt> ==
  
<tt>使用頻度の高い分岐ステートメントの 1 つとして If</tt> ステートメントがあり、これは以下のように使用します。
+
使用頻度の高い分岐ステートメントの 1 つとして <tt>If</tt> ステートメントがあり、これは次のように使用します。
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 32: Line 32:
 
このサンプルコードで変数 <tt>B</tt> に代入される値は、変数 <tt>A</tt> が 3 以上の場合は 2 となり、それ以外の場合 <tt>B</tt> に代入される値は、0 となります。
 
このサンプルコードで変数 <tt>B</tt> に代入される値は、変数 <tt>A</tt> が 3 以上の場合は 2 となり、それ以外の場合 <tt>B</tt> に代入される値は、0 となります。
  
<tt>If</tt> ステートメントをカスケード化して、以下のようなより複雑な条件分岐を行わせることもできます。
+
<tt>If</tt> ステートメントをカスケード化して、次のようなより複雑な条件分岐を行わせることもできます。
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 44: Line 44:
 
</source>
 
</source>
  
このサンプルコードでは、変数 <tt>A</tt> の値が 0 であれば、変数 <tt>B</tt> には 0 が代入されます。変数 <tt>A</tt> の値が 3 よりも小さければ (ただし 0 とは等しくない)、変数 <tt>B には 1 が代入されます。</tt>これら以外の場合 (つまり変数 <tt>A</tt> の値が 3 以上の場合)、変数 <tt>B</tt> には 2 が代入されます。
+
このサンプルコードでは、変数 <tt>A</tt> の値が 0 であれば、変数 <tt>B</tt> には 0 が代入されます。変数 <tt>A</tt> の値が 3 よりも小さければ (ただし 0 とは等しくない)、変数 <tt>B</tt> には 1 が代入されます。これら以外の場合 (つまり変数 <tt>A</tt> の値が 3 以上の場合)、変数 <tt>B</tt> には 2 が代入されます。
  
 
== <tt>Select...Case</tt> ==
 
== <tt>Select...Case</tt> ==
Line 71: Line 71:
 
このサンプルコードでは、変数 <tt>DayOfWeek</tt> の値が 1 であれば <tt>Sunday</tt> 、2 であれば <tt>Monday</tt> というように、各曜日の名前を番号で識別させています。
 
このサンプルコードでは、変数 <tt>DayOfWeek</tt> の値が 1 であれば <tt>Sunday</tt> 、2 であれば <tt>Monday</tt> というように、各曜日の名前を番号で識別させています。
  
<tt>Select</tt> コマンドによる条件判定は、単純な 1 対 1 に限定されるものではなく、<tt>Case</tt> による個々の分岐指定部には比較演算子を使ったり、複数の条件式をリスト化して一括指定することが可能です。以下のサンプルコードでは、特に多用される条件判定の例を示します。
+
<tt>Select</tt> コマンドによる条件判定は、単純な 1 対 1 に限定されるものではなく、<tt>Case</tt> による個々の分岐指定部には比較演算子を使ったり、複数の条件式をリスト化して一括指定することが可能です。次のサンプルコードでは、特に多用される条件判定の例を示します。
  
 
<source lang="oobas">
 
<source lang="oobas">

Revision as of 22:08, 27 November 2008

doc OOo
Book.png

指定した条件に応じて、プログラム内の特定のコードブロックのみを実行させたい場合などは、分岐ステートメントを使用します。

If...Then...Else

使用頻度の高い分岐ステートメントの 1 つとして If ステートメントがあり、これは次のように使用します。

If A > 3 Then
  B = 2
End If

このサンプルコードで B = 2 の行が実行されるのは、変数 A の値が 3 より大きい場合だけです。If ステートメントのバリエーションとして、If/Else 句があります。

If A > 3 Then
  B = 2
Else
  B = 0
End If

このサンプルコードで変数 B に代入される値は、変数 A が 3 以上の場合は 2 となり、それ以外の場合 B に代入される値は、0 となります。

If ステートメントをカスケード化して、次のようなより複雑な条件分岐を行わせることもできます。

If A = 0 Then
  B = 0
ElseIf A < 3 Then
  B = 1
Else 
  B = 2
End If

このサンプルコードでは、変数 A の値が 0 であれば、変数 B には 0 が代入されます。変数 A の値が 3 よりも小さければ (ただし 0 とは等しくない)、変数 B には 1 が代入されます。これら以外の場合 (つまり変数 A の値が 3 以上の場合)、変数 B には 2 が代入されます。

Select...Case

Select...Case ステートメントは、If ステートメントのカスケード化と同等の機能を果たすもので、複数の条件に対する分岐を行う際に使用します。

Select Case DayOfWeek
  Case 1:
    NameOfWeekday = "Sunday"
  Case 2: 
    NameOfWeekday = "Monday"
  Case 3: 
    NameOfWeekday = "Tuesday"
  Case 4:
    NameOfWeekday = "Wednesday"
  Case 5:
    NameOfWeekday = "Thursday"
  Case 6:
    NameOfWeekday = "Friday"
  Case 7:
    NameOfWeekday = "Saturday"
End Select

このサンプルコードでは、変数 DayOfWeek の値が 1 であれば Sunday 、2 であれば Monday というように、各曜日の名前を番号で識別させています。

Select コマンドによる条件判定は、単純な 1 対 1 に限定されるものではなく、Case による個々の分岐指定部には比較演算子を使ったり、複数の条件式をリスト化して一括指定することが可能です。次のサンプルコードでは、特に多用される条件判定の例を示します。

Select Case Var
  Case 1 To 5                   
    ' ... Var is between the numbers 1 and 5
  Case 6, 7, 8                  
    ' ... Var is 6, 7 or 8
  Case Var > 8 And Var < 11     
    ' ... Var is greater than 8 and less than 11
  Case Else
    ' ... all other instances
End Select
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools