Home › Free notes › Class 11 Computer Science › Introduction to Problem Solving
Introduction to Problem Solving – Class 11 Computer Science notes, important questions and MCQs
NCERT Class 11 Computer Science, chapter 4. Notes, key terms, important questions with answers and MCQs.
Chapter overview
Problem solving is the process of identifying a problem, developing an algorithm to solve it and implementing it as a program. The steps are analysing the problem, developing an algorithm, coding, and testing and debugging. Algorithms are represented using flowcharts and pseudocode. Good algorithms are precise, finite and efficient, and complex problems are solved by decomposition into smaller parts.
Steps and algorithms
- Steps for problem solving: analyse the problem (inputs and outputs), develop an algorithm, code it in a programming language, and test and debug it.
- An algorithm is a finite sequence of clear, precise steps to solve a problem; it must have defined input and output, be unambiguous and terminate.
- Algorithms can be represented by flowcharts, which use standard symbols (oval for start/end, parallelogram for input/output, rectangle for process, diamond for decision, arrows for flow), and pseudocode, which uses structured English-like statements such as INPUT, COMPUTE, PRINT, IF-ELSE and WHILE.
Flow of control, verification and decomposition
- Algorithms use sequence (steps one after another), selection (choosing based on a condition) and repetition or iteration (repeating steps).
- Verifying an algorithm involves dry running it with sample inputs; comparing algorithms considers time and space efficiency.
- Coding converts the algorithm into a programming language; decomposition breaks a complex problem into smaller sub-problems that are easier to solve, as in designing a railway reservation system.
Key terms
- Algorithm
- a finite sequence of precise steps to solve a problem
- Flowchart
- a diagram that represents an algorithm using standard symbols
- Pseudocode
- an informal, English-like description of an algorithm
- Debugging
- finding and removing errors in a program
- Decomposition
- breaking a complex problem into smaller parts
Important questions with answers
What is pseudocode?2 marks
Pseudocode is an informal, structured, English-like way of writing the steps of an algorithm using keywords such as INPUT, COMPUTE, PRINT, IF-ELSE and WHILE. It is not a programming language but makes coding easier.
Write an algorithm to find whether a number is even or odd.3 marks
Step 1: INPUT number. Step 2: Find remainder = number mod 2. Step 3: IF remainder is 0, PRINT 'Even', ELSE PRINT 'Odd'. Step 4: Stop.
Explain the steps of problem solving and the ways of representing algorithms.5 marks
Problem solving in computer science follows a sequence of steps. First, the problem is analysed carefully to understand what is required, what the inputs are, what output is expected and what constraints exist. Second, an algorithm is developed: a finite sequence of clear, unambiguous steps that solves the problem. There may be several algorithms for a problem, and the most efficient one is chosen. Third, the algorithm is coded in a high-level programming language such as Python, following its syntax. Fourth, the program is tested with different inputs, including boundary cases, and errors are found and corrected through debugging; programs may have syntax errors, logical errors or runtime errors. Algorithms can be represented in two main ways. A flowchart is a visual representation using standard symbols: an oval for start and end, a parallelogram for input and output, a rectangle for processing, a diamond for decisions and arrows to show the flow of control. Flowcharts are easy to understand but become complex for large problems. Pseudocode is a textual representation in structured English, using keywords such as INPUT, PRINT, IF-ELSE, FOR and WHILE; it is closer to code and easier to modify. Algorithms use sequence, selection and repetition, and complex problems are handled through decomposition.
Quick revision
- Steps of problem solving.
- Algorithm features.
- Flowcharts and pseudocode.
- Sequence, selection, iteration; verification; decomposition.
Exam tips
- Learn flowchart symbols: oval, parallelogram, rectangle, diamond.
- Write pseudocode for finding the largest of three numbers.
Practice MCQs
A finite sequence of precise steps to solve a problem is a/an
- program
- algorithm
- flowchart symbol
- bug
Show answer
Answer: (b) algorithm. It is written before coding.
In a flowchart, a decision is shown by a
- diamond
- rectangle
- oval
- parallelogram
Show answer
Answer: (a) diamond. It has yes/no branches.
Finding and removing errors in a program is called
- coding
- decomposing
- compiling
- debugging
Show answer
Answer: (d) debugging. Errors are called bugs.
The flowchart symbol used for input and output is a
- parallelogram
- rectangle
- diamond
- circle
Show answer
Answer: (a) parallelogram. Example: INPUT number.
Repeating a set of steps until a condition is met is
- sequence
- selection
- iteration
- decomposition
Show answer
Answer: (c) iteration. It is also called looping.
Breaking a large problem into smaller sub-problems is
- debugging
- compilation
- decomposition
- encoding
Show answer
Answer: (c) decomposition. Each part is solved separately.
Which is NOT a required characteristic of an algorithm
- finiteness
- written in Python
- precision
- defined output
Show answer
Answer: (b) written in Python. Algorithms are language-independent.
Tracing an algorithm by hand with sample inputs to check it is
- dry run
- compiling
- decomposition
- encoding
Show answer
Answer: (a) dry run. It verifies correctness.
All chapters of Class 11 Computer Science
Written by Kundali IQ from standard, well-established facts to help with revision. This is not an official NCERT publication; always read your textbook too.