subject: problem solving techniques using c …
TRANSCRIPT
![Page 1: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/1.jpg)
SUBJECT: PROBLEM SOLVING TECHNIQUES
USING C
SEMESTER: I SEMESTER
COURSE: BCA
SUBJECT TEACHER: Dr. K.Chitra,
Assistant Professor,
Department of Computer Science
![Page 2: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/2.jpg)
PROBLEM SOLVING TECHNIQUES
USING C
Chapter – 1
Introduction to computer
programming
![Page 3: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/3.jpg)
Problem solving
• It is a systematic approach to find and
implement the solution to a problem.
![Page 4: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/4.jpg)
Program
• It is a set of instructions written in computer
languages
![Page 5: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/5.jpg)
Software
• It is a collection of computer data and
instructions. It is responsible for controlling,
integration and managing hardware
components and perform specific tasks.
![Page 6: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/6.jpg)
Classification of software
• System software
It is a set of one or more programs that manage and support a computer system hardware and its data processing activities.
E-x Operating system, Compilers, Assemblers
• Application software
It is a set of one or more programs, designed to solve a specific problem or a specific task.
E-x Ms-word ,Ms-excel,Ms-powerpoint
![Page 7: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/7.jpg)
Steps in Problem Solving
• Problem Definition
• Problem Analysis
• Design
• Coding
• Testing
• Maintenance
![Page 8: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/8.jpg)
Problem Definition
• To solve a problem, the first step is to identify
and define the problem.
• The problem must be stated clearly, accurately
and precisely.
E-x Find largest of three numbers
![Page 9: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/9.jpg)
Problem Analysis
• The problem analysis helps in designing and coding for that particular problem.
1. Input specifications
The number of inputs and what forms the input are available
2.Output specifications
The number of outputs and what forms the output should be displayed.
E-x input – a,b,c
output - c
![Page 10: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/10.jpg)
Designing a program
• 1. Algorithms
• 2.Flowcharts
• Algorithm - step by step procedure of solving
a problem
• Flowcharts – It is the graphical representation
of the algorithm.
![Page 11: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/11.jpg)
Coding
• Writing instructions in a particular language to
solve a problem.
![Page 12: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/12.jpg)
Testing a Program
• After writing a program, programmer needs to
test the program for completeness,
correctness, reliability and maintainability.
• Unit testing
• Program Testing
• Verification Testing
• Validation Testing
![Page 13: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/13.jpg)
Maintaining the program
• It means periodic review of the programs and
modifications based on user requirements.
![Page 14: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/14.jpg)
Algorithm
• An algorithm is a step by step procedure to solve a given problem in finite number of steps.
The characteristics of an algorithm are
(i) Algorithm must have finite number of steps.
(ii) No instructions should be repeated.
(iii) An algorithm should be simple.
(iii) An algorithm must take atleast one or more input values.
(iv) An algorithm must provide atleast one or more output values.
![Page 15: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/15.jpg)
Advantages
• An algorithms are very easy to understand.
• Algorithm is programming language
independent.
• Algorithm makes the problem simple, clear,
correct.
![Page 16: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/16.jpg)
Example-1
Problem definition : To find simple interest
Problem Analysis :
inputs – p, r, t
Output – simple interest
Algorithm
Step 1:Start
Step 2:input p,r,t
Step 3: calculate si=p*r*t/100
Step 4: output si
Step 5:stop
![Page 17: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/17.jpg)
Example - 2
Problem definition : To Convert temperature in Celsius to Fahrenheit
Problem Analysis :
input – c
Output – f
Algorithm
Step 1:Start
Step 2:input c
Step 3: calculate f=9/5*c+32
Step 4: output f
Step 5:stop
![Page 18: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/18.jpg)
Example - 3
• Problem definition : To find the largest of three numbers
• Problem Analysis :
input - a,b,c
output – string
Algorithm
step 1: start
step 2: input a,b,c
Step 3: if a> a d a> the pri t a is greater
Else if >a a d > the pri t is greater
Else
Pri t is greater
Step 4: stop
![Page 19: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/19.jpg)
FLOWCHART
• A flow chart is a step by step diagrammatic
representation of the logic paths to solve a
given problem.
• A flowchart is graphical representation of an
algorithm.
![Page 20: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/20.jpg)
Advantages
• The flowchart shows the logic of a problem
displayed in pictorial fashion
• It is useful for debugging and testing of
programs.
• Program could be coded efficiently using
flowcharts.
• The Flowchart is good means of
communication to other users.
![Page 21: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/21.jpg)
Disadvantages
• It is not useful to represent complex program
logic
• For any alterations, the flowcharts have to be
redrawn completely.
![Page 22: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/22.jpg)
Rules for writing flowcharts
• It should be drawn from top to bottom.
• A flowchart always begins with start symbol
and ends with stop symbol.
• Flow lines are used to join the symbols
• Decision box should have one entry point and
two exit points.
• For lengthy flowcharts, connectors are used to
join them.
![Page 23: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/23.jpg)
Symbols used in flowcharts
start or stop (terminal)
• Oval: Rectangle with rounded sides is used to
indicate either START/ STOP of the program.
![Page 24: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/24.jpg)
Input/output
• Used to read or print data or information
![Page 25: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/25.jpg)
Processing
• Represents calculations, Processing or data
manipulation.
![Page 26: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/26.jpg)
Decision
• Represents comparisons or decisions and
branching
![Page 27: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/27.jpg)
Looping
• Represents a group of instructions to be
executed repeatedly.
![Page 28: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/28.jpg)
Connectors
• Indicates an entry or an exit to another part of
the flowchart.
![Page 29: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/29.jpg)
Directions of flow
• Indicates the direction of processing or flow of
control.
![Page 30: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/30.jpg)
Write Algorithm and flowchart for the
following problems
• Find the largest of two numbers
• Check whether the given number is positive or not
• Input a age of person and check whether he is eligible for voting or not.
• Check whether the given number is odd or even
• Check whether the given year is leap year or not.
![Page 31: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/31.jpg)
Coding
• Coding is the translation of an algorithm or
flowchart into a suitable computer language
c,c++,java
![Page 32: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/32.jpg)
Testing and Debugging
• To achieve the required output, the program
that is written in coding must be tested
,compiled and executed.
• Types of errors
syntax error
semantic error
Run-time error
![Page 33: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/33.jpg)
Debugging
• It is the process of identifying and correcting
the bugs.
![Page 34: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/34.jpg)
Documentation
• Documentation is the reference material which explains the use and maintenance of the program.
• Two types of documentation
Internal Documentation
variable names, program code
External Documentation
User’s a ual, Ad i istrator a uals, Developers manual
![Page 35: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/35.jpg)
Maintenance
• Periodic review of the program and
modifications based on their user
requirements.
![Page 36: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/36.jpg)
Structured Programming
• Structured programming is a technique for
organizing and coding computer programs in
which a hierarchy of modules is used ,each
having single entry and single exit point.
Three types of control structures
Sequence
Selection
Iteration
![Page 37: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/37.jpg)
Rules for structured programming
• Every program should specify input and output variables.
• The flow of the program should be top-down approach.
• Every program and function must have a comment at the beginning.
• Divide the big programs in to subprograms (functions or procedures).
• Documentation should be short.
![Page 38: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/38.jpg)
Advantages of structured
programming
• Easy to write.
• Easy to debug
• Easy to understand
• Easy to change.
![Page 39: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/39.jpg)
Modular programming
• The modular approach to programming
involves breaking a program down into sub-
components called modules.
• Each module is composed of some set of
instructions.
![Page 40: SUBJECT: PROBLEM SOLVING TECHNIQUES USING C …](https://reader030.vdocument.in/reader030/viewer/2022012717/61afadb2dc3e1e184a662056/html5/thumbnails/40.jpg)
Advantages of modular programming
• Easy to write
• Easy to debug
• The types of approaches
Top-down approach
Bottom-up approach