




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
A comprehensive guide on constructing algorithms and pseudocoding, developed by Professor John P. Russo. It covers the methodology for understanding problems, refining plans, and translating them into pseudo-code, as well as the importance of writing clear algorithms for efficient programming. The document also includes examples and explanations of variables, relations, and logical operations, and various types of pseudocode statements.
What you will learn
Typology: Study notes
1 / 8
This page cannot be seen from the preview
Don't miss anything!
Purpose:
Constructing Algorithms
1) Understand the problem
A common mistake is to start writing an algorithm before the problem to be solved is fully understood. Among other things, understanding the problem involves knowing the answers to the following questions.
a) What is the input list, i.e. what information will be required by the algorithm?
b) What is the desired output or result?
c) What are the initial conditions?
2) Devise a Plan
The first step in devising a plan is to solve the problem yourself. Arm yourself with paper and pencil and try to determine precisely what steps are used when you solve the problem "by hand". Force yourself to perform the task slowly and methodically -- think about <
Using the information gleaned from solving the problem by hand, devise an explicit step-by-step method of solving the problem. These steps can be written down in an informal outline form -- it is not necessary at this point to use pseudo-code.
3) Refine the Plan and Translate into Pseudo-Code
The plan devised in step 2) needs to be translated into pseudo-code. This refinement may be trivial or it may take several "passes".
4) Test the Design
Using appropriate test data, test the algorithm by going through it step by step. Think about ordinary sets of input data as well as those which are "degenerate". If you find errors correct them. If serious errors are found, it may be necessary to scrap your pseudo-code and go back to step 2).
An Informal Language for Writing Algorithms (Pseudocoding)
produces a desired result.
Problem analysis Algorithm construction Translation of algorithm into programming language Testing and debugging of the program
this course!
programmer will probably spend excessive amounts of time debugging, i.e. finding and fixing errors in the program.
language which is powerful, concise, and easy to translate into the Turbo Pascal programming language. We will refer to this language as pseudocode. The textbook also discusses pseudocode, as well as flowcharts, which are another way of describing algorithms.
and definitions that will be used below.
Example 1: An algorithm that asks for a number, then prints its square.
print "Enter a number" read N print "The square of " N " is " N * N
Example 2: An algorithm that asks for a number, then tells whether it is odd or even.
print "Enter a number" read Number if Number mod 2 = 0 then print N "is even" else print N "is odd" end if
Relations and Logical Operations
The following relations can be used
= equal <> not equal < less than <= less than or equal
greater than = greater than or equal
More sophisticated checks can be made by using the logical operations, AND, OR and NOT. For example, expressions such as
A > 0 AND A < 10
are allowed.
Pseudo code Statements
At first, our language will have 6 types of statements. These are described below.
assign X the value 0 set X to 0 X := 0 X = 0
In examples, the last notation is used, but any of the above are acceptable.
Examples of assignment statements:
N = 0 N = N + 1
Examples of input statements.
input X input Number read Number
There are two sorts of items which we will need to display.
a) The value of a variable or expression. b) A string of characters.
Several kinds of notation can be used to display the value of a variable X. These include
output X display X write X print X
Examples 1: print "Hello"
Example 2: print "The value of X is " X
if
The "end if" serves a delimiter, to mark the end of the statements to be executed if the condition is true.
Example 1: if Sum > 0 then print "The sum is positive" end if
Example 2: if N < 0 then print "Please enter a positive number" input N end if
repeat
It is important to note that the statements in the repeat loop body are always executed at least once.
Example: Algorithm to read integers entered by user and find the sum. Input ends when a non-positive number is entered.
print "This algorithm adds numbers that you enter." print "Enter 0 or negative number to end." Sum = 0
repeat print "Enter next number" input N Sum = Sum + N until N <= 0
print "The sum of the numbers you entered is " Sum
for i = 1 to 10
The loop variable "i" is automatically incremented by 1, every time the loop is executed. Example: Algorithm to read 10 integers entered by user and find their sum. Input ends after the 10th. number is entered.
print "This algorithm adds 10 numbers that you enter." Sum = 0
for i = 1 to 10 print "Enter a number" input N Sum = Sum + N end for
print "The sum of the numbers you entered is " Sum
Tips On Loop Selection
The REPEAT LOOP is usually best if you are constructing a loop that will execute indefinite number of times, but at least once. (Repeat 1 or more times)
The WHILE LOOP is usually best if you are constructing a loop that will execute indefinite number of times, and possibly not at all. (Repeats 0 or more times)
The FOR LOOP is usually best if you are constructing a loop, and you know exactly how many times the loop has to execute.
More Algorithm Examples
List_Size = 10 Sum = 0 while List_Size > 0 input N Sum = Sum + N List_Size = List_Size - 1 end while print "The sum is " Sum
algorithm Guess_The_Secret_Character print "I'm thinking of a secret character -- what is it? " read Guess if Guess = "H" or Guess = "h" then print "What a guesser! You are correct!" else print "The last name of one of your instructors begins with this character." print "What is your second guess? " read Guess if Guess = "H" or Guess = "h" then print "This time you are correct!" else print "Sorry, you were wrong again. The secret character is H" end if end if end Guess_The_Secret_Character