0% found this document useful (0 votes)
14 views62 pages

Ce143 CCP Unit-5

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views62 pages

Ce143 CCP Unit-5

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

CE143: COMPUTER CONCEPTS &

PROGRAMMING

UNIT-5
Decision Making & Branching

N. A. Shaikh
[email protected]
Topics to be covered
 Decision making using
 simple if
 if...else statement
 nesting of if...else
 else...if Ladder
 switch statements
 conditional operator
 goto statement

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


2
Introduction
 Program is a set of instructions which are normally
executed sequentially.

 We may have situations where we may have to change


the order of execution based on some conditions.

 Controlling the execution of statements based on certain


condition or decision is called decision making &
branching

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


4
Introduction

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


5
Introduction

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


6
Introduction
 C Language supports the following decision making
statements
 if statement
 switch statement
 conditional operator
 goto statement

 Also known as Control / Conditional statements as they


control the flow of execution based on some condition.

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


7
Decision Making with IF statement
 Used to control the flow of execution of statements.
 It is basically a two-way decision making statement
Syntax:
if(test-condition)
 Here, expression will be evaluated first and then
depending on whether the value of the
expression/condition is true(non-zero) or false(zero), it
transfer the control to a particular statement.
 This point of program has two paths to follow, one for the
true condition and the other for the false condition.

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


8
Decision Making with IF statement

Example:
1. if (bank balance is zero) 3. if (code is 1)
borrow money person is male
2. if (room is dark) 4. if (age is more than 55)
Put on lights person is retired
Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh
9
Decision Making with IF statement
The different forms of if statement are:

1. Simple if statement
2. If…..else statement
3. Nested if…..else statement
4. Else if ladder

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


10
Simple if statement
General form:

 test_condition true
o statement-block executes
o statement-x executes
 test_condition false
o statement-block skipped
o statement-x executes
Flowchart of simple if control
Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh
11
Simple if statement
NOTE:
• if you want to control a single statement using if then no
need to create a block using curly brackets
• The curly brackets are used when there are multiple
statements under the same if condition

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


12
Simple if statement

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


13
Simple if statement

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


14
If…..else statement
 The if else statement is an extension of the simple if
statement
 It is called two way conditional branching

 test_condition true
o true-block executes
o statement-x executes

 test_condition false
o false-block executes
o statement-x executes

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


15
If…..else statement
General form:

Flowchart of if…..else control


Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh
16
If…..else statement

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


17
If…..else statement
C Program to check whether an integer is odd or even

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


18
If…..else statement
C Program to check whether a person is eligible to vote or
not.

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


19
If…..else statement
C Program to find maximum of two numbers.

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


20
If…..else statement

Write a C Program to Check whether the number is


negative or positive

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


21
Simple if VS if…else
if

If…..else

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
22
Nesting of if…else statement
 Using “if…else statement” within another “if…else
statement” is called “nested if statement”.

 Used to test multiple conditions.

 It is called nested conditional branching.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
23
Nesting of if…else statement
General form:

Resource Resource P2
Flowchart of nested if…else statements
Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
24
Nesting of if…else statement
Find largest of the three numbers using nested if…else

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
25
Nesting of if…else statement

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
26
Nesting of if…else statement

What is Dangling Else Problem?

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
27
Else if Ladder
 The word ladder means the staircase. As the name
implies this statement is used to choose right way/paths
among multiple paths.

 A multiway decision is a chain of if condition in which the


statement associated with an else condition behaves like
another if condition.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
28
Else if Ladder
General form:

Resource Resource P2
Flowchart of else … if ladder
Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
29
Else if Ladder
Example: Grading the students in an academic institution
Average marks Grade
80 to 100 Honours
60 to 79 First Division
50 to 59 Second Division
40 to 49 Third Division
0 to 39 Fail

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
30
Else if Ladder
Program to calculate the grade of the student according to the specified marks.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
31
Else if Ladder
Practical-5.1: If the cost price and selling price of an item is input through the
keyboard, write a program to determine whether the seller has made profit or
incurred loss. Also determine how much profit he made or loss he incurred.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
32
Else if Ladder

Practical-5.3:
The policy followed by a company to process customer orders is given by the
following rules:
a) If a customer order is less than or equal to that in stock and ‘has
credit’ is OK, supply ‘has requirements’.
b) If ‘has credit’ is not OK do not supply. Send him intimation.
c) If ‘has credit’ is OK but the item in stock is less than ‘has ordered’, supply
what is in stock and Intimate him that the balance will be refunded.
Write a C program to implement the company policy.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
33
Else if Ladder

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
34
Else if Ladder
Output

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
35
Else if Ladder

Write a C Program to Check whether the number is negative ,


positive or zero using else if ladder

Write a C Program to Check whether the number1 is larger ,


smaller or equals to number2 using else if ladder

Write a C Program to find largest from four numbers


P2
using else if
Resource Resource
ladder
Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
36
switch statement
 Potential problem with the if-else statement
o complexity of the program increases whenever the
number of alternative path increases.
o program might become difficult to read and
comprehend in case of multiple if-else constructs
o Sometimes it may even confuse the developer who
himself wrote the program.

 The solution to this problem is the switch statement.


Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
37
switch statement
 The switch statement is often used for menu selection

 The switch statement tests the value of a


variable/expression against a list of case values.

 When a match is found, a block of statements associated


with that particular case is executed.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
38
switch statement
General form:  The expression can be
integer expression or a
character expression.

 Value-1,value-2..are known
as case labels.

 The break statement signals


the end of a particular case
and causes an exit from the
Resource Resource switch statement
P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
39
switch statement

Resource Resource P2
Flowchart of switch statement
Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
40
switch statement
Valid switch Invalid switch Valid case Invalid Case
switch(x) switch(3.5) case 3; case 2.5;
switch(x>y) switch(x+2.5) case 'a'; case x;
switch(a+b-2) case 1+2; case x+2;
switch(func(x,y)) case ‘+’ case 1,2,3;

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
41
switch statement

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
42
switch statement

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
43
switch statement
WAP to calculate (1)Addition (2)Subtraction (3)Multiplication
(4)Division (5)Remainder calculation (6)Larger out of two
numbers by using switch statements.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
44
switch statement

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
45
switch statement

WAP to that convert number of years into (1)minutes


(2)hours (3)days (4)months (5)seconds using switch
statements.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
46
switch statement
Rules for switch statement:
 The switch statement must be an integral type.
 Case labels must be constant or constant expression.
 Case labels must be unique. No two labels can have the
same value.
 Case labels must end with colon.
 The break statement transfer the control out of the
switch statement
 The break statement is optional. So two or more case
labels may belong
Resource to the same statements.P2
Resource

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
47
switch statement
Rules for switch statement:
 The default label is optional. If present, it will be executed
when the expression does not find a matching case label.
 There can be at most one default label.
 The default may be placed anywhere but usually placed
at the end.
 It is permitted to nest switch statements.

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
48
nested switch
 inner switch embedded in an outer switch.
 The case constants of the inner and outer switch may
have common values and without any conflicts.
General form:

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
49
nested switch

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
50
nested switch
Practical-5.2:
If the ages of Ram, Shyam and Ajay are input through the keyboard, write a
program to determine the youngest of the three. (Hint: Use Nested Switch
Statement)

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
51
nested switch

Resource Resource P2

Unit
Unit5:6:Decision
DeadlockMaking & Branching Prepared By: Nishat Shaikh
52
Decision Making

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


53
The ? : Operator
 Used to make two-way decision
 Combination of ? And :
 Takes three operands
 Known as conditional operator/ternary operator

Syntax:
conditional expression? expression1: expression2;

Can be written as

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


54
The ? : Operator
Consider the evaluation of the following function:

Can be evaluated using the conditional operator as follows:

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


55
goto statement
 The goto statement allows us to transfer control of the
program to the specified label.

 The label is an identifier


 When the goto statement is encountered, the control
of the program jumps to label: and starts executing the
code.
Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh
56
goto statement
 The goto statement is a jump
statement
 Also referred as unconditional jump
statement.
 The goto statement is rarely used
because it makes program confusing,
less readable and complex.
 Also, when this is used, the control of
the program won’t be easy to trace,
hence it makes testing and debugging
difficult.

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


57
goto statement

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


58
goto statement

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


59
goto statement

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


60
goto statement

WAP to check whether entered number is even or odd.


Use the goto statement.

WAP to check if the entered year is a leap year or not. Use


the goto statement.

Unit 5: Decision Making & Branching Prepared By: Nishat Shaikh


61
End of Unit-05

You might also like