meljun cortes algorithm pseudo code
DESCRIPTION
MELJUN CORTES Algorithm Pseudo CodeTRANSCRIPT
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 1
An algorithm is a procedure for solving a problem in terms of the actions to be executed and
the order in which those actions are to be executed. An algorithm is merely the sequence of
steps taken to solve a problem. The steps are normally "sequence," "selection, " "iteration,"
and a case-type statement.
In C, "sequence statements" are imperatives. The "selection" is the "if then else" statement,
and the iteration is satisfied by a number of statements, such as the "while," " do," and the
"for," while the case-type statement is satisfied by the "switch" statement.
Pseudocode is an artificial and informal language that helps programmers to develop
algorithms. Pseudocode is a "text-based" detail (algorithmic) design tool.
The rules of Pseudocode are reasonably straightforward. All statements showing
"dependency" are to be indented. These include while, do, for, if, switch. Examples below
will illustrate this notion.
GUIDE TO PSEUDOCODE LEVEL OF DETAIL: Given record/file descriptions,
pseudocode should be created in sufficient detail so as to directly support the programming
effort. The purpose of pseudocode is to elaborate on the algorithmic detail and not just cite an
abstraction.
There is not fixed rule for writing the PseudoCode. It differers from one company to another,
however there is certain basic Pseudocode standard as follows:
1. Write only one statement per line.
2. Capitalize keyword used for Pseudocode, like READ, PRINT etc
3. Start all the sequences from same column in case of without use of selection(i.e. body
of if, for , while etc)
4. Make Pseudocode as Programming language independent.
SEQUENCE
Sequential control is indicated by writing one action after another, each action on a line by
itself, and all actions aligned with the same indent. The actions are performed in the sequence
(top to bottom) that they are written.
Example (non-computer)
1. Brush teeth
2. Wash face
3. Comb hair
4. Smile in mirror
How To WRITE PseudoCode? Example
1. READ height of rectangle
2. READ width of rectangle
3. COMPUTE area as height times width
Common Action Keywords
Several keywords are often used to indicate common input, output, and processing
operations.
Input: READ, OBTAIN, GET
Output: PRINT, DISPLAY, SHOW
Compute: COMPUTE, CALCULATE, DETERMINE
Initialize: SET, INIT
Add one: INCREMENT, BUMP
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 2
A computer can perform arithmetic operation.
A programmer may use actual mathematical symbols or the words for those symbols.
For example: "Add score to total_score" is same as "total_score = total_score + score"
(programming languages use mathematical equations to assign values to memory
locations. In this case, a new value of total_score is assigned to a memory location
named total_score by adding score to the current (not new) value of total_score)
The following symbols can be used in pseudocode: + for Add, - for Subtract, * for
Multiply, / for Divide, ( ) for Parentheses
For more example:
o Divide total_score by student_count
o class_average = total_score / student_count
o Compute C = (F - 32) * 5 / 9
When writing mathematical calculation for the computer, the order of operation
should be considered; otherwise you may end up with incorrect values.
The order of operators are following:
1. ( ) : Values within parentheses are always evaluated first.
2. ^ : Exponentiation (raising a number to a power) is second.
3. - : Negation (creating a negative number) is third.
4. * and / : Multiplication or division is fourth.
5. \ : Integer division (a.k.a. Div) is fifth.
6. Mod : Remainder division is sixth.
7. + or - : Addition and subtraction are last.
Example: For an expression Total = 10 + 15 * 2 / 4 ^ 2 -(2 + 3) , the order of
computation is following:
0. Total = 10 + 15 * 2 / 4 ^ 2 -(2 + 3)
1. Total = 10 + 15 * 2 / 4 ^ 2 -(5)
2. Total = 10 + 15 * 2 / 16 -(5) ( 5 as a negative value)
3. Total = 10 + 15 * 2 / 16 - 5
4. Total = 10 + 30 / 16 - 5
5. Total = 10 + 1.875 - 5
6. Total = 11.875 - 5
7. Total = 6.875
IF-THEN-ELSE
Binary choice on a given Boolean condition is indicated by the use of four keywords: IF,
THEN, ELSE, and ENDIF. The general form is:
CODE: SELECT ALL
IF condition THEN
sequence 1
ELSE
sequence 2
ENDIF
The ELSE keyword and "sequence 2" are optional. If the condition is true, sequence 1 is
performed, otherwise sequence 2 is performed.
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 3
Example
CODE: SELECT ALL
IF HoursWorked > NormalMax THEN
Display overtime message
ELSE
Display regular time message
ENDIF
The Repetition structure can be implemented using
• Repeat Until Loop
• The While Loop
• The For Loop
WHILE The WHILE construct is used to specify a loop with a test at the top. The beginning and
ending of the loop are indicated by two keywords WHILE and ENDWHILE. The general
form is:
CODE: SELECT ALL
WHILE condition
sequence
ENDWHILE
The loop is entered only if the condition is true. The "sequence" is performed for each
iteration. At the conclusion of each iteration, the condition is evaluated and the loop
continues as long as the condition is true.
Example
CODE: SELECT ALL
WHILE Population < Limit
Compute Population as Population + Births - Deaths
ENDWHILE
Example
CODE: SELECT ALL
WHILE employee.type NOT EQUAL manager AND personCount < numEmployees
INCREMENT personCount
CALL employeeList.getPerson with personCount RETURNING employee
ENDWHILE
CASE A CASE construct indicates a multiway branch based on conditions that are mutually
exclusive. Four keywords, CASE, OF, OTHERS, and ENDCASE, and conditions are used to
indicate the various alternatives. The general form is:
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 4
CODE: SELECT ALL
CASE expression OF
condition 1 : sequence 1
condition 2 : sequence 2
...
condition n : sequence n
OTHERS:
default sequence
ENDCASE
The OTHERS clause with its default sequence is optional. Conditions are normally numbers
or characters
indicating the value of "expression", but they can be English statements or some other
notation that specifies the condition under which the given sequence is to be performed. A
certain sequence may be associated with more than one condition.
Example
CODE: SELECT ALL
CASE Title OF
Mr : Print "Mister"
Mrs : Print "Missus"
Miss : Print "Miss"
Ms : Print "Mizz"
Dr : Print "Doctor"
ENDCASE
Example
CODE: SELECT ALL
CASE grade OF
A : points = 4
B : points = 3
C : points = 2
D : points = 1
F : points = 0
ENDCASE
REPEAT-UNTIL This loop is similar to the WHILE loop except that the test is performed at the bottom of the
loop instead of at the top. Two keywords, REPEAT and UNTIL are used. The general form
is:
CODE: SELECT ALL
REPEAT
sequence
UNTIL condition
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 5
The "sequence" in this type of loop is always performed at least once, because the test is
peformed after the sequence is executed. At the conclusion of each iteration, the condition is
evaluated, and the loop repeats if the condition is false. The loop terminates when the
condition becomes true.
FOR This loop is a specialized construct for iterating a specific number of times, often called a
"counting" loop. Two keywords, FOR and ENDFOR are used. The general form is:
CODE: SELECT ALL
FOR iteration bounds
sequence
ENDFOR
In cases where the loop constraints can be obviously inferred it is best to describe the loop
using problem domain vocabulary.
Example
CODE: SELECT ALL
FOR each month of the year (good)
FOR month = 1 to 12 (ok)
FOR each employee in the list (good)
FOR empno = 1 to listsize (ok)
NESTED CONSTRUCTS The constructs can be embedded within each other, and this is made clear by use of indenting.
Nested constructs should be clearly indented from their surrounding constructs.
Example
CODE: SELECT ALL
SET total to zero
REPEAT
READ Temperature
IF Temperature > Freezing THEN
INCREMENT total
END IF
UNTIL Temperature < zero
Print total
In the above example, the IF construct is nested within the REPEAT construct, and therefore
is indented.
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 6
EXAMPLES of PseudoCode
Example 3: This is the pseudo-code required to input three numbers from the keyboard
and output the result.
Use variables: sum, number1, number2, number3 of type integer
Accept number1, number2, number3
Sum = number1 + number2 + number3
Print sum
End program
Example 4: The following pseudo-code describes an algorithm which will accept two
numbers from the keyboard and calculate the sum and product displaying the answer on
the monitor screen.
Use variables sum, product, number1, number2 of type real
display “Input two numbers”
accept number1, number2
sum = number1 + number2
print “The sum is “, sum
product = number1 * number2
print “The Product is “, product
end program
Note: -The logical operators used in our pseudo-code are
= is equal to
> is greater than
< is less than
>= is greater than or equal
<= is less than or equal
<> is not eaqual to
LOGICAL OPERATORS: AND, OR, NOT
AND: if any of the conditions are false, the whole expression is false.
ex: IF day = “Saturday” AND weather = “sunny”
WRITE “Let‟s go to the beach!”
ENDIF
OR: if any of the conditions are true, the whole expression is true
ex: IF month = “June” OR month = “July” OR month = “August”
WRITE “Yahoo! Summer vacation!”
ENDIF
NOT: reverses the outcome of the expression; true becomes false, false becomes true.
ex: IF day <> “Saturday” AND day <> “Sunday”
WRITE “Yuk, another work day”
ENDIF
Example 5: The following shows how the selection control structure is used in a program
where a user chooses the options for multiplying the numbers or adding them or
subtracting.
Use variables: choice, of the type character
ans, number1, number2, of type integer
display “choose one of the following”
display “m for multiply”
display “a for add”
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 7
display “s for subtract”
accept choice
display “input two numbers you want to use”
accept number1, number2
if choice = m then ans = number1 * number2
if choice = a then ans = number1 + number2
if choice = s then ans = number1 - number2
display ans
Example 6: The program is to input a examination mark and test it for the award of a
grade. The mark is a whole number between 1 and 100. Grades are awarded according to
the following criteria:
>= 80 Distinction
>= 60 Merit
>= 40 Pass
< 40 fail
The pseudo-code is
Use variables: mark of type integer
If mark >= 80 display “distinction”
If mark >= 60 and mark < 80 display “merit”
If mark >= 40 and mark < 60 display “pass”
If mark < 40 display “fail”
Example 8: The following program segment outputs a message to the monitor screen
describing the insurance available according to a category input by the user.
Use variables: category of type character
Display “input category”
Accept category
If category = U
Display “insurance is not available”
Else
If category = A then
Display “insurance is double”
Else
If category = B then
Display “insurance is normal”
Else
If category = M then
Display “insurance is medically dependent”
Else
Display “entry invalid”
This can be expressed in a case statement as follows:
Use variables: category of type character
Display “input category”
Accept category
DO case of category
CASE category = U
Display “insurance not available”
CASE category = A
Display “insurance is double”
CASE category = B
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 8
Display “insurance is normal”
CASE category = M
Display “insurance is medically dependent”
OTHERWISE:
Display “entry is invalid”
ENDCASE
Instead of using the word otherwise, one can use else.
Example 10. A survey has been carried out to discover the most popular sport. The
results will be typed into the computer for analysis. Write a program to accomplish this.
REPEAT
DISPLAY “Type in the letter chosen or Q to finish”
DISPLAY “A: Athletics”
DISPLAY “S: Swimming”
DISPLAY “F: Football”
DISPLAY “B: Badminton”
DISPLAY “Enter data”
ACCEPT letter
If letter = „A‟ then
Athletics = athletics + 1
If letter = „S‟ then
Swimming = Swimming + 1
If letter = „F‟ then
Football = Football + 1
If letter = „B‟ then
Badminton = Badminton + 1
UNTIL letter = „Q‟
DISLAY “Athletics scored”, athletics, “votes”
DISLAY “Swimming scored”, swimming, “votes”
DISLAY “Football scored”, football, “votes”
DISLAY “Badminton scored”, Badminton, “votes”
Example 12: Write a program that will output the square root of any number input until
the number input is zero.
In some cases, a variable has to be initialised before execution of the loop as shown in
the following example.
Use variable: number of type real
DISPLAY “Type in a number or zero to stop”
ACCEPT number
WHILE number <> 0
Square = number * number
DISPLAY “The square of the number is”, square
DISPLAY “Type in a number or zero to stop”
ACCEPT number
ENDWHILE
Example 14: Write a program to calculate the sum and average of a series of numbers.
The pseudo-code solution is:
Use variables: n, count of the type integer
Sum, number, average of the type real
DISPLAY “How many numbers do you want to input”
ACCEPT count
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 9
SUM = 0
FOR (n = 1, n <= count, n + 1)
DISPLAY “Input the number from your list”
ACCEPT number
SUM = sum + number
ENDFOR
Average = sum / count
DISPLAY “The sum of the numbers is “, sum
DISPLAY “Average of the numbers is “, average
Function Calls in Pseudocode
· Calls to Functions should appear as:
Call FunctionName (arguments: field1, field2, etc.)
· Returns in functions should appear as:
Return (field1)
· Function headers should appear as:
FunctionName (parameters: field1, field2, etc. )
· While passing the addresses to Functions.
Note that in C, arguments and parameters such as "fieldn" could be written: "pointer to fieldn
...."
In Java, these could be „references.‟
· Functions called with addresses should be written as:
Call FunctionName (arguments: pointer to fieldn, pointer to field1, etc.)
(or references to fields…..)
· Function headers containing pointers should be indicated as:
FunctionName (parameters: pointer to field1, pointer to field2, ...)
· Returns in functions where a pointer is returned:
Return (pointer to fieldn)
Parameters sent „by Value‟ (C, Java, ….) is the default. If you are passing a pointer
or a reference (C, Java), this should be explicitly indicated as above.
Recursive procedures
Factorial
A classic example of a recursive procedure is the function used to calculate the factorial of a
natural number:
Pseudocode (recursive):
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 10
function factorial is:
input: integer n such that n >= 0
output: [n × (n-1) × (n-2) × … × 1]
1. if n is 0, return 1
2. otherwise, return [ n × factorial(n-1) ]
end factorial
This factorial function can also be described without using recursion by making use of the
typical looping constructs found in imperative programming languages:
Pseudocode (iterative):
function factorial is:
input: integer n such that n >= 0
output: [n × (n-1) × (n-2) × … × 1]
1. create new variable called running_total with a value of 1
2. begin loop
1. if n is 0, exit loop
2. set running_total to (running_total × n)
3. decrement n
4. repeat loop
3. return running_total
end factorial
Pseudocode for Array:
The sorting is a good algorithm to use as a pseudocode example. This snippet will place the
sort inside a function to provide a more extensive example and use c pseudocode as the basis
for the code.
Function sort (array [])
For (i = 1 to length of array-1)
For (j = i+1 to length of arrayi)
If array[j] > array[j + 1]
Swap array[j] and array [j + 1]
End for
End for
End function
NOTE: Just taking above Tips, Try to make Pseudocode for any program which you have
done C. It is not difficult and do not be confused seing different examples done in different
styles. There is no fixed rule for doing Pseudocode, only remember the guidelines as given
above and do your Pseudocode as your style, it doesn‟t matter. The main thing is you should
do the whole process as done in C code taking the above guidelines.
Pseudocode, Algorithm and Flowchart Computer Programming I
Prepared by Om Prakash Mahato 11
Algorithm and Flowchart
Example: Write algorithm and draw a flowchart for the following gerneratin following
pattern.
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
---------------------------
Solution:
Algorithm: 1. Start
2. Declare i,j,n
3. i=1
4. Read n
5. for i<=n Repeat 5.1 to 5.8
5.1 j=1
5.2 for j<=n-I Repeat 5.2.1 and 5.2.1
5.2.1 print “blank space”
5.2.2 j=j+1
5.3 j=1
5.4 for j<=1 Repeat 5.4.1 and 5.4.2
5.4.1 print j with horizontal tab
5.4.2 j=j+1
5.5 j=j-1
5.6 for j>=1 Repeat 5.6.1 and 5.6.2
5.6.1 print j with horizontal tab
5.6.2 j=j-1
5.7 change line
5.8 i=i+1
6 . stop
Flowchart:
Start
Declare i,j and n
Read n