+ All Categories
Home > Documents > UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

Date post: 31-Dec-2015
Category:
Upload: cassandra-elliott
View: 223 times
Download: 3 times
Share this document with a friend
Popular Tags:
33
UniMAP Sem II- 09/10 EKT120: Computer Programming 1 Week 3 – Selection Structures
Transcript
Page 1: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 1

Week 3 – Selection Structures

Page 2: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 2

Outline Recall selection control structure Types of selection One-way selection Two-way selection Multi-selection Compound statement Nested if Conditional operator Switch structure

Page 3: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 3

Recall.. Selection Structure

Used to choose among alternative courses of action

C has three types: if, if..else, and switch

Page 4: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 4

The if selection structure

if structure is a single-entry/single-exit structure

true

false

grade >= 60

print “Pass”

 

If student’s grade is greater than or equal to 60

Print “Pass”

Page 5: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 5

The if..else selection structure

Specifies an action to be performed both when the condition is true and when it is false

truefalse

print “Fail” print “Pass”

grade >= 60

If student’s grade is greater than or equal to 60

print “Pass”else

print “Fail”

Page 6: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 6

Selection Statements

Used to control the flow of a program

Also called as decision or branches

Branches are conditions or choices used to enable selection of program flow

Page 7: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 7

Types of selection

One-way selection = if Two-way selection = if..else Multi-selection Nested if Switch structure = switch

Page 8: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 8

One-way Selection = if In C, a condition is represented by a logical (Boolean)

expression true and false are logical (Boolean) values The syntax of one-way selection is:

if (expression) statement;

If the value of the expression is true, statement is executed;

if false, statement is not executed and the computer goes on to the next statement in the program.

Page 9: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 9

One-way Selection = if

true

false

grade >= 60

print “Pass”

If student’s grade is greater than or equal to 60

Print “Pass”

Page 10: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 10

One-way Selection = if

…..if(grade >= 60)

printf(“Pass”);…..…..

Page 11: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 11

One-way Selection = if Another example: char grade;

……if(markah>= 90)

grade = 'A'; ………...printf(“Grade is : %c\n”, grade);

Page 12: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 12

One-way Selection = if

Another example: if (temperature is greater than 70

degree and it is not raining) recommended activity is golfing

bool rain=false;…if((temp > 70) && !(rain))

printf(“recommended activity is golfing”);

Page 13: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 13

One-way Selection = if

Common Errors if score >= 90 //no

parentheses grade = 'A';

if(score >= 90); //; not heregrade = 'A';

Page 14: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 14

Two-way Selection = if..else The syntax of two-way selection is:

if (expression) statement1;

elsestatement2;

If the value of the expression is true, statement1 is executed;

if false, statement2 is executed

Page 15: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 15

Two-way Selection = if..else

truefalse

print “Fail”

print “Pass”

grade >= 60

If student’s grade is greater than or equal to 60

print “Pass”else

print “Fail”

Page 16: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 16

Two-way Selection = if..else

……… if(grade >=60)

printf(“Pass”);else

printf(“Fail”);……

Page 17: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 17

Two-way Selection = if..else Another example: if (hour > 40.0) //Line 1

wages = 40.0 * rate +1.5 * rate * (hour - 40.0); //Line 2else //Line 3

wages = hour * rate; //Line 4

If hour is 50, then the statement at Line 2 is executed

If hour is 30, then the statement at Line 4 is executed

Page 18: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 18

Multi-selection = if-else if The syntax is:

if(exp1)stmt1;

else if(exp2)stmt2;

else if(exp3)stmt3;…

elsestmt n;

An if-else if control structure shifts program control, step by

step, through a series of statement blocks.

Page 19: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 19

Multi-selection = if-else if E.g.

temp display

>30 0c hot

20-30 0c

mild

10-20 0c

cold

<10 0c very cold

temp >30 Print “hot”true

false

temp > 20 Print “mild”true

temp >10 Print “cold”

Print “very cold”

truefalse

false

Page 20: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 20

Multi-selection = if-else if

if(temp > 30)printf( “hot\n”);

else if((temp >=20) && (temp<=30))printf( “mild\n”);

else if(temp >=10) && (temp < 20))printf(“cold\n”);

elseprintf( “very cold\n”);

Page 21: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 21

Compound (Block of) Statement

A compound statement (also called a block of statements) takes the form of { statement 1; statement 2; . . . statement n; }

It is considered a single statement

Page 22: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 22

Compound (Block of) Statement

Example:if (age > 18) {

printf("Eligible to vote\n“);printf("No longer a minor\n“);

} else {

printf("Not eligible to vote\n“);printf(“Still a minor\n”);

}

Page 23: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 23

Nested if When one control statement is within another,

it is said to be nested if(exp1)

if(exp2) statement1; OR

if(exp1){

statement1;if(exp2)

statement2;

}

Page 24: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 24

Nested if

Example:if (temperature >= 50) {

if (temperature >= 80) printf( "Good day for swimming.\n”);

elseprintf( "Good day for golfing.\n“);

}else

printf("Good day to play tennis.\n“);

Page 25: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 25

Nested if Another example

Page 26: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 26

The Conditional Operator (? :)

The syntax of using the conditional operator is: expression1 ? expression2 : expression3;

This is called a conditional expression. The statement:

if (a >= b) max = a; else max = b;

Is equivalent to the statement:max = (a >= b) ? a : b;

Page 27: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 27

switch Structures Similar to if-else if control structure The general form (syntax):

switch (expression) {

case value1: statements1; break; case value2: statements2; break; . . . case valuen: statementsn; break; default: statements;

}

Page 28: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 28

switch Structures The break statement has a special

meaning and may or may not appear after each statement.

In C, switch, case, break, and default are reserved words.

In a switch structure, first the expression is evaluated. The value of the expression is then used to perform the corresponding action.

Page 29: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 29

switch Structures The expression is usually an identifier. The value of the expression can be only integral. The expression is sometimes called the selector.

Its value determines which statement is selected for execution.

A particular case value should appear only once. One or more statements may follow a case label,

so you do not need to use braces to turn multiple statements into a single compound statement.

The break statement may or may not appear after each statement.

Page 30: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 30

switch Structures Example:

switch (grade) {

case 'A': printf("The grade is A.“); break; case 'B': printf("The grade is B.“); break; case 'C': printf("The grade is C.“); break; case 'D': printf("The grade is D.“); break; case 'F': printf("The grade is F.“); break; default: printf("The grade is invalid.“);

} where, grade is a variable of the type char. If

the value of grade is, say 'A', the output is The grade is A.

Page 31: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 31

switch Structures The switch statement executes according to

the following rules: When the value of the expression is matched against

a case value (also called a label), the statements execute until either a break statement is found or the end of the switch structure is reached.

If the value of the expression does not match any of the case values, the statements following the default label execute. If the switch structure has no default label, and if the value of the expression does not match any of the case values, the entire switch statement is skipped.

A break statement causes an immediate exit from the switch structure

Page 32: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 32

What’s wrong??

Page 33: UniMAP Sem II-09/10EKT120: Computer Programming1 Week 3 – Selection Structures.

UniMAP Sem II-09/10

EKT120: Computer Programming 33

End Week 2

Q & A!


Recommended