Вы находитесь на странице: 1из 23

CHAPTER THREE Pseudocode

OBJECTIVES Upon completion of this chapter, you should be able to: Define the term pseudocode. Know advantages and disadvantages of pseudocode. Use the rules and constraints associated with pseudocode. Solve word problems using pseudocode.

3.1 Introduction
Pseudocode is statements written in abbreviated form to show the steps required to solve a specific problem. Pseudocode means "false code". That means that it is not the programming language "code" or statements that are used to direct the action of the computer. After writing the Pseudocode it is very easy to translate these statements into computer programming language instructions that can direct the action of the computer.

There are no special symbols with special meaning (such as flowcharting) that have to be memorized. Its rules and constraints are few, flexible, and easy to understand.

3.2 Components
The best way to illustrate the pseudocode components is to provide a sample. Figure 3.1 shows a part of the flowchart of problem 8 in chapter 2, where HW means Hours worked, OP means Overtime Pay, PR means Pay Rate, , and GP means Gross Pay. The corresponding pseudocode is shown in Figure 3.2.

Figure 3.1 A Part of flowchart solution for problem 2..

1. If hours worked is greater than 150 Then Calculate Overtime Pay = (Hours Worked 150) * 1.5 * (Pay Rate) Calculate Gross Pay = 150 * (Pay Rate) + Overtime Pay Else Calculate Gross Pay = (Pay Rate) * (Hours Worked) 2. Calculate TAX = 0.20 * (Gross Pay)

Figure 3.2 Pseudocode corresponding to Figure 3.1.

Which means that if hours worked > 150, you have to execute the following two statements :
Calculate Overtime Pay = (Hours Worked 150) * 1.5 * ( (Pay Rate) Calculate Gross Pay = 150 * (Pay Rate) + Overtime Pay

Followed by the following statement :


Calculate TAX = 0.20 * (Gross Pay)

Where if the hours worked 150, you have to execute the following statement :
Calculate Gross Pay = (Pay Rate) * (Hours Worked)

Followed by the following statement :


Calculate TAX = 0.20 * (Gross Pay)

This shows that the only components used to write a pseudocode are 1. Words 2. Clauses 3. Sentences These components and eas easiness of use make pseudocode so attractive.

3.3 Rules and Constraints


1. The data names of variables being used to solve the problem should describe what the variable represents. 2. All statements should be written in a way that is easy to understand.

3.4 Program Logic Structures


A program is consisting of a number of structures. The most important structures are as follows: 3.4.1. Sequence In pseudo coding, statements are done in sequential fashion unless one of the statements contains an instruction that interrupts the normal sequential flow. 3.4.2. Selection The pseudocode shown in Figure 3. represents how we can code the selection control structure. In this case an IF statement is presented. There can be only two outcomes as a result of the IF statement being processed. One as a result of the tested condition being TRUE and the other as being FALSE. Therefore the IF-THEN-ELSE control structure can be represented as follows :

IF condition being tested is TRUE Then Do all statements listed under Then. (executed when the tested condition is TRUE). Else Do all statements listed under Else. (executed when the tested condition is FALSE). Figure 3.3 IF-THEN-ELSE control structure.

The tested condition can be greater than(>), less than,(<) equal to(=), greater or equal to(>=), less than or equal to(<=), or not equal to . The result of testing the condition must be TRUE or FALSE. For example:

M= 25 N = 12 IF ( M >= N ) Then Statement 1 Else Statement2 END IF Statement 3

Note that in this case Statement 1, followed by Statement 3 will be executed. Note that if the tested condition was just an expression the result of which was a number, then only the value of zero will represent FALSE, where all other values will represent TRUE. For example

X= 10 Y=5 IF (X Y) Then Statement 1 Else Statement2 END IF Statement3

In this case Statement 1 followed by Statement3 will be executed because X Y is positive, this means that the
corresponding logic value is considered True.

When the code is given as follows :


X= 10 Y = 10 IF (X Y) Then Statement 1 Else Statement2 END IF Statement3

In this case Statement2 followed by Statement3 will be executed because


X Y is zero, this means that the corresponding logic value is considered False.

3.4.2. Iterations
This statement implies that a certain activity or action will be performed repetitively a certain number of times or until a certain condition is met. Figure 3.4 shows a part of the flowchart of problem 6 in chapter 2, where Sum is the sum of series, T is the value of the current term, and N is the current number of terms. The corresponding pseudocode is shown in figure 3.5, where statement

Perform steps 3 through 4 until T is less than 0.01 Shows the iteration control structure under pseudocode for the given problem. Here statements 3 and 4 are repeated until T is less than 0.01.

Figure 3.4 A Part of flowchart solution for problem 2.6.

1. Initialize the Sum: Sum = 0 2. Initialize the number of terms N, then find the corresponding term T: N=1 T = 1/N 3. Add the new term to Sum: Sum = Sum + T 4. Increment the number of terms N, then find the corresponding term T: 5. IF T<0.01 Then Go to step 6 Else Perform steps 3 through 4 until T is less than 0.01 END IF 6. Stop processing

Figure 3.5 Pseudocode corresponding to figure 3.4.

3.5 Advantages and disadvantages of Pseudocode

Some of advantages of pseudocode are : It is simple because it uses English-like statements. No special symbols are used. No specific syntax is used. It is very easy to translate its statements to that for high level languages on a one-for-one basis. The main disadvantages of pseudocode is that : It can be quite lengthy for complex problems.

3.6 SOME EXAMPLES ON PSEUDOCODING

Example 3-1 Write a pseudocode to represent the process of reading two numbers,

dividing them, and then displaying the result.


Note that: the corresponding flowchart is given in example 2.3.

Solution:
1. Input (Read) the first number number1. 2. Input (Read) the second number number2. 3. IF the value of number1 = that of number2 Then Print Division is impossible because number2 is zero Go to step 4 ELSE result = number1 / number2 Print number1, number2, and result END IF 4. Stop processing.

Figure 3.6 Pseudocode corresponding to example 3.1.

Note that in the given pseudocode, after first printing statement , we jump to label 4 to terminate the program.

Example 3-2 Write a pseudocode to find the sum of first 100 natural numbers. This means that you want to find Sum where Sum is given by Sum = 1 + 2 + 3+...........................................+ 99 + 100 Note that: the corresponding flowchart is given in example 2..

Solution:
1. Initialize the Sum: Sum = 0 2. Initialize the term number N, which is the term itself: N=0 3. Increment the term number: N=N+1 4. Add the new term to Sum: Sum = Sum + N 5. IF N= 100 Then Go to step 6 Else Perform steps 3 through 4 until N is equal to 100 END IF 6. Print an output line showing the sum of the first 100 terms of the series 7. Stop processing

Figure 3.7 Pseudocode corresponding to example 3.2.

You have to note that


N=N+1

is not a mathematical expression, but it is an assignment statement. The s correct grammatical form ( syntax) of the assignment statement is given by
VariableName = expression

which means that at first we calculate the value of the expression then store it in the variable which name is written to the left of the equal sign. Returning back to statement
N=N+1

this statement means add one to the contents of variable N, then store the result into variable N, which means increment the value stored in variable N. By the same way we can say that
Sum = Sum + N

means that add the current value of Sum to N, then store the result into Sum.

Example 3-3 Write a pseudocode to find the sum of first 25 odd natural numbers numbers. This mean that we want to find Sum, where Sum is given by Sum = 1 + 3 + 5 here we add 25 odd natural numbers numbers. Note that the corresponding flowchart is given in example 2..

Solution:
1. Initialize the Sum: Sum = 0 2. Initialize the number of terms N, and the first term T: N=0 T=1 3. Add the new term to Sum: Sum = Sum + T 4. Increment the number of terms by 1, and the term value by 2: N=N+1 T=T+2 5. IF N = 25 Then Go to step 6 Else Perform steps 3 through 4 until T is less than 0.01 END IF 6. Print an output line showing the sum of the first 25 odd terms of the series series. 7. Stop processing processing.

Figure 3. Pseudocode corresponding to example 3..

Example 3-4 Write a pseudocode to find the sum of all terms of the following series greater than or equal to 0.01.

1 2

1 3

1 4

1 5

Note that the corresponding flowchart is given in example 2..

Solution:
1. Initialize the Sum: Sum = 0 2. Initialize the number of terms N, then find the corresponding term T: N=1 T = 1/N 3. Add the new term to Sum: Sum = Sum + T 4. Increment the number of terms N, then find the corresponding term T: N=N+1 T = 1/N 5. IF T<0.01 Then Go to step 6 Figure 3.8 Pseudocode corresponding to problem 3.3. Else Perform steps 3 through 4 until T is less than 0.01 END IF 6. Print an output line showing the sum of all terms until we reach a term which value is less than 0.01 7. Stop processing.

Figure 3.9 Pseudocode corresponding to example 3.4.

Example 3-5 Write a pseudocode to find the largest of three numbers A, B, and C. Note that the corresponding flowchart is given in example 2.7.

Solution:
1. Input (Read) the values of three numbers A, B, and C Initialize the Sum: 2. IF the value of A > that of B Then Go to step 3 ELSE Go to step 4 END IF 3. IF the value of A > that of C Then Print The maximum value is that of A Go to step 5 ELSE Print The maximum value is that of C Go to step 5 END IF 4. IF the value of B > that of C Then Print The maximum value is that of B Go to step 5 ELSE Print The maximum value is that of C END IF 5. Stop Processing

Figure 3.10 Pseudocode corresponding to example 3.5.

Note that in the given pseudocode, after each printing statement , we jump to label 5 to terminate processing except at the printing statement just before the Stop Processing statement, because the Stop Processing statement will be executed automatically for this printing statement.

Example 3-6 Ahlia Company desires to generate its payroll via computer. The

information collected every payroll period includes the employee social


security number, pay rate, and hours worked. The payroll department would like a report listing these items in addition to overtime pay, gross pay, tax withheld (20% of gross pay), and net pay. Note that the employee should be given overtime pay 1.5 of pay rate in case that he worked a number of hours greater than 150 hours per month. Write a pseudocode to process all employees and prints out Social Security Number , Pay Rate, Hours Worked, Gross Pay, Tax, and Net Pay for each employee. Note that the corresponding flowchart is given in example 2.8.

Solution:
1. Input the employees payroll data: Social Security Number (SSN) Pay Rate (PR) Hours Worked (HW) 2. IF Hours Worked is greater than 150 Then Overtime Pay = ((Hours Worked) 150) * 1.5 * (Pay Rate) Gross Pay = 150 * (Pay Rate) + (Overtime Pay) ELSE Gross Pay = (Pay Rate) * (Hours Worked) END IF

3. Tax = 0.20 * (Gross Pay Gross Pay) 4. Net Pay = (Gross Pay ) TAX 5. Write report for the employee including the following items: 1. Social Security Number 2. Pay Rate 3. Hours Worked 4. Gross Pay 5. Tax 6. Net Pay 6. IF the employee is the last one Then Go To Step 7 ELSE Perform steps 1 though 5 until the last employee is processed END IF 7. Stop Processing.

Figure 3.11 Pseudocode corresponding to example 3.6 1 6 .

Example 3-7 The manager of your company has requested a report from the Personnel Department about all employees . The report should include the following information:
12-

The total number of males and females. The number of employees by the following age categories:
a. b. c. d. e. f.

Less than 20 20-29 30-39 40-49 50-60 Over 60

3-

The total number of people who have been working for the

company for 10 years or more.


4-

The total number of engineers.

Write down the needed pseudocode. Note that the corresponding flowchart is given in example 2.9.

Solution:
1. Set all counters to zero: Male_count = Female_count = over_60 = 50_60 = 40_49 = 0 30_39 = 20_29 = under_20 = 10_YR = ENG = 0 2. Input todays date and store it in variable Today

3. Input all data for a single employee: Birthday date Sex code Occupation code Date of employment 4. IF sex code is Male Then Male_count = Male_count + 1 ELSE Female_count = Female_count + 1 END IF 5. Calculate the employees age: Age = (Todays date) (Birthday date) 6. IF employees age greater than 60 Then Over_60 = Over_60 + 1 Go to 12 END IF 7. IF employees age greater than 50 Then 50_60 = 50_60 + 1 Go to 12 END IF 8. IF employees age greater than 40 Then 40_49 = 40_49 + 1 Go to 12 END IF 9. IF employees age greater than 30 Then 30_39 = 30_39 + 1 Go to 12 END IF 10. IF employees age greater than 20 Then 20_29 = 20_29 + 1 Go to 12 END IF

11. IF employees age less than 20 Then under_20 = under_20 + 1 END IF 12. Find the period of employment and store it in variable X: X = Today (Date of employment) 13. IF X is greater than or equal to 10 Then 10_Yr = 10_Yr + 1 END IF 14. IF occupation code = ENG Then ENG = ENG + 1 END IF 15. IF this is the last employee Then Print a report showing all the needed statistics. ELSE Perform steps 3 through 14 until all employees are processed. END IF 16. Stop processing.

Figure 3.12 Pseudocode corresponding to example 3.7.

Note that Male_count, Female_count, 10_YR, and ENG are variables used to store the number of males, females, employees who have been working for the company for 10 years or more, and Engineers working for the company.

Example 3-8 Write down a pseudocode to solve an equation of second order given by: 0 Given that its roots
,

and 4

are given by . 3.1

where a, b, and c are real numbers. You have to take into consideration the following: 2. If 4 is negative , you have to say that we have complex roots. 4 is equal to zero the two roots are equal to b/2a. 3. If 4. If ( 4 ) greater than zero the solution will given by equation 3.1. Note that the corresponding flowchart is given in example 2.10.

Solution

1. Input the values of a, b, and c. 2. Calculate y where y is given by: 3. IF y 0 Then IF y > 0 Then

ELSE

END IF ELSE Print The roots are complex. Go To Step 5 END IF 4. Print the values of 5. Stop processing. .

Figure 3.13 Pseudocode corresponding to example 3.8.

3-7 Questions
Question 1: Write a pseudocode for flowchart shown in Figure 3.14

Figure 3.14 Flowchart for problem 1.

Question 2: Write a pseudocode to read the ages of Hany and Hesham , then it prints the name of the elder. (The corresponding flowchart is the solution of problem 2-2)

Question 3: Write a pseudocode that reads a temperature in Fahrenheit F degrees and convert it into Celsius C degrees, using the formula

(The corresponding flowchart is the solution of problem 2-3 )

Question 4: Write a pseudocode that reads the radius of a sphere r, then it calculates its volume V and surface area A using formulas

where

If the read radius is negative, the code should print a warning message that states that the radius should be positive, and then terminates.

Question 5: Write a pseudocode that reads number x, then it calculate the value of function y using the formula
..

Where we add 100 terms.

Вам также может понравиться