Upload
niit-care
View
991
Download
1
Embed Size (px)
Citation preview
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 1 of 30
ObjectivesIn this lesson, you will learn to:
Use the dry run table
Identify repetitive processes
Represent complex conditions and iterations by using flowcharts
Break down a problem into modules
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 2 of 30
Dry Run Helps you to do a logic check Understand the flow of control in a flowchart Evaluate the output of the program with a set of
sample values Provides a step by step evaluation of values in the
variables of the program
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 3 of 30
Dry Run (Contd.)Example
All candidates have to take three tests. A candidate is selected for the interview round based on the scores of all the three tests. The individual score in each test has to be greater than 75 and the average score across the three tests should be a minimum of 80. The call letter for the interview is to be sent to candidates who have been selected and a rejection letter is to be sent to the rest. Represent the logic for the above process by using a flowchart.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 4 of 30
Variables
Variable Data Type Variable Name
Employee Name character cName
Employee Address character cAddress
Telephone Number character cTelno
Counter numeric nCounter
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 5 of 30
Flowchart to Select a CandidateStart
Stop
Declare Variables
Accept Variables and Calculate nAverage
IsnAverage>= 80 AND nTest1 > 75 AND nTest2 > 75 AND nTest3 > 75 ?
Display “ Interview call letter to be sent”
Display “ Rejectionletter to be sent”
No
Yes
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 6 of 30
Dry Run Table
S.No. nTest1 nTest2 nTest 3 nAverage Output
1. 95 90 88 91 Interview call letter to be sent.
2. 80 77 83 80 Interview call letter to be sent.
3. 90 92 74 85.33 Rejection letter to be sent.
4. 76 76 76 76 Rejection letter to be sent.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 7 of 30
Iteration An important characteristic of a computer is its ability
to execute a series of instructions repeatedly
A loop is a sequence of instructions that will be repeated more than once
A loop performs steps in a specified sequence
There are two types of loops: Fixed loops where the number of repetitions is
known Variable loops where the number of repetitions is
not known
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 8 of 30
ExampleFlowchart to Display the Sum of Ten Numbers
Start
Stop
numeric nNum, nSum, nCounter
Accept nNum
Is nCounter<10 ?
NoYes
nCounter=0 nSum=0
nSum=nSum+nNum
nCounter=nCounter+1
Display nSum
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 9 of 30
Dry Run Table
S. No. nNum nSum nCounter Output
1. - 0 0
2. 5 5 1
3. 12 17 2
4. 7 24 3
5. 6 30 4
6. 2 32 5
7. 10 42 6
8. 8 50 7
9. 3 53 8
10. 16 69 9
11. 4 73 10 73
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 10 of 30
ExampleYou have been assigned the responsibility of generating an address list of all the people working in your office. For each person, you will need to accept the name, address, and the telephone number and print a list containing the collated details.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 11 of 30
Flowchart Segment to Display Employee Details of 25 People
Stop
nCounter = 1
Accept cName
Is nCounter<=25?
No
Yes
nCounter=nCounter+1
Display cName, cAddress, cTelno
Accept cAddress
Accept cTelno
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 12 of 30
ExampleLet us look at the same example of preparing the test performance report in the decision-making section again. Now, apart from finding out whether a candidate has to be sent a call letter or a rejection letter, we also have to calculate the number of candidates who have been sent interview call letters and the number of candidates who have been sent rejection letters, using a flowchart.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 13 of 30
Flowchart to Calculate the Total Number of Call Letters and Rejection Letters Sent
Start
Variable Declaration
Accept Values
IsnAverage >=80 AND
nTest1 > 75 ANDnTest2 > 75 AND
nTest3 > 75 ?
No
Yes
nTotReject=nTotReject+1
nTotSelect=nTotSelect+1
A B
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 14 of 30
Flowchart to Calculate the Total Number of Call Letters and Rejection Letters Sent (Contd.)
Is cChoice = “Y”?
Yes
No
Display nTotSelect Display nTotReject
A B
Accept cChoice
Display “Any more candidates (Y/N)? ”
Stop
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 15 of 30
Dry Run Table
S. No. nTest1 nTest2 nTest2 nAverage Output
1. 95 90 88 91 nTotSelect is incremented by 1.
2. 80 77 83 80 nTotSelect is incremented by 1.
3. 90 92 74 85.33 nTotReject is incremented by 1.
4. 76 76 76 76 nTotReject is incremented by 1.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 16 of 30
Modular Approach to Programming A program needs to be amended periodically to
respond to changing conditions or requirements
This encouraged programmers to adopt a more disciplined approach to program writing.
The techniques that were adopted are known as structured programming techniques.
Structured programming includes features that are designed not only to solve the problem at hand but also to make the logic clear to someone reading the program
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 17 of 30
Modular Approach to Programming (Contd.) Long, continuous programs can be broken up into a
series of individual modules that are related to each other in a specified manner.
Module1 Module2 Module3
Main Program
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 18 of 30
Flowchart to Show Modular Programming
Start
Stop
Display nSum
Accept nNum1,nNum2, nNum3
numeric nNum1,nNum2, nNum3, nSum
Add
nSum=nNum1 + nNum2 + nNum3
Return
Add
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 19 of 30
ExampleAccept the test scores for ten students and display their individual averages. The scores of the students cannot be negative.
The table shows the variables used in the flowchart.Variable Data Type Variable Name
Student Name character cStudentName
Score of Test 1 numeric nTest1
Score of Test 2 numeric nTest2
Score of Test 3 numeric nTest3
Average of Test Scores numeric nAverage
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 20 of 30
Flowchart to Calculate Average Marks of Ten Students
Display cStudentName, nAverage
Accept cStudentName
Average
Average
nAverage=(nTest1+nTest2 +nTest3) / 3
Return
Accept
Accept
Accept nTest1
Accept nTest2
Accept nTest3
Display “Test score cannot be less than zero”
IsnTest1>=0 ANDnTest2>=0 AND
nTest3>=0 ?
No
Yes
Return
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 21 of 30
ExampleThe total expenditure on salaries for the month needs to be calculated. As per company policy an employee receives a minimum of $500. Depict the logic for automating the task by using flowcharts.
Program Variables to be used are:Variable Data Type Variable Name
Employee Code character cEmpCode
Employee salary numeric nSalary
Total salary numeric nTotSalary
Choice character cChoice
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 22 of 30
Flowchart to Calculate Total Monthly Expenditure on Salaries
Summation
Accept
IscChoice = “Y” ?
No
Yes
Display”Salary cannotbe less than $500”
Accept nSalary
Accept
IsnSalary >=500 ?
Yes
NoReturn
nTotSalary=nTotSalary+nSalary
Summation
Return
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 23 of 30
ExampleDry Run
S. No. nSalary nTotSalary Output
1. - 0
2. 4500 4500
3. 5500 10000
4. 3400 13400
5. 5600 19000
6. 3000 22000
7. 5000 27000
8. 450 27000 Salary cannot be less than $500
9. 9000 36000
10. 8900 44900
11. 4500 49400 49400
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 24 of 30
Problem Statement 3.P.1Draw a flowchart to print the product of the first 10 even numbers.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 25 of 30
Problem Statement 3.P.2Draw a flowchart to accept 50 numbers and also display the total number of odd and even numbers.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 26 of 30
Problem Statement 3.P.3Draw a flowchart to display the highest of any 10 numbers entered.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 27 of 30
Problem Statement 3.P.4 Draw a flowchart that accepts input from a user and
displays the result, depending on whether the user wishes to multiply or divide the numbers provided as input. The Multiply module of the program can multiply maximum of three numbers. The Divide module of the program should check that the denominator should not be zero.
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 28 of 30
Problem Statement 3.P.5How many names will the following flowchart print?
Stop
nCtr = 0
Accept cName
Is nCtr =10 ?
No
Display cName
Yes
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 29 of 30
SummaryIn this lesson, you learned that:
The concept of dry run will help you perform a logic check and understand the flow of control in a flowchart.
A loop is a sequence of instructions that will be repeated more than once
A loop performs steps in a specified sequence
There are two types of loops: Fixed loops where the number of repetitions is
known
Understanding Iterations and Implementing Modular Programming
©NIIT PLT/Lesson 3/Slide 30 of 30
Summary (Contd.) Variable loops where the number of repetitions is not
known
Statements within a loop will be executed repeatedly until the condition becomes false
The structured programming technique is a disciplined approach to program writing.
A large program can be divided into several modules, where each module performs a specific task. A module is also called a procedure.
A procedure or a module is invoked from the main program and the control is returned from the procedure to the main program by using the return statement