# CA211 Fundamentals of Computer Programming by yurtgc548

VIEWS: 2 PAGES: 26

• pg 1
```									CA211 Fundamentals of
Computer Programming

Wednesday Week1
Lecture: Algorithms

[   B.Sc. in Enterprise Computing ]
Intro

      What is an algorithm?

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   2
Algorithm definition

      A set of steps or rules
      The steps involved in finding the
solution to a problem or calculation

      Problem solving steps/instructions!

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   3
In programming…

      Instructions that a human could do
      But computers do faster and don’t get
bored!

      Programming is finding ways for
computers to do the boring, repetitive
or difficult work for us
Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   4
In programming…

      What could you use an algorithm for?
or
      Give an example of an algorithm.

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   5
Algorithms so far

      You have already come across
algorithms!
     Kind of like the ∑ sum function in a
     Finding your perfect match online!

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   6
Preparing for programming

      Fail to prepare = prepare to fail

      Preparing = working out the steps
      Meaning… working out the algorithm

      This is very important!

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   7
Problem Solving and
Programming

1.     Identify the problem(s) to be solved
2.     Note down what you already know
3.     Outline the steps for solving the
problem on paper in English
4.     Write comments for each step in your
file in order
5.     Write the code, compile, run and
debug
Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   8
Problem Solving and
Programming

      Each solution must be
     Unambiguous
     Executable
     Terminating

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   9
Unambiguous

      Precise instructions
      No guesswork
      No creativity

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   10
Executable

      If you don’t give the human enough
information he/she won’t be able to
figure it out
      Likewise…
      If you don’t give the computer enough
information…
      It doesn’t have real world knowledge!
Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   11
Terminating

      Take care your program won’t get
stuck in an infinite loop

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   12
Remember…

        Never start to write a Java program,
before you have worked out (on paper
program should do

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   13
Remember…

      If you cannot find or write an algorithm,
you cannot use the computer to solve

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   14
Remember…

      The more time you spend working out
the algorithm for a problem, the better
the program you write will be

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   15
Problem Solving

      Get into groups
      Attempt the following logic puzzles
      For each you must
     Discuss and resolve the puzzle
     Write out the steps involved in solving the
problem

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   16
1a: Truth
      A. The number of false statements here is one.

B. The number of false statements here is two.

C. The number of false statements here is three.

D. The number of false statements here is four.

Which of the above statements is true?

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   17
1a: Solution

C
Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   18
Working it out in steps

      1. Assume statement A is true. If this is
true, then there is only one false
statement. This means that there are
three true statements. This cannot be
the case because if A is true, B, C or D
cannot be true.

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   19
Working it out in steps

      2. Assume statement B is true. If so,
then there is one other true
statement apart from B itself. This
cannot be the case because A, C

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   20
Working it out in steps

      3. Assume statement C is true. If so,
then there is only one statement
which is true which is C. A, B and D
must be false which makes C true.

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   21
Working it out in steps

      4. Assume statement D is true. If so,
then there are no true statements. But
this cannot be the case if D is true.

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   22
Working it out in steps

      5. Only one of the following
assumptions (C is true) does not lead
to a contradiction. Therefore C must
be true.

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   23
Milking it

      A milkman has two empty jugs: a three
gallon jug and a five gallon jug. How
can he measure exactly one gallon
without wasting any milk?

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   24
Working it out

Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   25
Working it out in an algorithm

1.       Fill the 3 gallon jug.
2.       Pour the liquid from the 3 gallon jug
into the 5 gallon jug.
3.       Fill the 3 gallon jug again.
4.       Pour as much liquid as will fit into the
5 gallon jug. What's left in the 3 gallon
jug is one gallon.
Wed, 28th September 2011   Sara Morrissey and Jennifer Foster   26

```
To top