30
Understanding Iterations and Implementing Modular Programming ©NIIT PLT/Lesson 3/Slide 1 of 30 Objectives In 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

Sem1 plt xp_03

Embed Size (px)

Citation preview

Page 1: Sem1 plt xp_03

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

Page 2: Sem1 plt xp_03

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

Page 3: Sem1 plt xp_03

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.

Page 4: Sem1 plt xp_03

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

Page 5: Sem1 plt xp_03

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

Page 6: Sem1 plt xp_03

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.

Page 7: Sem1 plt xp_03

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

Page 8: Sem1 plt xp_03

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

Page 9: Sem1 plt xp_03

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

Page 10: Sem1 plt xp_03

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.

Page 11: Sem1 plt xp_03

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

Page 12: Sem1 plt xp_03

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.

Page 13: Sem1 plt xp_03

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

Page 14: Sem1 plt xp_03

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

Page 15: Sem1 plt xp_03

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.

Page 16: Sem1 plt xp_03

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

Page 17: Sem1 plt xp_03

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

Page 18: Sem1 plt xp_03

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

Page 19: Sem1 plt xp_03

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

Page 20: Sem1 plt xp_03

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

Page 21: Sem1 plt xp_03

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

Page 22: Sem1 plt xp_03

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

Page 23: Sem1 plt xp_03

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

Page 24: Sem1 plt xp_03

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.

Page 25: Sem1 plt xp_03

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.

Page 26: Sem1 plt xp_03

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.

Page 27: Sem1 plt xp_03

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.

 

Page 28: Sem1 plt xp_03

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

Page 29: Sem1 plt xp_03

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

Page 30: Sem1 plt xp_03

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