Algorithms & Pseudocode
BY M. QURESHI
 A typical programming task can be divided into two phases:
 Problem solving phase
 produce an ordered sequence of steps that describe solution of problem
 this sequence of steps is called an algorithm
 Implementation phase
 implement the program in some programming language
Steps in problem Solving
 Produce a general Algorithm
 Refine the algorithm Successively to get step by step detailed algorithm
that is very close to a computer language.
 Pseudocode is an artificial and informal language that helps programmers
develop algorithms Pseudocode is very similar to everyday English
Pseudocode
 The first thing we do when designing a program is to decide
on a name for the program
 Let’s say we want to write a program to calculate interest, a
good name for the program would be CalculateInterest.
 Note the use of CamelCase.
 Pseudocode is used to represent the logic of the solution to a problem.
 Once the pseudocode is verified, it can be converted into a program using the
vocabulary and syntax of a programming language
 Keywords in Pseudocode.
 Begin … End: these keywords are used to start and finish pseudocode. Begin is
the first line and end is the last line of pseudocode.
 Accept: This keyword is used to obtain an input from a user.
 Display: this keyword is used to present a result or an output.
 If .. Else .. End if : These keywords are used in decision-making.
 //: Comment
 Do .. While, for … repeat … until : Represent loop
So we start the program as :
 Program CalculateInterest:
 And in general it’s :
 Our Program will finish with the following
 END.
PROGRAM <ProgramName>:
END.
So let’s say we want to express the
following algorithm
 Read in a number and print it out double the number.
PROGRAM PrintDoubleNumber:
Read A;
B = A*2;
Print B;
End.
So let’s say we want to express the
following algorithm
 Read in a number, check if it is odd or even.
PROGRAM IsOddOrEven:
Read A;
If (A/2 gives a remainder)
Then Print “Its’s Odd”;
Else Print ”It’s Even”;
EndIf;
End.
So let’s say we want to express the following
algorithm to print out the bigger of two
numbers:
 Read in two numbers, call them A and B. Is A is bigger than B, print out A,
otherwise print out B.
PROGRAM PrintBiggerOfTwo:
Read A;
Read B;
If (A>B)
Then Print A;
Else Print B;
EndIf;
End.
So let’s say we want to express the following
algorithm to print out the bigger of three
numbers:
 Read in three numbers, call them A, B and C.
 If A is bigger than B, then if A is bigger than C, print out A, otherwise print out C.
 If B is bigger than A, then if B is bigger than C, print out B, otherwise print out C.
PROGRAM BiggerOfThree:
Read A;
Read B;
Read C;
If (A>B)
then If (A>C)
Then Print A;
Else Print B;
End If;(B>C)
Then Print B;
Else Print C;
End If;
End If;
End.
So let’s say we want to express the
following algorithm:
 Print out the numbers from 1 to 5
PROGRAM Print1to5:
A=1;
WHILE ( A !=6)
Do Print A;
A= A+1;
ENDWHILE;
End.
So let’s say we want to express the
following algorithm:
 – Add up the numbers 1 to 5 and print out the result
PROGRAM PrintSum1to5:
Total =0;
A=1;
WHILE ( A !=6)
Do Total = total +A;
A= A+1;
ENDWHILE;
Print Total;
End.
So let’s say we want to express the
following algorithm:
 – Read in a number and check if it’s a prime number.
 What’s a prime number?
 – A number that’s only divisible by itself and 1, e.g. 7.
 Or to put it another way, every number other than itself and 1 gives a remainder,
e.g. For 7, if 6, 5, 4, 3, and 2 give a remainder then 7 is prime.
 – So all we need to do is divide 7 by all numbers less than it but greater than one,
and if any of them have no remainder, we know it’s not prime.
 So,
 If the number is 7, as long as 6, 5, 4, 3, and 2 give a remainder, 7 is prime.
 If the number is 9, we know that 8, 7, 6, 5, and 4, all give remainders, but 3 does
not give a remainder, it goes evenly into 9 so we can say 9 is not prime.
 So remember, – if the number is 7, as long as 6, 5, 4, 3, and 2 give a remainder,
prime.
 So, in general, – if the number is A, as long as A-1, A-2, A-3, A4, ... 2 give a
remainder, A is prime.
PROGRAM prime:
Read A;
B = A-1;
IsPrime = True;
While(B !=1)
DO IF ( A/B gives no remainder)
THEN IsPrime = false;
End If
B=B-1;
ENDWHILE;
If(IsPrime ==true)
Then Print “Prime”;
Else Print “Not Prime”;
EndIf;
End.
Write Algorithm & Pseudocode & then
Actual Code
Write a Program to Reverse an Integer
// --- Directions
// Given an integer, return an integer that is the reverse
// ordering of numbers.
// --- Examples
// reverseInt(15) === 51
// reverseInt(981) === 189
// reverseInt(500) === 5
// reverseInt(-15) === -51
// reverseInt(-90) === -9
Write a Program to Reverse a String
// --- Directions
// Given a string, return a new string with the reversed
// order of characters
// --- Examples
// reverse('apple') === 'leppa'
// reverse('hello') === 'olleh'
// reverse('Greetings!') === '!sgniteerG'
Write a program to Find Palindromes
 // --- Directions
 // Given a string, return true if the string is a palindrome
 // or false if it is not. Palindromes are strings that
 // form the same word if it is reversed. *Do* include spaces
 // and punctuation in determining if the string is a palindrome.
 // --- Examples:
 // palindrome("abba") === true
 // palindrome("abcdefg") === false
Write a Program that will capitalize a
sentence
 // --- Directions
 // Write a function that accepts a string. The function should
 // capitalize the first letter of each word in the string then
 // return the capitalized string.
 // --- Examples
 // capitalize('a short sentence') --> 'A Short Sentence'
 // capitalize('a lazy fox') --> 'A Lazy Fox'
 // capitalize('look, it is working!') --> 'Look, It Is Working!'
Write a function that returns the number
of vowels
 // --- Directions
 // Write a function that returns the number of vowels
 // used in a string. Vowels are the characters 'a', 'e'
 // 'i', 'o', and 'u'.
 // --- Examples
 // vowels('Hi There!') --> 3
 // vowels('Why do you ask?') --> 4
 // vowels('Why?') --> 0

Algorithm and psuedocode

  • 1.
  • 2.
     A typicalprogramming task can be divided into two phases:  Problem solving phase  produce an ordered sequence of steps that describe solution of problem  this sequence of steps is called an algorithm  Implementation phase  implement the program in some programming language
  • 3.
    Steps in problemSolving  Produce a general Algorithm  Refine the algorithm Successively to get step by step detailed algorithm that is very close to a computer language.  Pseudocode is an artificial and informal language that helps programmers develop algorithms Pseudocode is very similar to everyday English
  • 4.
    Pseudocode  The firstthing we do when designing a program is to decide on a name for the program  Let’s say we want to write a program to calculate interest, a good name for the program would be CalculateInterest.  Note the use of CamelCase.
  • 5.
     Pseudocode isused to represent the logic of the solution to a problem.  Once the pseudocode is verified, it can be converted into a program using the vocabulary and syntax of a programming language  Keywords in Pseudocode.  Begin … End: these keywords are used to start and finish pseudocode. Begin is the first line and end is the last line of pseudocode.  Accept: This keyword is used to obtain an input from a user.  Display: this keyword is used to present a result or an output.  If .. Else .. End if : These keywords are used in decision-making.  //: Comment  Do .. While, for … repeat … until : Represent loop
  • 6.
    So we startthe program as :  Program CalculateInterest:  And in general it’s :  Our Program will finish with the following  END. PROGRAM <ProgramName>: END.
  • 7.
    So let’s saywe want to express the following algorithm  Read in a number and print it out double the number. PROGRAM PrintDoubleNumber: Read A; B = A*2; Print B; End.
  • 8.
    So let’s saywe want to express the following algorithm  Read in a number, check if it is odd or even. PROGRAM IsOddOrEven: Read A; If (A/2 gives a remainder) Then Print “Its’s Odd”; Else Print ”It’s Even”; EndIf; End.
  • 9.
    So let’s saywe want to express the following algorithm to print out the bigger of two numbers:  Read in two numbers, call them A and B. Is A is bigger than B, print out A, otherwise print out B. PROGRAM PrintBiggerOfTwo: Read A; Read B; If (A>B) Then Print A; Else Print B; EndIf; End.
  • 10.
    So let’s saywe want to express the following algorithm to print out the bigger of three numbers:  Read in three numbers, call them A, B and C.  If A is bigger than B, then if A is bigger than C, print out A, otherwise print out C.  If B is bigger than A, then if B is bigger than C, print out B, otherwise print out C.
  • 11.
    PROGRAM BiggerOfThree: Read A; ReadB; Read C; If (A>B) then If (A>C) Then Print A; Else Print B; End If;(B>C) Then Print B; Else Print C; End If; End If; End.
  • 12.
    So let’s saywe want to express the following algorithm:  Print out the numbers from 1 to 5 PROGRAM Print1to5: A=1; WHILE ( A !=6) Do Print A; A= A+1; ENDWHILE; End.
  • 13.
    So let’s saywe want to express the following algorithm:  – Add up the numbers 1 to 5 and print out the result PROGRAM PrintSum1to5: Total =0; A=1; WHILE ( A !=6) Do Total = total +A; A= A+1; ENDWHILE; Print Total; End.
  • 14.
    So let’s saywe want to express the following algorithm:  – Read in a number and check if it’s a prime number.  What’s a prime number?  – A number that’s only divisible by itself and 1, e.g. 7.  Or to put it another way, every number other than itself and 1 gives a remainder, e.g. For 7, if 6, 5, 4, 3, and 2 give a remainder then 7 is prime.  – So all we need to do is divide 7 by all numbers less than it but greater than one, and if any of them have no remainder, we know it’s not prime.
  • 15.
     So,  Ifthe number is 7, as long as 6, 5, 4, 3, and 2 give a remainder, 7 is prime.  If the number is 9, we know that 8, 7, 6, 5, and 4, all give remainders, but 3 does not give a remainder, it goes evenly into 9 so we can say 9 is not prime.  So remember, – if the number is 7, as long as 6, 5, 4, 3, and 2 give a remainder, prime.  So, in general, – if the number is A, as long as A-1, A-2, A-3, A4, ... 2 give a remainder, A is prime.
  • 16.
    PROGRAM prime: Read A; B= A-1; IsPrime = True; While(B !=1) DO IF ( A/B gives no remainder) THEN IsPrime = false; End If B=B-1; ENDWHILE; If(IsPrime ==true) Then Print “Prime”; Else Print “Not Prime”; EndIf; End.
  • 17.
    Write Algorithm &Pseudocode & then Actual Code Write a Program to Reverse an Integer // --- Directions // Given an integer, return an integer that is the reverse // ordering of numbers. // --- Examples // reverseInt(15) === 51 // reverseInt(981) === 189 // reverseInt(500) === 5 // reverseInt(-15) === -51 // reverseInt(-90) === -9
  • 18.
    Write a Programto Reverse a String // --- Directions // Given a string, return a new string with the reversed // order of characters // --- Examples // reverse('apple') === 'leppa' // reverse('hello') === 'olleh' // reverse('Greetings!') === '!sgniteerG'
  • 19.
    Write a programto Find Palindromes  // --- Directions  // Given a string, return true if the string is a palindrome  // or false if it is not. Palindromes are strings that  // form the same word if it is reversed. *Do* include spaces  // and punctuation in determining if the string is a palindrome.  // --- Examples:  // palindrome("abba") === true  // palindrome("abcdefg") === false
  • 20.
    Write a Programthat will capitalize a sentence  // --- Directions  // Write a function that accepts a string. The function should  // capitalize the first letter of each word in the string then  // return the capitalized string.  // --- Examples  // capitalize('a short sentence') --> 'A Short Sentence'  // capitalize('a lazy fox') --> 'A Lazy Fox'  // capitalize('look, it is working!') --> 'Look, It Is Working!'
  • 21.
    Write a functionthat returns the number of vowels  // --- Directions  // Write a function that returns the number of vowels  // used in a string. Vowels are the characters 'a', 'e'  // 'i', 'o', and 'u'.  // --- Examples  // vowels('Hi There!') --> 3  // vowels('Why do you ask?') --> 4  // vowels('Why?') --> 0