Chapter 2 : Problem Solving


Objectives :
1. To understand the software development method. 2. To be able to develop flow chart and pseudocode through the process topdown refinement. 3. To implement basic problem solving techniques.

System Development
•The critical process determines the overall quality

and success of the program.
• If any program is design carefully using good structured development techniques, the program will

be efficient, error-free and easy to maintain.
• Most programming projects are built using system development life cycle (SDLC).

• One of the popular development life cycle is known
as the waterfall model.

System Development Method :SDLC 4 .

System Development Method :SDLC 1. 2. output.  Review program specification (input. process). System Requirements Specification.  Read and understand the question. 5 . System Analysis  Identify program components.  Analyst meet with the users.  Looks at different alternatives from a system point of view.

 Computing problems All can be solved by executing a series of actions in a specific order  Algorithm : procedure for solving a problem in terms of the actions to be executed and the order in which these actions are to be executed. System Design.  Algorithm – A list of steps to solve the problem. 6 .  Algorithm can be written in pseudo codes or flowchart.System Development Method :SDLC 3.

informal language that helps us develop algorithms Similar to everyday English Not actually executed on computers Helps us “think out” a program before writing it oEasy to convert into a corresponding C program oConsists only of executable statements  Flowchart .graphically shows the logic in a solution algorithm.(continue)  Pseudocode Artificial. System Design.System Development Method :SDLC 3. 7 7 .

Flowcharting Symbols • Each symbol indicates the type of operation to be performed. • Flowchart graphically illustrates the sequence in which the operations are to be performed Start / Stop program Process Preparation Input/output Decision Symbols Connector Direction of flow 8 .

SYSTEM DESIGN continued… Flowchart A Start A2 > 50? Input A No Str = “valid” Calculate A2 Str = “Not valid” Yes Pseudocode 1. Print A . 2. 3. Start Input A Calculate A2 If A2 > 50 Set “Not Valid “ to Str else Set “Valid” to Str 5.3. 4. Str 6. Stop Print A Print Str A Input : Output : 10 10 Not Valid 9 Stop .

SYSTEM DESIGN continued… BASIC CONTROL STRUCTURES SEQUENCE – is a series of statements that execute one after another SELECTION (branch) . IF condition THEN statement1 ELSE stament2 LOOP (repetition) .is used to repeat statements while certain conditions are met.is used to execute different statements depending on certain conditions. 10 .3.



g.Caught by compiler. System Implementation(Code)  Writing a program (coding) Compile and execute.code does something illegal when it is run (hence runtime)E. 5.  to verify that it works as desired.  run-time.  Error  syntax . The only clue to the existence of logic errors is the production of wrong solutions.System Development Method :SDLC 4.errors in spelling and grammar (syntax). divide by zero  logic . 13 . System Testing and Evaluation.  run the program several times using different sets of data..do not get error messages with logic errors.

6. System Maintenance.  Maintenance of the program / system should be updated from time to time  involve correcting errors & adding enhancement 14 .testing without knowing how it works  by looking only at the requirements statement ii) Whitebox Testing  test by the programmer  assumes that the tester knows everything about the program  to make sure that every instruction and every possible situation have been tested. Two types of testing : i) Blackbox Testing  test by the system engineer and the user.

write the program.PROGRAM DEVELOPMENT • A multi-step process that requires you understand the problem. analysis i/p/o  Develop the solution using pseudocode/flowchart  Write the program  Test the program 15 . • To determine how to take inputs you are given and convert them into the output that have been specified (program design) • 4 steps involve in solving problems:  Understand the problem : requirements . develop a solution. and test it.

Calculate and prints the value of n12 and n23 • REQUIREMENT SPECIFICATION The program should be able to calculate square and the cube of two inputs integer data and print out both values.n2.EXAMPLE OF PROBLEM 1 Write a program that inputs 2 integers n1 and n2.ans1.ans2 Formula : n1*n1 n2*n2*n2 16 . • SYSTEM ANALYSIS Input : n1 and n2 Output : ans1 = result of n12 ans2 = result of n23 Variables : n1.

End Begin Input n1. ans2 = n2*n2*n2 Prints results of n12 and n23 End 17 .• SYSTEM DESIGN Flowchart Pseudocode 1. Calculate n1 and n2 3.1 ans1=n1*n1 3. Input n1 and n2 3.n2 Calculate ans1=n1*n1 . Print results of n12 and n23 5. Begin 2.2 ans2=n2*n2*n2 4.

h> • SYSTEM TESTING AND EVALUATION int main() { int n1.ans1. ans1=pow(n1. scanf("%d.ans1.• SYSTEM IMPLEMENTATION #include <stdio.3). ans2=pow(n2.&n1).ans2). } 18 .n2.&n2). *Syntax error Output printf("%d \n %d\n ".ans2.2). scanf("%d".

SYSTEM ANALYSIS • Inputs – the distances in miles.609 kilometers – kms = miles x 1.609 19 . You and your coworkers prefer to deal in metric measurements. miles • Output – the distance in kilometers.EXAMPLE OF PROBLEM 2 Your summer surveying job requires you to study some maps that give distances in kilometers and some that use miles. kms • Process/Formula – 1 mile = 1. Write the program that performs the necessary conversion.

609 times the distance in miles 3.• SYSTEM DESIGN Pseudocode Flowchart Start 1. kms End 20 .0 Convert the distance to kilometers 2.0 Display the distance in kilometers Get the distance in miles. miles Compute the distance in kilometers kms = miles x 1.1 The distance in kilometers is 1.0 Get the distance in miles 2.609 Print Distance in kilometers.

kms= mile_to_km* miles.miles.kms. printf("Enter the distance in miles that need to be converted to kilometers : "). printf("%. scanf("%f".h> # define mile_to_km 1.• SYSTEM IMPLEMENTATION # include <stdio.1f in miles is %.&miles).609 void main( ) { float miles.4f in kilometers\n ".kms). } 21 .

• SYSTEM TESTING AND EVALUATION * Check for any syntax / logic errors * Syntax errors 22 .


print msg “Not a valid input” 24 .R • Output – I • Process/Formula – If V>10 . don’t calculate the current.EXAMPLE OF PROBLEM 3 Ohm's law is often expressed in the form V=IR. you just print out a message “ The volts is too big”. If the volt is <= 10. If it is > 10 volts. I = V/R – If V<0 . SYSTEM ANALYSIS • Inputs – V. where V is the voltage measured in volts. print out a message “Not a valid input”. and R is the resistance measured in ohms. print msg “The volts is too big” – If V<=10. Write a program that can calculate how much current (I) would flow through an input ohm of resistor (R) if you were to connect the resistor to an input volts of power supply (V). However you need to check for the input volts of the power supply. calculate and print the current (I) and if the volts is negative. I is the current measured in amps.

print I 3.R 1.• SYSTEM DESIGN Flowchart Pseudocode Start Get V.0 Get the input data for V.0 End no Print I End 25 . R 2. print msg “Not a valid input” else V > 10? no yes Print msg “ The volts is too big” V <= 10? no yes Print msg “Not a valid input” V < 0? yes I=V/R If V<=10.0 If V > 10 print message “The volts is too big” else If V<0 . I = V/R.

&V).h> void main( ) { float V. else if (V<10) { I = V/R. } } 26 . scanf("%f".R.I. &R). printf("Enter V : "). scanf("%f". if (V>10) printf("The volts is too big\n"). printf("I =%. printf("Enter R : ").I). else if (V<0) printf("The input is invalid\n").• SYSTEM IMPLEMENTATION #include<stdio.2f ".




Write a program that will display the bonus. This year the bonus rate is 6% of the employee’s current yearly salary. Compute and print the net pay giving the pay rate and hours work. 30 .Assume deductions amount to 9% of the gross pay.Exercise Identify input. 3. At the end of the every year. write pseudocode and draw the flowchart for each one : 1. Calculate and print the annual salary of an employee. 2.Assume the employee receive 6% increase in pay. Quality Builders gives each of its employees a bonus. process and output to solves each problem.

Sign up to vote on this title
UsefulNot useful