engr 112 decision structures. control structures sequence structures built into visual basic...

Post on 01-Jan-2016

240 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ENGR 112

Decision Structures

Control Structures Sequence structures

Built into Visual Basic

Selection structures If/Then Single selection If/Then/Else Double selection Select Case Multiple selection

Control Structures Repetition structures

For/Next Do/While Loop

Selection Structures

Selection Structure

Is Condition Met?

Statements in Else Clause

Statements in Then Clause

NO YES

If/Then/Else Statement Allows us to execute one statement if

TRUE and another if FALSEIf A=0 Then

msg = “ERROR...Division by ZERO”MsgBox(msg)Exit Sub

Else C = B/A

End If

If/Then/Else for checking To determine if user has entered a

string in the from of a dateIf IsDate(variable) Then ‘do what you want with the dateElse ‘provide a message to the userEnd If

Example Dim DTPrivate Sub Command1_Click() DT = Text1.Text If IsDate(DT) Then MsgBox "Good Job" Else MsgBox "please enter the text in the form of a

date" End IfEnd Sub

If/Then/Else for checking To determine if variable can be

converted to a numberIf IsNumeric(variable) Then ‘do what you want with the numberElse ‘provide a message to the userEnd If

ExampleDim NTPrivate Sub Command2_Click() NT = Text2.Text If IsNumeric(NT) Then MsgBox "Good Job" Else MsgBox "please enter a number" End IfEnd Sub

If/Then/Else Statement Nested conditional statements

If A = 0 Thenvalue = “x”

Else If A=1 Then

value = “y” Else

If A=2 Then value = “z” End If

End If End If

Select Case structure Practical when more than three levels of if/Then/Else are necessary

Select Case inputNumber Case 0

value = “x”

Case 1

value = “y”

Case 2

value = “z”

Case 3

value = “Null”

End Select

Example Design a program to compute

grades based on the average of 4 exams

If the average is 90 or higher, the student gets an “A”

If the average is 80 – 89, the student gets a “B”

Etc.

If/Then/Else Pseudocode Version

If Grade >= 90 Then YourGrade = “A”Else If Grade >= 80 Then YourGrade = “B”Else If Grade >= 70 Thenetc

Case Pseudocode

Select Case Grade Case is >= 90 YourGrade = “A” Case is >= 80 YourGrade = “B” Case is >= 70 YourGrade = “C”Etc.

Repetition Structures

Determinant Loops

For/Next Statement

Also known as a For … Next loop Allows repetition of statements Syntax

For CounterVar = StartNum to EndNum [Step

StepNum]

VB Statements

Next CounterVar

Optional

Increments counter

Determinate StructureSet counter variable to starting value

Increment counter variable

Is counter value greater than

ending value?

Body of Loop

Move to statements after loop

NO

YES

For/Next Statement Counter increments by 1 unless

otherwise specified

VB keyword Step is used to increment by a number other than 1 (including negative numbers)

Can be terminated prematurely with keywords Exit For

For/Next Statement Examples

Answ = 0

For X=1 To 10Answ = Answ + X

Next X

Answ = 0

For X=1 To 10 Step 2Answ = Answ + X

If X > 10 Then Exit For

Next X

Indeterminate Loop

Do…Loop Statements Conditional loops are executed as

long or until a condition exists Their key feature is the condition The condition can be

A Boolean variable (True or False) Value of a property Expression (NumVal < 15)

Indeterminate Structure 1

Move to statements after loop

Body of Loop

Is conditionmet?

NO

YES

Test at End of Loop

Do Loop – Test at End Example

Dim passwordDo password= inputBox$(“Password

please?”)Loop Until password = “Vanilla

orange”

Indeterminate Structure 2

Move to statements after loopBody of Loop

Is conditionmet?

NO

YES

Test at Beginning of Loop

Do Loop –Test at beginning exampleDim entryDim NameCount As IntegerPrivate Sub Command1_Click()NameCount = 0entry = InputBox("Enter name")Do Until entry = "zzz" NameCount = NameCount + 1 entry = InputBox("Enter name")LoopPrint "The total number of names is "; NameCountEnd Sub

Do While LoopDoLoop Until variablename <> “”

DoLoop While variablename = “”

DoLoop Until variablename > 5

DoLoop While variablename <= 5

Equivalent

Equivalent

Do...While/Loop Statement Example

X = 10

Do While X > 0Ht = (60 + 2.13) * X^4

Print Ht ‘Ht=Height of Rocket

X = X - 1

Loop

Condition

Condition being affected

Problems with Loops What’s the problem with this loop?

Dim i As Integer

Do While i = 0

i = 0

Loop

Problems with LoopsWhat’s the problem with this loop?

Private Sub CmdDisplay_Click()Dim x As Singlex = 1Do While x > 0

x = x + 1PicOutput.Print x

LoopEnd Sub

Problems with LoopsWhat’s the problem with this loop?

Private Sub CmdDisplay_Click()Dim m As SingleFor m = 1 To 20.5 Step – 1

PicOutput.Print m

Next m

End Sub

top related