SlideShare a Scribd company logo
INTRODUCTION TO
PROBLEM SOLVING
CHAPTER - 4
Introduction
• Computers are used for solving various day-to-day problems and thus
problem solving is an essential skill that a computer science student should
know.
• It is pertinent to mention that computers themselves cannot solve a
problem.
• Precise step-by-step instructions should be given by us to solve the problem.
• Thus, the success of a computer in solving a problem depends on how
correctly and precisely we define the problem, design a solution (algorithm)
and implement the solution (program) using a programming language.
• Thus, problem solving is the process of identifying a problem, developing
an algorithm for the identified problem and finally implementing the
algorithm to develop a computer program.
Steps for Problem Solving
s-INTRODUCTION TO PROBLEM SOLVING PPT.pptx
s-INTRODUCTION TO PROBLEM SOLVING PPT.pptx
Analyzing the problem
• It is important to clearly understand a problem before we begin to find
the solution for it.
• We need to read and analyze the problem statement carefully in order to
list the principal components of the problem and decide the core
functionalities that our solution should have.
• By analyzing a problem, we would be able to figure out what are the
inputs that our program should accept and the outputs that it should
produce.
Developing an Algorithm
• It is essential to device a solution before writing a program code for a
given problem.
• The solution is represented in natural language and is called an algorithm.
• We start with a tentative solution plan and keep on refining the algorithm
until the algorithm is able to capture all the aspects of the desired
solution.
• For a given problem, more than one algorithm is possible and we have to
select the most suitable solution.
Coding
• After finalizing the algorithm, we need to convert the algorithm into the
format which can be understood by the computer to generate the desired
solution.
• Different high level programming languages can be used for writing a
program.
Testing and Debugging
 The program created should be tested on various parameters.
• The program should meet the requirements of the user.
• It must respond within the expected time.
• It should generate correct output for all possible inputs.
 In the presence of syntactical errors, no output will be obtained.
 In case the output generated is incorrect, then the program should be checked for logical
errors, if any. This is to ensure that the software meets all the business and technical
requirements and works as expected.
Algorithm
• In our day-to-day life we perform activities by following certain sequence
of steps.
• To complete each activity, we follow a sequence of steps.
• A finite sequence of steps required to get the desired output is
called an algorithm.
Before developing the algorithm, let us first identify the input, process and
output:
• Input: Number whose square is required
• Process: Multiply the number by itself to get its square
• Output: Square of the number
Algorithm to find square of a number.
Step 1: Input a number and store it to num
Step 2: Compute num * num and store it in square
Step 3: Print square
Why do we need an Algorithm?
• The programmer first prepares a roadmap of the program to be written, before actually
writing the code. Such a roadmap is nothing but the algorithm which is the building
block of a computer program.
• For example, searching using a search engine, sending a message, finding a word in a
document, booking a taxi through an app, performing online banking, playing computer
games, all are based on algorithms.
• Writing an algorithm is mostly considered as a first step to programming.
• If the algorithm is correct, computer will run the program correctly, every time. So, the
purpose of using an algorithm is to increase the reliability, accuracy and efficiency of
obtaining solutions.
Characteristics of a good algorithm
• Precision -the steps are precisely stated or defined.
• Uniqueness -results of each step are uniquely defined and only
depend on the input and the result of
the preceding
steps.
• Finiteness -the algorithm always stops after a finite number of
steps.
• Input -the algorithm receives some input.
• Output -the algorithm produces some output.
While writing an algorithm, it is required to clearly identify
the following:
• The input to be taken from the user
• Processing or computation to be performed to get the
desired result
• The output desired by the user
Representation of Algorithms
 There are two common methods of representing an algorithm —
flowchart and pseudo code.
 Either of the methods can be used to represent an algorithm while
keeping in mind the following:
• It showcases the logic of the problem solution, excluding any
implementation details
• It clearly reveals the flow of control during execution of the program
Flowchart
• A flowchart is a visual representation of an algorithm.
• A flowchart is a diagram made up of boxes, diamonds and other shapes,
connected by arrows.
• Each shape represents a step of the solution process and the arrow
represents the order or link among the steps.
Shapes or symbols to draw flow charts
s-INTRODUCTION TO PROBLEM SOLVING PPT.pptx
Flowchart to calculate square of a number
Draw a flowchart to solve the problem of a non-functioning light bulb
Pseudocode
• A pseudocode is another way of representing an algorithm.
• It is considered as a non-formal language that helps programmers to write
algorithm.
• It is a detailed description of instructions that a computer must follow in a
particular order.
• It is intended for human reading and cannot be executed directly by the
computer.
• No specific standard for writing a pseudocode exists.
• The word “pseudo” means “not real,” so “pseudocode” means “not real
code”.
Following are some of the frequently used keywords while writing pseudocode:
• INPUT
• COMPUTE
• PRINT
• INCREMENT
• DECREMENT
• IF/ELSE
• WHILE
• TRUE/FALSE
Write an algorithm to display the sum of two numbers entered by
user, using both pseudo code and flowchart.
Pseudo code for the sum of two numbers will be:
INPUT num1
INPUT num2
COMPUTE Result = num1 + num2
PRINT Result
Write an algorithm to calculate area and perimeter of a rectangle, using both
pseudo code and flowchart.
Pseudo code for calculating area and perimeter of a rectangle.
INPUT length
INPUT breadth
COMPUTE Area = length * breadth
PRINT Area
COMPUTE Perim = 2 * (length + breadth)
PRINT Perim
Benefits of Pseudo code
• Before writing codes in a high level language, a pseudo code of a program
helps in representing the basic functionality of the intended program.
• By writing the code first in a human readable language, the programmer
safeguards against leaving out any important step.
• Besides, for non-programmers, actual programs are difficult to read and
understand, but pseudo code helps them to review the steps to confirm
that the proposed implementation is going to achieve the desire output.
Flow of Control
• The flow of control depicts the flow of events as represented in the flow
chart.
• The events can flow in a sequence, or on branch based on a decision or
even repeat some part for a finite number of times.
Sequence
• The sequence construct means the statements are being executed
sequentially .
• Algorithms where all the steps are executed one after the other are said
to execute in sequence.
• It is simply performing one step after another.
SELECTION
• Selection construct means the execution of statements depending upon
a condition.
• If a condition evaluates to true, set of statements is followed otherwise a
different set of statements are followed.
• This construct is also called decision construct because it helps in
making decision about which set of statements is to be executed.
• It is used to make yes/no or true/false decisions logically.
Write an algorithm to check whether a number is odd or even.
• Input: Any number
• Process: Check whether the number is even or not
• Output: Message “Even” or “Odd”
Pseudocode of the algorithm can be written as follows:
PRINT "Enter the Number"
INPUT number
IF number MOD 2 == 0 THEN
PRINT "Number is Even"
ELSE
PRINT "Number is Odd"
Write a pseudocode and draw a flowchart where multiple conditions are checked to categorise a
person as either
child (<13), teenager (>=13 but <20) or adult (>=20),based on age specified.
• Input: Age
• Process: Check Age as per the given criteria
• Output: Print either “Child”, “Teenager”, “Adult”
Pseudocode is as follows:
INPUT Age
if Age < 13 then
PRINT "Child"
else if Age < 20 then
PRINT "Teenager"
else
PRINT "Adult"
The syntax of if statement is:
if condition:
statement(s)
Example of if statement is,
age = int(input("Enter your age "))
if age >= 18:
print("Eligible to vote")
Syntax of if else :
if condition:
statement(s)
else:
statement(s)
Example of if else :
age = int(input("Enter your age: "))
if age >= 18:
print("Eligible to vote")
else:
print("Not eligible to vote")
Syntax of if else if :
if condition:
statement(s)
elif condition:
statement(s)
elif condition:
statement(s)
else:
statement(s)
Example of if else if:
number = int(input("Enter a number: ")
if number > 0:
print("Number is positive")
elif number < 0:
print("Number is negative")
else:
print("Number is zero")
Algorithm for a card game called “Dragons and Wizards”. Make two teams DRAGONS
and WIZARDS The rules for the game are as follows:
• If the card drawn is a diamond or a club, Team DRAGONS gets a point
• If the card drawn is a heart which is a number, Team WIZARDS gets a point
• If the card drawn is a heart that is not a number, Team DRAGONS gets a point
• For any other card, Team WIZARDS gets a point
• The team with highest point is the winner
Let us identify the following for a card:
Input: shape, value
Process: Increment in respective team scores by one based on the outcome of the card
drawn, as defined in the rules.
Output: Winning team
INPUT shape
INPUT value
SET Dpoint = 0, Wpoint = 0
IF (shape is diamond) OR (shape is club) THEN
INCREMENT Dpoint
ELSE IF (shape is heart) AND (value is number)THEN
INCREMENT Wpoint
ELSE IF (shape is heart) AND (value is not a
number)THEN
INCREMENT Dpoint
ELSE
INCREMENT Wpoint
END IF
If Dpoint > Wpoint THEN
PRINT "Dragon team is the winner"
ELSE
PRINT "Wizard team is the winner"
ITERATION
• The iteration construct mean repetition of a set-of-statements depending
upon a condition-test.
• Iteration is a looping construct
• Iteration is a combination of decision and sequence and can repeat steps
• Iteration can be thought of as “while something is true, do this, otherwise
stop”
• Iteration logic is used when one or more instructions may be executed
several times depending on some condition .
Syntax of the For Loop:
for <variable> in <sequence>:
statements to_repeat
Example of the For Loop:
for letter in 'PYTHON':
print(letter)
Syntax of the while Loop:
while test_condition:
body of while
Write pseudocode and draw a flowchart to accept 5 numbers and find their
average.
Pseudocode will be as follows:
Step 1: Set count = 0, sum = 0
Step 2: While count <5 , repeat steps 3 to 5
Step 3: Input a number to num
Step 4: sum = sum + num
Step 5: count = count + 1
Step 6: Compute average = sum/5
Step 7: Print average
Write pseudocode and draw flowchart to accept numbers till the user enters 0 and then
find their average.
Pseudocode is as follows:
Step 1: Set count = 0, sum = 0
Step 2: Input num
Step 3: While num is not equal to 0, repeat Steps 4 to 6
Step 4: sum = sum + num
Step 5: count = count + 1
Step 6: Input num
Step 7: Compute average = sum/count
Step 8: Print average
Verifying Algorithms
• To verify, we have to take different input values and go through all the steps
of the algorithm to yield the desired output for each input value and may
modify or improve as per the need.
• The method of taking an input and running through the steps of the
algorithm is sometimes called dry run.
• Dry run will help us to:
1. Identify any incorrect steps in the algorithm
2. Figure out missing details or specifics in the algorithm
• It is important to decide the type of input value to be used for the
simulation.
• In case all possible input values are not tested, then the program will fail.
Comparison of Algorithm
• There can be more than one approach to solve a problem using
computer and hence we can have more than one algorithm.
• Algorithms can be compared and analysed on the basis of the
amount of processing time they need to run and the amount of
memory that is needed to execute the algorithm. These are
termed as time complexity and space complexity, respectively.
• The choice of an algorithm over another is done depending on
how efficient they are in terms of processing time required (time
complexity) and the memory they utilise (space complexity)
Coding
• Coding is the process of converting algorithm to the syntax of the
given programming language.
• The ordered set of instructions is written in that programming
language by following its syntax.
• Syntax is the set of rules or grammar that governs the formulation
of the statements in the language, such as spellings, order of
words, punctuation, etc.
• A program written in a high-level language is called source code.
Decomposition
• The basic idea of solving a complex problem by decomposition is to
'decompose' or break down a complex problem into smaller sub problems.
• Finally, the sub-problems are combined in a logical way to obtain the
solution for the bigger, main problem.
• Each sub problem can be solved independently and by different persons

More Related Content

PDF
Cse115 lecture03problemsolving
Md. Ashikur Rahman
 
PPTX
Unit 1 c programming language Tut and notes
achiver792
 
PDF
Algorithm.pdf
MIT,Imphal
 
PDF
Introduction to programming : flowchart, algorithm
Kritika Chauhan
 
PPTX
Computational Thinking CBSE Class-XI
BeingSuman
 
PPTX
Lec-ProblemSolving.pptx
miansaad18
 
PPT
programming language(C++) chapter-one contd.ppt
Fuadsabseb
 
PPTX
Lec 2 -algorithms-flowchart-and-pseudocode1.pptx
AbdelrahmanRagab36
 
Cse115 lecture03problemsolving
Md. Ashikur Rahman
 
Unit 1 c programming language Tut and notes
achiver792
 
Algorithm.pdf
MIT,Imphal
 
Introduction to programming : flowchart, algorithm
Kritika Chauhan
 
Computational Thinking CBSE Class-XI
BeingSuman
 
Lec-ProblemSolving.pptx
miansaad18
 
programming language(C++) chapter-one contd.ppt
Fuadsabseb
 
Lec 2 -algorithms-flowchart-and-pseudocode1.pptx
AbdelrahmanRagab36
 

Similar to s-INTRODUCTION TO PROBLEM SOLVING PPT.pptx (20)

PPTX
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
PPTX
Algorithm for computational problematic sit
Saurabh846965
 
PPTX
Algorithm and pseudo codes
hermiraguilar
 
PPT
3 algorithm-and-flowchart
Rohit Shrivastava
 
PPTX
Module 1 python.pptx
AnuragJoshi813963
 
PPT
AOA Week 01.ppt
INAM352782
 
PPSX
Algorithm and flowchart
Sachin Goyani
 
PDF
4. algorithm
SHIKHA GAUTAM
 
PPT
Unit 1 python (2021 r)
praveena p
 
PPTX
Algorithm Design and Problem Solving [Autosaved].pptx
KaavyaGaur1
 
PPTX
vingautosaved-230525024624-6a6fb3b2.pptx
Orin18
 
PPTX
UNIT 1.pptx
ShaswatSurya
 
PPTX
Introduction to problem solving Techniques
merlinjohnsy
 
DOCX
Chapter 2(1)
TejaswiB4
 
PPTX
Programming C ppt for learning foundations
ssuser65733f
 
PDF
Unit 1-problem solving with algorithm
rajkumar1631010038
 
PPT
Proble, Solving & Automation
Janani Satheshkumar
 
PPT
UNIT- 3-FOC.ppt
KalaivaniRMECLectCSE
 
PPTX
MODULE1-INTRODUCTION.pptx-COMPUTER PROGRAMING
MarcMiguel2
 
PPTX
UNIT-1.pptx python for engineering first year students
SabarigiriVason
 
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Algorithm for computational problematic sit
Saurabh846965
 
Algorithm and pseudo codes
hermiraguilar
 
3 algorithm-and-flowchart
Rohit Shrivastava
 
Module 1 python.pptx
AnuragJoshi813963
 
AOA Week 01.ppt
INAM352782
 
Algorithm and flowchart
Sachin Goyani
 
4. algorithm
SHIKHA GAUTAM
 
Unit 1 python (2021 r)
praveena p
 
Algorithm Design and Problem Solving [Autosaved].pptx
KaavyaGaur1
 
vingautosaved-230525024624-6a6fb3b2.pptx
Orin18
 
UNIT 1.pptx
ShaswatSurya
 
Introduction to problem solving Techniques
merlinjohnsy
 
Chapter 2(1)
TejaswiB4
 
Programming C ppt for learning foundations
ssuser65733f
 
Unit 1-problem solving with algorithm
rajkumar1631010038
 
Proble, Solving & Automation
Janani Satheshkumar
 
UNIT- 3-FOC.ppt
KalaivaniRMECLectCSE
 
MODULE1-INTRODUCTION.pptx-COMPUTER PROGRAMING
MarcMiguel2
 
UNIT-1.pptx python for engineering first year students
SabarigiriVason
 
Ad

Recently uploaded (20)

PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PPTX
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PPTX
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
PPTX
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
PDF
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
PPTX
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
PPTX
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
PPTX
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
PDF
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
PPTX
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PPTX
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
PPTX
Virus sequence retrieval from NCBI database
yamunaK13
 
PPTX
Care of patients with elImination deviation.pptx
AneetaSharma15
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
Virus sequence retrieval from NCBI database
yamunaK13
 
Care of patients with elImination deviation.pptx
AneetaSharma15
 
Ad

s-INTRODUCTION TO PROBLEM SOLVING PPT.pptx

  • 2. Introduction • Computers are used for solving various day-to-day problems and thus problem solving is an essential skill that a computer science student should know. • It is pertinent to mention that computers themselves cannot solve a problem. • Precise step-by-step instructions should be given by us to solve the problem. • Thus, the success of a computer in solving a problem depends on how correctly and precisely we define the problem, design a solution (algorithm) and implement the solution (program) using a programming language. • Thus, problem solving is the process of identifying a problem, developing an algorithm for the identified problem and finally implementing the algorithm to develop a computer program.
  • 6. Analyzing the problem • It is important to clearly understand a problem before we begin to find the solution for it. • We need to read and analyze the problem statement carefully in order to list the principal components of the problem and decide the core functionalities that our solution should have. • By analyzing a problem, we would be able to figure out what are the inputs that our program should accept and the outputs that it should produce.
  • 7. Developing an Algorithm • It is essential to device a solution before writing a program code for a given problem. • The solution is represented in natural language and is called an algorithm. • We start with a tentative solution plan and keep on refining the algorithm until the algorithm is able to capture all the aspects of the desired solution. • For a given problem, more than one algorithm is possible and we have to select the most suitable solution.
  • 8. Coding • After finalizing the algorithm, we need to convert the algorithm into the format which can be understood by the computer to generate the desired solution. • Different high level programming languages can be used for writing a program.
  • 9. Testing and Debugging  The program created should be tested on various parameters. • The program should meet the requirements of the user. • It must respond within the expected time. • It should generate correct output for all possible inputs.  In the presence of syntactical errors, no output will be obtained.  In case the output generated is incorrect, then the program should be checked for logical errors, if any. This is to ensure that the software meets all the business and technical requirements and works as expected.
  • 10. Algorithm • In our day-to-day life we perform activities by following certain sequence of steps. • To complete each activity, we follow a sequence of steps. • A finite sequence of steps required to get the desired output is called an algorithm.
  • 11. Before developing the algorithm, let us first identify the input, process and output: • Input: Number whose square is required • Process: Multiply the number by itself to get its square • Output: Square of the number Algorithm to find square of a number. Step 1: Input a number and store it to num Step 2: Compute num * num and store it in square Step 3: Print square
  • 12. Why do we need an Algorithm? • The programmer first prepares a roadmap of the program to be written, before actually writing the code. Such a roadmap is nothing but the algorithm which is the building block of a computer program. • For example, searching using a search engine, sending a message, finding a word in a document, booking a taxi through an app, performing online banking, playing computer games, all are based on algorithms. • Writing an algorithm is mostly considered as a first step to programming. • If the algorithm is correct, computer will run the program correctly, every time. So, the purpose of using an algorithm is to increase the reliability, accuracy and efficiency of obtaining solutions.
  • 13. Characteristics of a good algorithm • Precision -the steps are precisely stated or defined. • Uniqueness -results of each step are uniquely defined and only depend on the input and the result of the preceding steps. • Finiteness -the algorithm always stops after a finite number of steps. • Input -the algorithm receives some input. • Output -the algorithm produces some output.
  • 14. While writing an algorithm, it is required to clearly identify the following: • The input to be taken from the user • Processing or computation to be performed to get the desired result • The output desired by the user
  • 15. Representation of Algorithms  There are two common methods of representing an algorithm — flowchart and pseudo code.  Either of the methods can be used to represent an algorithm while keeping in mind the following: • It showcases the logic of the problem solution, excluding any implementation details • It clearly reveals the flow of control during execution of the program
  • 16. Flowchart • A flowchart is a visual representation of an algorithm. • A flowchart is a diagram made up of boxes, diamonds and other shapes, connected by arrows. • Each shape represents a step of the solution process and the arrow represents the order or link among the steps.
  • 17. Shapes or symbols to draw flow charts
  • 19. Flowchart to calculate square of a number
  • 20. Draw a flowchart to solve the problem of a non-functioning light bulb
  • 21. Pseudocode • A pseudocode is another way of representing an algorithm. • It is considered as a non-formal language that helps programmers to write algorithm. • It is a detailed description of instructions that a computer must follow in a particular order. • It is intended for human reading and cannot be executed directly by the computer. • No specific standard for writing a pseudocode exists. • The word “pseudo” means “not real,” so “pseudocode” means “not real code”.
  • 22. Following are some of the frequently used keywords while writing pseudocode: • INPUT • COMPUTE • PRINT • INCREMENT • DECREMENT • IF/ELSE • WHILE • TRUE/FALSE
  • 23. Write an algorithm to display the sum of two numbers entered by user, using both pseudo code and flowchart. Pseudo code for the sum of two numbers will be: INPUT num1 INPUT num2 COMPUTE Result = num1 + num2 PRINT Result
  • 24. Write an algorithm to calculate area and perimeter of a rectangle, using both pseudo code and flowchart. Pseudo code for calculating area and perimeter of a rectangle. INPUT length INPUT breadth COMPUTE Area = length * breadth PRINT Area COMPUTE Perim = 2 * (length + breadth) PRINT Perim
  • 25. Benefits of Pseudo code • Before writing codes in a high level language, a pseudo code of a program helps in representing the basic functionality of the intended program. • By writing the code first in a human readable language, the programmer safeguards against leaving out any important step. • Besides, for non-programmers, actual programs are difficult to read and understand, but pseudo code helps them to review the steps to confirm that the proposed implementation is going to achieve the desire output.
  • 26. Flow of Control • The flow of control depicts the flow of events as represented in the flow chart. • The events can flow in a sequence, or on branch based on a decision or even repeat some part for a finite number of times.
  • 27. Sequence • The sequence construct means the statements are being executed sequentially . • Algorithms where all the steps are executed one after the other are said to execute in sequence. • It is simply performing one step after another.
  • 28. SELECTION • Selection construct means the execution of statements depending upon a condition. • If a condition evaluates to true, set of statements is followed otherwise a different set of statements are followed. • This construct is also called decision construct because it helps in making decision about which set of statements is to be executed. • It is used to make yes/no or true/false decisions logically.
  • 29. Write an algorithm to check whether a number is odd or even. • Input: Any number • Process: Check whether the number is even or not • Output: Message “Even” or “Odd” Pseudocode of the algorithm can be written as follows: PRINT "Enter the Number" INPUT number IF number MOD 2 == 0 THEN PRINT "Number is Even" ELSE PRINT "Number is Odd"
  • 30. Write a pseudocode and draw a flowchart where multiple conditions are checked to categorise a person as either child (<13), teenager (>=13 but <20) or adult (>=20),based on age specified. • Input: Age • Process: Check Age as per the given criteria • Output: Print either “Child”, “Teenager”, “Adult” Pseudocode is as follows: INPUT Age if Age < 13 then PRINT "Child" else if Age < 20 then PRINT "Teenager" else PRINT "Adult"
  • 31. The syntax of if statement is: if condition: statement(s) Example of if statement is, age = int(input("Enter your age ")) if age >= 18: print("Eligible to vote")
  • 32. Syntax of if else : if condition: statement(s) else: statement(s) Example of if else : age = int(input("Enter your age: ")) if age >= 18: print("Eligible to vote") else: print("Not eligible to vote")
  • 33. Syntax of if else if : if condition: statement(s) elif condition: statement(s) elif condition: statement(s) else: statement(s) Example of if else if: number = int(input("Enter a number: ") if number > 0: print("Number is positive") elif number < 0: print("Number is negative") else: print("Number is zero")
  • 34. Algorithm for a card game called “Dragons and Wizards”. Make two teams DRAGONS and WIZARDS The rules for the game are as follows: • If the card drawn is a diamond or a club, Team DRAGONS gets a point • If the card drawn is a heart which is a number, Team WIZARDS gets a point • If the card drawn is a heart that is not a number, Team DRAGONS gets a point • For any other card, Team WIZARDS gets a point • The team with highest point is the winner Let us identify the following for a card: Input: shape, value Process: Increment in respective team scores by one based on the outcome of the card drawn, as defined in the rules. Output: Winning team
  • 35. INPUT shape INPUT value SET Dpoint = 0, Wpoint = 0 IF (shape is diamond) OR (shape is club) THEN INCREMENT Dpoint ELSE IF (shape is heart) AND (value is number)THEN INCREMENT Wpoint ELSE IF (shape is heart) AND (value is not a number)THEN INCREMENT Dpoint ELSE INCREMENT Wpoint END IF If Dpoint > Wpoint THEN PRINT "Dragon team is the winner" ELSE PRINT "Wizard team is the winner"
  • 36. ITERATION • The iteration construct mean repetition of a set-of-statements depending upon a condition-test. • Iteration is a looping construct • Iteration is a combination of decision and sequence and can repeat steps • Iteration can be thought of as “while something is true, do this, otherwise stop” • Iteration logic is used when one or more instructions may be executed several times depending on some condition .
  • 37. Syntax of the For Loop: for <variable> in <sequence>: statements to_repeat Example of the For Loop: for letter in 'PYTHON': print(letter) Syntax of the while Loop: while test_condition: body of while
  • 38. Write pseudocode and draw a flowchart to accept 5 numbers and find their average. Pseudocode will be as follows: Step 1: Set count = 0, sum = 0 Step 2: While count <5 , repeat steps 3 to 5 Step 3: Input a number to num Step 4: sum = sum + num Step 5: count = count + 1 Step 6: Compute average = sum/5 Step 7: Print average
  • 39. Write pseudocode and draw flowchart to accept numbers till the user enters 0 and then find their average. Pseudocode is as follows: Step 1: Set count = 0, sum = 0 Step 2: Input num Step 3: While num is not equal to 0, repeat Steps 4 to 6 Step 4: sum = sum + num Step 5: count = count + 1 Step 6: Input num Step 7: Compute average = sum/count Step 8: Print average
  • 40. Verifying Algorithms • To verify, we have to take different input values and go through all the steps of the algorithm to yield the desired output for each input value and may modify or improve as per the need. • The method of taking an input and running through the steps of the algorithm is sometimes called dry run. • Dry run will help us to: 1. Identify any incorrect steps in the algorithm 2. Figure out missing details or specifics in the algorithm • It is important to decide the type of input value to be used for the simulation. • In case all possible input values are not tested, then the program will fail.
  • 41. Comparison of Algorithm • There can be more than one approach to solve a problem using computer and hence we can have more than one algorithm. • Algorithms can be compared and analysed on the basis of the amount of processing time they need to run and the amount of memory that is needed to execute the algorithm. These are termed as time complexity and space complexity, respectively. • The choice of an algorithm over another is done depending on how efficient they are in terms of processing time required (time complexity) and the memory they utilise (space complexity)
  • 42. Coding • Coding is the process of converting algorithm to the syntax of the given programming language. • The ordered set of instructions is written in that programming language by following its syntax. • Syntax is the set of rules or grammar that governs the formulation of the statements in the language, such as spellings, order of words, punctuation, etc. • A program written in a high-level language is called source code.
  • 43. Decomposition • The basic idea of solving a complex problem by decomposition is to 'decompose' or break down a complex problem into smaller sub problems. • Finally, the sub-problems are combined in a logical way to obtain the solution for the bigger, main problem. • Each sub problem can be solved independently and by different persons