108
CHAPTER 2 PROBLEM SOLVING

CHAPTER 2 PROBLEM SOLVING

  • Upload
    kory

  • View
    44

  • Download
    10

Embed Size (px)

DESCRIPTION

CHAPTER 2 PROBLEM SOLVING. This chapter will cover the following topics: Problem Solving Concepts for the Computer Pre-Programming Phase Programming Or Implementation Phase. What Problem Can Be Solved By Computer. - PowerPoint PPT Presentation

Citation preview

Page 1: CHAPTER 2 PROBLEM SOLVING

CHAPTER 2

PROBLEM SOLVING

Page 2: CHAPTER 2 PROBLEM SOLVING

This chapter will cover the following topics: Problem Solving Concepts for the Computer Pre-Programming Phase Programming Or Implementation Phase

Page 3: CHAPTER 2 PROBLEM SOLVING

WHAT PROBLEM CAN BE SOLVED BY COMPUTER When the solution can be produced by a

set of step-by-step procedures or actions.

This step-by-step action is called an algorithm.

The algorithm will process some inputs and produced output.

Solving problem by computer undergo two phases:Phase 1:

Organizing the problem or pre-programming phase.Phase 2:

Programming phase.

Page 4: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

This phase requires five steps: Analyzing the problem. Developing the Hierarchy Input Process Output

(HIPO) chart or Interactivity Chart (IC). Developing the Input-Process-Output (IPO) Chart. Drawing the Program flowcharts. Writing the algorithms.

Page 5: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE Analyzing The Problem

Understand and analyze the problem to determine whether it can be solved by a computer.

Analyze the requirements of the problem. Identify the following:

Data requirement. Processing requirement or procedures that will be

needed to solve the problem. The output.

Page 6: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

All These requirements can be presented in a Problem Analysis Chart (PAC)

Data Processing Output

given in the problem or provided by the user

List of processing required or procedures.

Output requirement.

Page 7: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Example: Payroll ProblemCalculate the salary of an employee who works

by hourly basis. The formula to be used is

Salary = Hour works * Pay rate

Data Processing Output

Hours work,

Pay rate

Salary = Hours work * payrate Salary

Page 8: CHAPTER 2 PROBLEM SOLVING

PROBLEM 1

Write a Problem Analysis Chart (PAC) to convertthe distance in miles to kilometers where 1.609kilometers per mile.

Data Processing Output

Distance in miles

Kilometers = 1.609 x miles

Distance in kilometers

Page 9: CHAPTER 2 PROBLEM SOLVING

PROBLEM 2

Write a Problem Analysis Chart (PAC) to find an area of a circle where area = pi * radius * radius

Data Processing Output

radius area = 3.14 x radius x radius area

Page 10: CHAPTER 2 PROBLEM SOLVING

PROBLEM 3 Write a Problem Analysis Chart (PAC) to compute and display

the temperature inside the earth in Celsius and Fahrenheit. The relevant formulas are

Celsius = 10 x (depth) + 20

Fahrenheit = 1.8 x (Celsius) + 32

Data Processing Output

depth celsius = 10 x (depth) + 20

fahrenheit = 1.8 x (celsius) + 32

Display celsius,

Display fahrenheit

Page 11: CHAPTER 2 PROBLEM SOLVING

PROBLEM 4

Write a problem analysis chart (PAC) that asks a user to enter the distance of a trip in miles, the miles per gallon estimate for the user’s car, and the average cost of a gallon of gas. Calculate and display the number of gallons of gas needed and the estimated cost of the trip.

Page 12: CHAPTER 2 PROBLEM SOLVING

Data Processing Output

distance,

miles per gallon,

cost per gallon

gas needed = distance / miles per gallon.

estimated cost = cost per gallon x gas needed

Display gas needed

Display estimated cost

Page 13: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE Developing the Hierarchy Input Process

Output (HIPO) or Interactivity Chart (IC) The problem is normally big and complex. Thus, requires big program. Thus, the processing can be divided into

subtasks called modules. Each module accomplishes one function. These modules are connected to each other to

show the interaction of processing between the modules.

Page 14: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Main/control module controls the flow all other modules.

The IC is developed using top-down-method: top to down left to right order (also refer to order of processing).

Modules are numbered, marked for duplication, repetition or decision.

Page 15: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE The interaction will form a hierarchy, called Hierarchy

Input Process Output Chart (HIPO) or Interactivity Chart (IC). Programming which use this approach (problem is divided into subtasks) is called Structured Programming.

Main Module

Module 3Module 2Module 1

Module 5Module 4 Module 6

Page 16: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

PAYROLL0000

READ1000

PRINT3000

CALCULATE2000

Page 17: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Example 2.2: Extended Payroll Problem You are required to write a program to calculate

both the gross pay and the net pay of every employee of your company. To determine the gross pay, you have to multiply the accumulated total hours worked by the employee, by the appropriate pay rate. The program should print the cheque that tells the total net pay. The net pay is calculated by subtracting the gross pay with any deductions that may be incurred by the employee.

Page 18: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

AccumulateHourly

Worked1100

Payroll0000

CalculateGross Pay

1000

DeterminePay rate

1200

WriteCheque

3000

CalculateNet Pay

2000

CalculateDeductions

2100

Page 19: CHAPTER 2 PROBLEM SOLVING

PROBLEM 2

Area0000

radius1000

area = 3.14 x radius x radius

2000

Display area3000

Write a Hierarchy Input Process Output (HIPO) to find an area of a circle where area = pi * radius * radius

Page 20: CHAPTER 2 PROBLEM SOLVING

PROBLEM 3

Temperature0000

Calculate temperature in celsius

1000

Calculate temperatureIn fahrenheit

2000

Display Temperature

3000

Get depth1100

Write a Hierarchy Input Process Output (HIPO) to compute and display the temperature inside the earth in Celsius and Fahrenheit. The relevant formulas are

Celsius = 10 x (depth) + 20

Fahrenheit = 1.8 x (Celsius) + 32

Page 21: CHAPTER 2 PROBLEM SOLVING

PROBLEM 4

Write a Hierarchy Input Process Output (HIPO) that asks a user to enter the distance of a trip in miles, the miles per gallon estimate for the user’s car, and the average cost of a gallon of gas. Calculate and display the number of gallons of gas needed and the estimated cost of the trip.

Page 22: CHAPTER 2 PROBLEM SOLVING

Estimation Cost0000

Calculate gas Needed

1000

Calculate estimated Cost2000

Display gas neededDisplay estimated

Cost3000

Get total distance in miles

1100

Get miles per gallon

1200

Get average costper gallon

2100

Page 23: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Developing the Input Process Output (IPO) Chart Extends and organizes the information in the

Problem Analysis Chart. It shows in more detail what data items are

input, what are the processing or modules on that data, and what will be the result or output.

It combines information from PAC and HIPO Chart.

Page 24: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Input Processing Module Output

-Hours Worked -Pay Rate -Deduction

-Enter Hourly Worked -Enter Pay Rate-Calculate Gross Pay -Enter Deductions-Calculate Net Pay-Print Cheque-End

1100120010002100200030000000

-Net pay

Page 25: CHAPTER 2 PROBLEM SOLVING

PROBLEM 2

Input Processing Module Output

- radius - Enter radius

- area = 3.14 x radius x radius-Display area-end

1000

2000

3000

0000

- Area of a circle

Write a Input Process Output (IPO) to find an area of a circle where area = pi * radius * radius

Page 26: CHAPTER 2 PROBLEM SOLVING

PROBLEM 3 Write an Input Process Output (IPO) to compute and display

the temperature inside the earth in Celsius and Fahrenheit. The relevant formulas are

Celsius = 10 x (depth) + 20

Fahrenheit = 1.8 x (Celsius) + 32

Page 27: CHAPTER 2 PROBLEM SOLVING

PROBLEM 4

Write an Input Process Output (IPO) that asks a user to enter the distance of a trip in miles, the miles per gallon estimate for the user’s car, and the average cost of a gallon of gas. Calculate and display the number of gallons of gas needed and the estimated cost of the trip.

Page 28: CHAPTER 2 PROBLEM SOLVING

Input Processing Module Output

- Distance in miles- Miles per gallon- Cost gas per gallon

- Enter distance- Enter miles per gallon- Calculate total gas needed- Enter cost gas per gallon- Calculate estimated cost- Display total gas and estimated cost- End

1100

1200

1000

2100

2000

3000

0000

-Total gas needed- Estimated cost

Page 29: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Drawing the Program FlowchartsFlowchart is the graphic representations of the

individual steps or actions to implement a particular module.

The flowchart can be likened to the blueprint of a building. An architect draws a blueprint before beginning construction on a building, so the programmer draws a flowchart before writing a program.

Flowchart is independent of any programming language.

Page 30: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE Flowchart is the logical design of a program. It is the basis from which the actual program

code is developed.Flowchart serves as documentation for

computer program.The flowchart must be drawn according to

definite rules and utilizes standard symbols adopted internationally.

The International Organization for Standardization (IOS), the symbols shown below (you can draw the symbols using ready-made flowcharting template):

Page 31: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Symbol Function

Show the direction of data flow or logical

solution.

Indicate the beginning and ending of a set of actions or instructions (logical flow) of a module or program.

Indicate a process, such as calculations,

opening and closing files.

Page 32: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Indicate input to the program and output from the program.

Use for making decision. Either True or False based on certain condition.

Use for doing a repetition or looping of certain steps.

Connection of flowchart on the same page.

Connection of flowchart from page to page.

Page 33: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASEExample 2.3 : Sale Problem

Draw a flowchart for a problem that to read two numbers. The first number represents the unit price of a product and the second number represents the quantity of the product sold. Calculate and print the total sale.

Solution: Stepwise Analysis of the Sale Problem Start of processing Read the unit price Read the quantity Calculate total sale Print total sale Stop the processing

Page 34: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

START

READUNIT PRICE

READQUANTITY

A

A

TOTAL SALE =UNITPRICE QUANTITY

PRINTTOTALSALE

STOP

Page 35: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Finding Average ProblemRead a sequence of number, find the

average of the number and print the average.

Solution: Stepwise Analysis of Average Problem Start the processing Read a number Add the number Repeat reading until last data Calculate the average Print the average Stop the processing

Page 36: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASESTART

READNUMBER

ACCUMULATETOTAL

CALCULATEAVERAGE

PRINTAVERAGE

STOP

Repetition until end of data

Page 37: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASESTART

READ NUMBER

COUNTER=

TOTAL = TOTAL + NUMBERCOUNTER = COUNTER + 1

END OF DATA

X

X

AVERAGE = TOTAL COUNTER

PRINT AVERAGE

STOP

Page 38: CHAPTER 2 PROBLEM SOLVING

START

STOP

COUNTER=

COUNTER = COUNTER + 1

TOTAL=

TOTAL = TOTAL + NUMBER

AVERAGE = TOTAL COUNTER

PRINTAVERAGE

READNUMBER

NUMBER =-999999

A

B

A

B

Page 39: CHAPTER 2 PROBLEM SOLVING

PRE-PROGRAMMING PHASE

Writing the Algorithm (Pseudocode)Pseudocode means an imitation computer

code. It is used in place of symbols or a flowchart

to describe the logic of a program. Thus, it is a set of instructions (descriptive form) to describe the logic of a program.

Pseudocode is close to the actual programming language.

Using the Pseudocode, the programmer can start to write the actual code.

Page 40: CHAPTER 2 PROBLEM SOLVING

STOP

START

READPRICE

READQUANTITY

PRINTSALE

SALE = PRICE QUANTITY

Algorithm:

Start

Read price, quantity Sale = price x quantityPrint Sale

End

Page 41: CHAPTER 2 PROBLEM SOLVING

Example: Flowchart & Algorithm

Page 42: CHAPTER 2 PROBLEM SOLVING

ORDER OF EXECUTION OF INSTRUCTIONS : PAYROLL SYSTEM

Page 43: CHAPTER 2 PROBLEM SOLVING

STRUCTURING A PROGRAM Develop efficient computer solution to problems:

1. Use Modules2. Use four logic structures

a. Sequential structure• Executes instructions one after another in a sequence.

b. Decision structure• Branches to execute one of two possible sets of

instructions.c. Loop structure

• Executes set of instruction many times.d. Case structure

• Executes one set of instructions out of several sets.

3. Eliminate rewriting of identical process by using modules.

4. Use techniques to improve readability including four logic structure, proper naming of variables, internal documentation and proper indentation.

Page 44: CHAPTER 2 PROBLEM SOLVING

SEQUENTIAL LOGIC STRUCTURE

Page 45: CHAPTER 2 PROBLEM SOLVING

THE DECISION LOGIC STRUCTURE

Implements using the IF/THEN/ELSE instruction.

Tells the computer that IF a condition is true, THEN execute a set of instructions, or ELSE execute another set of instructions 

ELSE part is optional, as there is not always a set of instructions if the conditions are false.

Algorithm:IF <condition(s)> THEN

<TRUE instruction(s)>ELSE

<FALSE instruction(s)

Page 46: CHAPTER 2 PROBLEM SOLVING

DECISION LOGIC STRUCTURE

Page 47: CHAPTER 2 PROBLEM SOLVING

EXAMPLES OF CONDITIONAL EXPRESSIONS

A < B (A and B are the same data type – either numeric, character, or string)

X + 5 >= Z (X and Z are numeric data) E < 5 or F > 10 (E and F are numeric data) DATAOK (DATAOK – logical datum)

Page 48: CHAPTER 2 PROBLEM SOLVING

EXAMPLE Assume your are calculating pay at an hourly rate,

and overtime pay(over 40 hours) at 1.5 times the hourly rate. IF the hours are greater than 40, THEN the pay is

calculated for overtime, or ELSE the pay is calculated in the usual way.

Page 49: CHAPTER 2 PROBLEM SOLVING

EXAMPLE DECISION STRUCTURE

Page 50: CHAPTER 2 PROBLEM SOLVING

NESTED IF/THEN/ELSE INSTRUCTIONS Multiple decisions. Instructions are sets of instruction in which each

level of a decision is embedded in a level before it.

Page 51: CHAPTER 2 PROBLEM SOLVING

NESTED IF/THEN/ELSE INSTRUCTIONS

Page 52: CHAPTER 2 PROBLEM SOLVING

THE LOOP LOGIC STRUCTURE

Repeat structure To solve the problem that doing the same task over

and over for different sets of data Types of loop:

WHILE loop Do..WHILE loop Automatic-Counter Loop

Page 53: CHAPTER 2 PROBLEM SOLVING

LOOP LOGIC STRUCTURE

Page 54: CHAPTER 2 PROBLEM SOLVING

WHILE LOOP

Page 55: CHAPTER 2 PROBLEM SOLVING

WHILE LOOP Do the loop body if the condition is true. Example: Get the sum of 1, 2, 3, …, 100.

Algorithm: Set the number = 1 Set the total = 0 While (number <= 100)

total = total + number number = number + 1

End While Display total

Page 56: CHAPTER 2 PROBLEM SOLVING

WHILE LOOP

Start

Set number = 1

number <= 100

Set total = 0

total = total + number

number = number + 1

Display total

End

No

Yes

Page 57: CHAPTER 2 PROBLEM SOLVING

DO…WHILE LOOP The body of the loop will process first before

check the condition. Example: Get the sum of 1, 2, 3, …100.

Page 58: CHAPTER 2 PROBLEM SOLVING

DO…WHILE LOOP

Page 59: CHAPTER 2 PROBLEM SOLVING

DO…WHILE LOOP

Start

Set number = 1

number <= 100

Set total = 0

total = total + number

number = number + 1

Display total

End

No

Yes

Page 60: CHAPTER 2 PROBLEM SOLVING

AUTOMATIC COUNTER LOOP Use variable as a counter that starts counting at a

specified number and increments the variable each time the loop is processed.

The beginning value, the ending value and the increment value may be constant. They should not be changed during the processing of the instruction in the loop.

Page 61: CHAPTER 2 PROBLEM SOLVING

AUTOMATIC-COUNTER LOOP

Page 62: CHAPTER 2 PROBLEM SOLVING

AUTOMATIC-COUNTER LOOP

Page 63: CHAPTER 2 PROBLEM SOLVING

NESTED LOOP

Page 64: CHAPTER 2 PROBLEM SOLVING

NESTED LOOP

Page 65: CHAPTER 2 PROBLEM SOLVING

THE CASE LOGIC STRUCTURE

Made up of several or many sets of instructions, only one of which will be selected by the user and executed by the computer

Algorithm:CASE OF VARIABLE

= constant1:actions for VARIABLE = constant1= constants2:actions for VARIABLE = constant2…

OTHERWISE:Actions for VARIABLE = anything else

END-OF-CASE

Page 66: CHAPTER 2 PROBLEM SOLVING

CASE LOGIC STRUCTURE

Page 67: CHAPTER 2 PROBLEM SOLVING

CASE LOGIC STRUCTURE Example: A company has four different

medical plans. The programmer has given each plan a code corresponding to the beginning initial of the company: Plan 1 = F, Plan 2 = B, Plan 3 = K, Plan 4 = E.The company pays for all of Plan 1. The individual has to pay for part of the others. The payroll deduction for Plan 2 = 4.65, for Plan 3 = 7.85, and for Plan 4 = 5.50. Any other codes are considered in error. Write the algorithm and draw the flowchart for a module to determine the payroll deduction.

Page 68: CHAPTER 2 PROBLEM SOLVING

EXAMPLE OF CASE LOGIC STRUCTURE

Page 69: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASE Transcribing the logical flow of solution

steps in flowchart or algorithm to program code and run the program code on a computer using a programming language.

Programming phase takes 5 stages: Coding. Compiling. Debugging. Run or Testing. Documentation and maintenance.

Page 70: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASE Once the program is coded using one

of the programming language, it will be compiled to ensure there is no syntax error. Syntax free program will then be executed to produce output and subsequently maintained and documented for later reference.

Page 71: CHAPTER 2 PROBLEM SOLVING

DOCUMENTATION OR MAINTENANCE

EXECUTE ORRUN

MAKECORRECTION

COMPILE THEPROGRAM

CODING

NO SYNTAXERROR

Page 72: CHAPTER 2 PROBLEM SOLVING

PROBLEM 1Write a Problem Analysis Chart (PAC) to convertthe distance in miles to kilometers where 1.609kilometers per mile.

Page 73: CHAPTER 2 PROBLEM SOLVING

start

read miles

km = 1.609 x miles

print km

end

Page 74: CHAPTER 2 PROBLEM SOLVING

PROBLEM 2

Write a Problem Analysis Chart (PAC) to find an area of a circle where area = pi * radius * radius

Page 75: CHAPTER 2 PROBLEM SOLVING

start

read radius

area = 3.14 x radius x radius

print area

end

Page 76: CHAPTER 2 PROBLEM SOLVING

PROBLEM 3

Write a problem analysis chart (PAC) that asks a user to enter the distance of a trip in miles, the miles per gallon estimate for the user’s car, and the average cost of a gallon of gas. Calculate and display the number of gallons of gas needed and the estimated cost of the trip.

Page 77: CHAPTER 2 PROBLEM SOLVING

start

read distance

total_gas = distance / mile_gallon

read miles_gallon

A end

Read cost_gallon

total_cost = total_gas x cost_gallon

A

Print total_gas,total_cost

Page 78: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASECoding

Translation or conversion of each operation in the flowchart or algorithm (pseudocode) into a computer-understandable language.

Coding should follow the format of the chosen programming language.

Many types or levels of computer programming language such as:

Machine language Symbolic language or assembly language Procedure-oriented language

The first two languages are also called low-level programming language. While the last one is called high-level programming language.

Page 79: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASEMachine Language

Machine language uses number to represent letters, alphabets or special character that are used to represent bit pattern.

Example: an instruction to add regular pay to overtime

pay, yielding total pay might be written in machine language as follows:

16 128 64 8 in which 16 is a code that mean ADD to the

computer. The 128 and 64 are addresses or location at which regular pay and overtime pay are stored. The 8 represents the storage location for the total pay.

Page 80: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASE Sometimes, bit pattern that represent letters

and alphabets are used for coding. Example:

Instead of: 16 128 64 8

Use: 10000 10000000 1000000 1000

This representation is ideal for a computer but difficult and tedious to the programmer to write a lengthy program.

Page 81: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASE Symbolic Language or Assembly Language

A symbolic language or assembly language is closely related to machine language in that, one symbolic instruction will translate into one machine-language instruction.

Contain fewer symbols, and these symbols may be letters and special characters, as well as numbers.

As example, a machine language instruction

16 128 64 8can be rewritten in assembly language as

ADD LOC1 LOC2 LOC3

Which means, add content of location LOC1 to location LOC2 and put the result in location LOC3.

Page 82: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASEProcedure – Oriented Language

Programmer has to know the computer hardware before he can write program in machine and assembly language. It means the language is machine dependent.

Using procedure – oriented language, the programmer can run the program in any computer hardware.

A special program called a compiler will translate program written using procedure – oriented language to machine language.

Page 83: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASE Some example of the language:

COBOL (COmmon Business Oriented Language)

FORTRAN (FORmula TRANslation)PascalCC++BASIC, etc.

These languages are also called high-level programming language

Page 84: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASE

Computer Language Instruction Format

Machine language

Assembly language

BASIC

FORTRAN

COBOL

Pascal

C

16 128 64 8

ADD LOC1 LOC2 LOC3

LET T = R + 0

TOTAL = RPAY + OPAY

ADD RPAY, OPAY GIVING TOTAL

TOTAL : = RPAY + OPAY

TOTAL = RPAY + OPAY

Page 85: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASECompiling and Debugging

Compiling is a process of a compiler translates a program written in a particular high–level programming language into a form that the computer can execute.

The compiler will check the program code know also as source code so that any part of the source code that does not follow the format or any other language requirements will be flagged as syntax error.

This syntax error in also called bug, when error is found the programmer will debug or correct the error and then recompile the source code again.

The debugging process is continued until there is no more error in the program.

Page 86: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASE Testing

The program code that contains no more error is called executable program. It is ready to be tested.

When it is tested, the data is given and the result is verified so that it should produced output as intended.

Though the program is error free, sometimes it does not produced the right result. In this case the program faces logic error.

Incorrect sequence of instruction is an example that causes logic error.

Page 87: CHAPTER 2 PROBLEM SOLVING

PROGRAMMING OR IMPLEMENTATION PHASE Documentation and Maintenance

When the program is thoroughly tested for a substantial period of time and it is consistently producing the right output, it can be documented.

Documentation is important for future reference. Other programmer may take over the operation of the program and the best way to understand a program is by studying the documentation.

Trying to understand the logic of the program by looking at the source code is not a good approach.

Studying the documentation is necessary when the program is subjected to enhancement or modification.

Documentation is also necessary for management use as well as audit purposes.

Page 88: CHAPTER 2 PROBLEM SOLVING

COHESION AND COUPLING Especially important concepts to the modern

programmer, who in all probability will be working with many other programmers on the same problem.

Cohesion allows a programmer to write a module of a large program and test it independently.

Coupling allows all programmers to use necessary variables without losing the cohesion.

Page 89: CHAPTER 2 PROBLEM SOLVING

COHESION Cohesion relates to the functional independence of

the module and to the performance of a single task within the module.

The objective is to separate the problem into parts. Each module is independent of each other module,

with single entrance and a single exit, such as entering data, printing data, initialising data.

Page 90: CHAPTER 2 PROBLEM SOLVING

COUPLING Coupling allows modules to be connected by

an interface, which enables the programmer to transfer data from one module to another.

Three coupling techniques are:ParameterModules namesGlobal variables.

Allows for communication between modules. Coupling allows all programmers to use

necessary variable without losing the cohesion of the module.

Page 91: CHAPTER 2 PROBLEM SOLVING

COHESION AND COUPLING

Module 1 Module 2

Module 3 Module 4

Cohesion is the ability for each module to be independent of other modules.

Coupling allows modules to share data

Page 92: CHAPTER 2 PROBLEM SOLVING

THE MODULES AND THE FUNCTIONS The programmer breaks the problem into modules,

each with specific function. It is much easier to write and test many small

modules than a single large program. Modules are arranged according to processing order

in interactivity chart.

Page 93: CHAPTER 2 PROBLEM SOLVING

THE RULES FOR DESIGNING MODULES1. Each module is an entity and has one

entrance and one exit.2. Each module has a single function such

as printing, calculating or entering data.3. Each module is short enough to be easily

read and modified.4. The length of module governed by its

function and the number of instruction to be executed.

5. A module is developed to control the order of processing.

Page 94: CHAPTER 2 PROBLEM SOLVING

TYPES OF MODULES1. Control module

• Show the overall flow of data through the program. All other modules are subordinate to it.

2. Init module• Also called the preparation module, process

instruction that are executed only once – at the beginning.

3. Process Data module• May be processed only once, or may be part

of a loop.1. Calculation Modules

• Do arithmetic calculations.

Page 95: CHAPTER 2 PROBLEM SOLVING

TYPES OF MODULES2. Print Modules

• Print output lines.

3. Read and Data validation modules• Read or input data, validate data• Validation modules separate from read modules

4. Wrap-up module• Execute only once at the end. • Include closing file and printing totals.

5. Event module• Such as mouse down, mouse up, key entry.

Page 96: CHAPTER 2 PROBLEM SOLVING

LOCAL AND GLOBAL VARIABLES The concept of local and global

variables to allow cohesion and coupling to occur.

Local variables defined within a module used only by the module itself

Global variables defined outside of the individual modules can be used by all modules

Page 97: CHAPTER 2 PROBLEM SOLVING

SCOPE OF LOCAL AND GLOBAL VARIABLES

Variables: A, B, C

CONTROL MODULEVariables: X, Y, Z

MODULE1Variables: D, E, F

MODULE2Variables: G, H, I

Global to all modules

Local to CONTROL MODULE

Local to MODULE1

Local to MODULE2

Page 98: CHAPTER 2 PROBLEM SOLVING

PARAMETERS Parameters are local variables that are passed or sent from one module to another.

Parameters are another way of facilitating coupling that allows the communication of data between modules.

Eg: Read(A, B, C) – A, B & C are parameters There are two types of parameters:

Actual Parameterlist of parameters that follow the module name being processed in the calling module

Formal Parameterlist of parameters that follow the module name at the beginning of the module.

Page 99: CHAPTER 2 PROBLEM SOLVING

PARAMETER TERMINOLOGY

Page 100: CHAPTER 2 PROBLEM SOLVING

BEGINNING PROBLEM-SOLVING CONCEPTS FOR THE COMPUTER

Data used in processing Constant is a value that never changes during the

processing of all instructions in a solution Constant is given a location in memory and a name. The value of a variable may change during

processing

Page 101: CHAPTER 2 PROBLEM SOLVING

RULES FOR NAMING AND USING VARIABLES: Name according to what it represented Do not use spaces in a variable name Do not a dash Consistent in the use of variable names Consistent when using upper and lowercase

characters

Page 102: CHAPTER 2 PROBLEM SOLVING

DATA TYPES

Data are unorganized facts Goes as input and is processed to

produce output, information Computers must be told the data type

of each variable and constant 3 common types: numeric, character,

and logical Other data types: date data type and

user-defined data types

Page 103: CHAPTER 2 PROBLEM SOLVING
Page 104: CHAPTER 2 PROBLEM SOLVING

RULES OF DATA TYPES

Programmer designates the data type during the programming process

Data types cannot be mixed Each data types used data set Calculations involved only numeric data type.

Page 105: CHAPTER 2 PROBLEM SOLVING

FUNCTIONS Small sets of instructions that perform specific task and return

values Used as part of instruction in a solution Divided into classes:

Mathematical functions – used in science and business String functions – used to manipulate string variables Conversion functions – used to convert data from one data type

to another Statistical functions – used to calculate things such as maximum

value Utility functions – access information outside the program, i.e.

date and time function Functions use data, called parameters. Functions normally do

not alter parametersFunctionname(parameters list)

Page 106: CHAPTER 2 PROBLEM SOLVING

OPERATORS They are data connectors within expressions

and equations. They tell computer how to process the data Operands are data the operator connects and

processes Resultant is the answer Data type of the operand and the resultant

depends on the operator: Mathematical operators Relational operators Logical operators

Operators have a hierarchy or precedence

Page 107: CHAPTER 2 PROBLEM SOLVING
Page 108: CHAPTER 2 PROBLEM SOLVING

EXPRESSIONS AND EQUATIONS

Expression processes data, the operands, through the use of operators

Equation stores the resultant of an expression in a memory location in the computer through the equal (=) sign.

Equations are often called assignment statements