8
www.monash.edu.au IMS1906 Programming in VB.NET Week 4 – Lecture 1 Input and Output © Angela Carbone Monash University School of Information Management and Systems www.monash.edu.au 2 Lecture Outline Input – Input boxes – Text boxes Output – Message boxes – labels www.monash.edu.au 3 Input and Output Inputs make data available for processing Inputs from Users (keyboard, mouse, microphone, etc) – Files Outputs display the results of processing Outputs to – screen – printer – file audio devices www.monash.edu.au 4 Input and Output Programs take in data and produce information From program’s perspective: Input: we read the data in to the program, from keyboard, file, etc. Data is processed into useful information Output: we write the data out to the screen, or a file, etc. Program Input Output www.monash.edu.au 5 Input An Input Box allows user to supply one piece of data: strName = InputBox("What is your name?", "Who are you?") www.monash.edu.au 6 The InputBox Function InputBox ("What is your name?", "Who are you?") Function Name Prompt Title Displays an input box for user to enter input. Result is the string the user types in. The string is stored in a variable

Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

  • Upload
    donhu

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

www.monash.edu.au

IMS1906 Programming in VB.NETWeek 4 – Lecture 1

Input and Output

© Angela CarboneMonash University School of Information Management and Systems

www.monash.edu.au2

Lecture Outline

• Input– Input boxes– Text boxes

• Output– Message boxes– labels

www.monash.edu.au3

Input and Output

• Inputs make data available for processing• Inputs from

– Users (keyboard, mouse, microphone, etc)– Files

• Outputs display the results of processing• Outputs to

– screen– printer– file– audio devices

www.monash.edu.au4

Input and Output

• Programs take in data and produce information• From program’s perspective:

– Input: we read the data in to the program, from keyboard, file, etc.

– Data is processed into useful information– Output: we write the data out to the screen, or a file,

etc.Program

Input Output

www.monash.edu.au5

Input

• An Input Box allows user to supply one piece of data:

strName = InputBox("What is your name?", "Who are you?")

www.monash.edu.au6

The InputBox Function

InputBox ("What is your name?", "Who are you?")

Function Name

Prompt

Title

Displays an input box for user to enter input.

Result is the string the user types in. The string is stored in a variable

Page 2: Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

www.monash.edu.au7

The Text Box Control

• Text Boxes allow user input on a VB.NET Form– Can also be used for output

• Properties:– (Name) – name of the control, e.g. txtCustomerAge– Text – its current contents as shown on screen (a String)– Font – the font to use for the characters typed/displayed– Many Others

• Events:– Click – generated if mouse is clicked inside it– Enter – generated when you arrive at this text box– Leave – generated when you leave from the text box– Many Others

www.monash.edu.au8

Output

• A Message Box allows a String to be displayed to the user in a simple pop-up window:

MessageBox.Show("Hello " & strUsername, "Salutation")

www.monash.edu.au9

MessageBox.Show

Procedure

MessageBox.Show("Hello " & strUsername, "Salutation" )

Message (string)

Title

www.monash.edu.au10

Output

• Message Boxes can have additional arguments (information) to customise their look, for example:

MessageBox.Show( "Are you getting sleepy", "Question", _MessageBoxButtons.YesNo, MessageBoxIcon.Question)

www.monash.edu.au11

The Label Control

• Labels allow output to a VB.NET Form– Cannot be modified by the user

• Properties:– (Name) – the name of the control, e.g. lblTotalPrice– Text – its current contents as shown on screen (a String)– Font – the font to use for the characters typed/displayed– Many Others

• Events:– Click – generated if mouse is clicked on the label– DoubleClick – Occurs when you click twice in short time

period– Many Others

www.monash.edu.au12

Questions/Reading

• Unlock any questions• Lock in the key concepts.

– What’s an input box used for?– What’s the different between

and input and message box.• Reading

– Zak Chpt 3– Zakp193-197, p143-148– Unit Guide, SG 3

Page 3: Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

www.monash.edu.au

IMS1906 Programming in VB.NETWeek 4 – Lecture 2

The Selection Structure

© Angela CarboneMonash University School of Information Management and Systems

www.monash.edu.au14

Overview

• Conditional expressions– Relational operators– Logical Operators– Compound Conditions

• Decision Structures– IF statements– Nested IF statements– CASE statements

www.monash.edu.au15

Relational Operators

• Allows the program to compare data items= Same value < > Different value< less than > greater than<= less than or same >= greater than or same

• Data comparisons may involve:– variables– numerical operators– Functions

• E.g. – a < b asks “Is the value of a less than the value of b?”

www.monash.edu.au16

Numeric Comparisons

• Given a statement like:retailPrice = 34.99

the conditionretailPrice = 50

can be tested,

and in this case it evaluates to ????

www.monash.edu.au17

String Comparisons

• String comparisons are evaluated according to the ASCII code of the characters

– Each character is considered in turni.e. the first character of both strings are compared.

– If the first characters match, the 2nd characters are compared, etc.

– When the compared characters differ, the one with the earlier ASCII code is considered to be an earlier string.

• digits < CAPITAL letters < lower case lettersthus:

“1Cat” is considered less than “OneCat”“OneCat” is considered less than “ oneCat”“OneCat” and “oneCat” are considered to be not the same

www.monash.edu.au18

Relational Comparison Examples

• -5 < 5 TRUE• 5 < 5 FALSE• “cat” >= “car” TRUE• “dog” < “Dog” FALSE

If a variable named myAgecontains value 50:• myAge< 60 TRUE myAge< 50 FALSE• myAge<= 50 TRUE myAge< 40 FALSE• myAge= 50 TRUE myAge<> 50 FALSE

Page 4: Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

www.monash.edu.au19

Compound Conditions

• We can combine several conditions to formcompound conditions

• Use logical operators to form compound conditions• Logical Operators:

– AND – require that the conditions are all true– OR – require that at least one of the conditions is true– NOT – reverse of the condition

• Truth Tables used to evaluate these• Each part evaluated according to the order of precedence

www.monash.edu.au20

Evaluation Order

• Conditions and expressions are evaluated according to an operator hierarchy:

– arithmetic operations– >, <, =, <>, <=, >=– NOT, then AND then OR

• Brackets aid control of evaluation order • Function calls, if they appear, are evaluated and their result

effectively replaces the expression of that function– This occurs prior to any relational operators which have the

function expression as part of it.– E.g.: Val(TextBox.text ) < 50

causes the textbox’s value to be obtained (function call) beforethe comparison can be done.

www.monash.edu.au21

Logical Operator - AND

• Requires both conditions (on either side of AND) to evaluate TRUE, in order for the AND-expression to evaluate TRUE

• Consider two conditions, represented A and B

Condition A Condition B A AND B

TRUE TRUE TRUE

TRUE FALSE FALSE

FALSE TRUE FALSE

FALSE FALSE FALSE

www.monash.edu.au22

Logical Operator - OR

• Requires either or both conditions to evaluate TRUE,in order for the OR-expression to evaluate TRUE

Condition A Condition B A OR B

TRUE TRUE TRUE

TRUE FALSE TRUE

FALSE TRUE TRUE

FALSE FALSE FALSE

www.monash.edu.au23

Logical Operator - NOT

• The NOT operator can negate the truth-value of a condition

• If a condition is normally TRUE, applying the NOT operator will result in FALSE

• If a condition is normally FALSE, applying the NOT operator will result in TRUE

Condition A NOT A

TRUE FALSE

FALSE TRUE

www.monash.edu.au24

Using NOT with AND

A B (A AND B) NOT (A AND B)

TRUE TRUE TRUE FALSE

TRUE FALSE FALSE TRUE

FALSE TRUE FALSE TRUE

FALSE FALSE FALSE TRUE

Page 5: Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

www.monash.edu.au25

Using NOT with AND

• Contrast the previous Truth Table with the following:

A NOT A B NOT B (NOT A) AND (NOT B)

T F T F FALSE

T F F T FALSE

F T T F FALSE

F T F T TRUE

www.monash.edu.au26

Decisions / Selection

• Choice of two paths through a program– TRUE branch/path– FALSE branch/path

• Choice of branch taken is determined by evaluation of a condition at run-time– We do not know at coding-time whether a branch will be

taken• Use these key words:

IF condition THEN…

ELSE…

ENDIF

www.monash.edu.au27

Decisions in Algorithms

Situation 1 – Do something sometimes:IF a condition is true THEN

perform a set of actions END IF

Situation 2 – Do something alwaysIF a condition is true THEN

perform this set of actionsELSE (meaning: that the condition was false)

perform a different set of actionsEND IF

Get in CarTurn car onIF (Petrol tank is nearly empty) THEN

Go to Petrol StationFill up Tank

END IFDrive to destination

Get in CarTurn car onIF (It is raining ) THEN

Turn on Windscreen WiperWait for Windscreen to become clear

ELSEOpen the Sun RoofWind Down the Windows

END IFDrive to destination

www.monash.edu.au28

Decision Control Structures

Graphical Representation:

YES

NO

? Actions if“YES”

Actions if“NO”

IF condition = true THENYES Actions

ELSENO Actions

END IF

www.monash.edu.au29

Nested Conditions

• Sometimes we have more than 2 courses of action

• We can use Nested IFs• 2 types:

– Linear – Used when more than 2 mutually exclusive cases

– Non-Linear – Used when several conditions combine to describe a specific case.

www.monash.edu.au30

Example – Linear Nested IF

IF mark >= 80 THENgrade ß “High Distinction”

ELSEIF mark >=70 THEN

grade ß “Distinction”ELSE

IF mark >= 60 THENgrade ß “Credit”

ELSEIF mark >= 50 THEN

grade ß “Pass”ELSE

grade ß “Fail”END IF

END IFEND IF

END IF

Decisions are nested likeRussian dolls. You only reachthe next level if you don’tperform the action at the current level.

Test this algorithm with mark = 55 and mark = 75

Page 6: Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

www.monash.edu.au31

Example – Non-Linear Nested IF

IF It is Winter THENWear a jumper and long pantsIF I am going outside THEN

Take an umbrellaELSE

Turn central heating onENDIF

ELSEWear shorts and T-ShirtIF I am going outside THEN

Wear Hat and SunscreenELSE

Turn on Air ConditionerEND IF

END IFwww.monash.edu.au

32

Desk-checking: Algorithms with Selection

• Aim of Desk Checking is to check the logic of program

• Selection structures mean that some of the algorithm won’t be executed

– If the TRUE -block is done, the FALSE-block is not done, etc.

• Need to select test data sets such that all paths through algorithm will be checked at least once.

www.monash.edu.au33

Test Data for Nested-IF example

• For the University Grading example:Test Data (mark) Expected Result (grading)

88 “High Distinction”

20 “Fail”

65 “Credit”

51 “Pass”

79 “Distinction”

www.monash.edu.au34

University Grades Example (1) – Nested IFs

If intMark >= 80 ThenstrGrade = "High Distinction"

ElseIf intMark >=70 Then

strGrade = "Distinction"Else

If intMark >= 60 ThenstrGrade = "Credit"

ElseIf intMark >= 50 Then

strGrade = "Pass"Else

strGrade = "Fail"End If

End IfEnd If

End If

www.monash.edu.au35

IF .. THEN .. ELSEIF ... ELSE .. ENDIF

• VB.NET Provides the ElseIfkeyword as an alternative to Else

• Eliminates the need to have linear nested IFs

• Must provide a new condition

www.monash.edu.au36

University Grades Example (2) – Cascading IF

If intMark >= 80 ThenstrGrade = "High Distinction"

ElseIf intMark >=70 ThenstrGrade = "Distinction"

ElseIf intMark >= 60 ThenstrGrade = "Credit"

ElseIf intMark >= 50 ThenstrGrade = "Pass"

ElsestrGrade = "Fail"

End If

Page 7: Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

www.monash.edu.au37

Case Statements

• Sometimes you have many conditions which test the value of a common variable, called the Selector

– E.G. ‘mark’ in the previous examples• Case statements simplify decisions with

more than two possible branches for a single selector

• Useful for menus

www.monash.edu.au38

Case Statements

Algorithmic form (as in Robertson):

CASE OF variableNamevalue1: statementsvalue2: statements…otherwise: statements

ENDCASE

www.monash.edu.au39

Case Statements

Syntax for Visual Basic:

Select Case SelectorCase values

ActionsCase values

ActionsCase Else

ActionsEnd Select

www.monash.edu.au40

Case statements in Visual Basic .NET

• Values can be– A constant, variable, or literal of a matching type– An expression which evaluates to true– A range

• Example:Select Case dayOfWeek

Case 1, 7txtBox.Text =“Weekend”

Case 2 To 6textBox.Text = “Weekday”

Case ElsetextBox.Text = “Invalid Day”

End Select

www.monash.edu.au41

University Grades Example (3) – Using Case

Select Case intMarkCase Is = 100

strGrade = "Perfect Score"Case Is >= 80

strGrade = "High Distinction"Case Is >= 70

strGrade = "Distinction"Case Is >= 60

strGrade = "Credit"Case Is >= 50

strGrade = "Pass"Case Else

strGrade = "Fail"End Select

www.monash.edu.au42

Select Case

• Use TO keyword to specify a range of values when you know max and min:

22 To 100• Use the IS keyword to specify a range of

values when you don’t know max and min values

Page 8: Lecture Outline - Information Management and Systems · • String comparisons are evaluated according to the ASCII code of the characters – Each character is considered in turn

www.monash.edu.au43

Which structure do I use?

• Single option (null/absent ELSE branch)

IF condition THEN…

ENDIF

• Two optionsIF condition THEN

…ELSE

…ENDIF

• Three options– Use nested IF for algorithm

IF condition THEN…

ELSEIF condition

THEN…ENDIF

ENDIF– May use nested or

cascading IF in code

• Four or more options - Case statement

www.monash.edu.au44

Questions/Reading

• Take a minute to note what you covered today

– key points– major concepts– any questions?

• Reading– Study Guide 4– Zak, Chpt 4 – Robertson, Chpt 4