Al-Khwarizmi 2 (Lecture 3 of CSE1301) - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Al-Khwarizmi 2 (Lecture 3 of CSE1301)

Description:

Thing of something romantic to do (e.g. footy, video games, chess) decide on time and location ... The Game of Life. Invented by mathematician John Conway (no ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 33
Provided by: damian6
Category:

less

Transcript and Presenter's Notes

Title: Al-Khwarizmi 2 (Lecture 3 of CSE1301)


1
Al-Khwarizmi 2(Lecture 3 of CSE1301)
  • Dr Damian Conway
  • Room 132, Building 26
  • (Consult hours on the door)

2
Algorithms 2(Lecture 3 of CSE1301)
  • Dr Damian Conway
  • Room 132, Building 26
  • (Consult hours on the door)

3
Notice
  • Monash is helping develop some national tests for
    assessing the skills acquired by graduates.
  • Initial versions of these tests will be trialed
    at the end of this month.
  • Over the next week, many of you will receive a
    message asking for volunteers for these trials.
  • Those messages will be sent to your Monash
    student email addresses.
  • Please check your Monash email regularly over the
    next week or so.

4
Recall
  • What is the problem solving process?
  • What is an algorithm?
  • What are some examples?
  • What are the "variables" in the Australian
    Cricket team?

5
Topics
  • More components of an algorithm
  • The software development process
  • Top-down design
  • Conway's Game of Life

6
Components of an algorithm
  • What kind of instructions do we give?
  • What are the building blocks of those
    instructions?

7
Components of an algorithm
  • Instruction
  • Sequence (of instructions)
  • Procedure (involving instructions)
  • Selection (between instructions)
  • Repetition (of instructions)
  • Documentation (beside instructions)

8
Instruction
  • Some action that is simple...
  • ...and unambigous...
  • ...that the system knows about...
  • ...and should be able to actually do.

9
Instruction
  • Examples
  • Take off your shoes.
  • Count to 10.
  • Cut along dotted line.
  • Knit 1.
  • Purl 2.
  • Pull rip-cord firmly.
  • Sift 10 grams of arsenic into the batter.

10
Sequence
  • A series of instructions
  • ...to be carried out one after the other...
  • ...without hestitation or question.
  • Example
  • Cooking a Gourmet Meal

11
Sequence
  • 1. Open freezer door
  • 2. Take out Gourmet Meal
  • 3. Close freezer door
  • 4. Open microwave door
  • 5. Put Gourmet Meal on carousel
  • 6. Shut microwave door
  • 7. Set microwave on high for 5 minutes
  • 8. Start microwave
  • 9. Wait 5 minutes
  • 10. Open microwave door
  • 11. Remove Gourmet Meal
  • 12. Close microwave door

12
Procedure
  • A named sequence
  • Refer to it collectively (by name)
  • ...instead of individually (by each instruction
    in sequence)
  • Example
  • Driving to Uni

13
Procedure
...etc...etc...etc... 52. find
parking space 53. pull into parking space
54. turn off engine 55. remove keys from
ignition 56. open car door 57. get out
58. shut car door 59. lock car door 60.
enable alarm
  • procedure DriveToUni
  • 1. find car keys
  • 2. disable car alarm
  • 3. open car door
  • 4. get in car
  • 5. shut car door
  • 6. put keys in ignition
  • 7. start car
  • 8. back car out of driveway
  • 9. drive to end of street
  • 10. turn right
  • 11. drive to end of street
  • 12. turn left
  • ...etc...etc...etc

14
Selection
  • Choose between two courses of action
  • That is, between two instructions (or sequences
    or procedures)
  • Decision based on a single true/false question
  • Examples
  • Car repairs
  • Reciprocals
  • Before driving to uni

15
Selection
  • if (motor turns)
  • then
  • CheckFuel
  • CheckSparkPlugs
  • CheckCarburettor
  • else
  • CheckDistributer
  • CheckIgnitionCoil

16
Selection
  • input Number
  • if (Number ? 0)
  • then
  • output 1/Number
  • else
  • output "infinity"

17
Selection
  • Before driving to uni

18
Repetition
  • Repeat an instruction...
  • ...while (or maybe until) some condition occurs
  • Test the condition each time before repeating the
    instruction
  • Also known as iteration
  • Example
  • Getting a date

19
Repetition
  • procedure AskOnDate(name, time, location)
  • Phone(name)
  • Say("Hey", name, "it's your lucky day!")
  • Say("Wanna come to", location, "at", time,
    "?")ListenToReplystart begging count at
    zerowhile (reply is "No" and begging count lt
    100) Say("Oh please!")
  • add 1 to begging count

20
Repetition
  • decide on time and location
  • until (successfully booked)
  • get next name in little black book
  • AskOnDate(name, time, location)
  • SighWithRelief

21
Documentation
  • Records what the algorithm does
  • Describes how it does it
  • Explains the purpose of each component of the
    algorithm
  • Notes restrictions or expectations
  • Example
  • Getting a date (again)

22
Documentation
  • Thing of something romantic to do (e.g. footy,
    video games, chess)
  • decide on time and location
  • Work through address book looking for
    someonewho's forgotten what a lousy date I am
  • until (successfully booked)
  • get next name in little black book
  • AskOnDate(name, time, location)
  • Will only reach here if someone's memory (or
    taste) is bad
  • SighWithRelief

23
The Software Development Process
  • Define the problem clearly
  • Analyse the problem thoroughly
  • Design an algorithm carefully
  • Code the algorithm efficiently
  • Test the code thoroughly
  • Document the system lucidly

24
Designing an algorithm
  • Top-down
  • Bottom-up
  • Object-oriented
  • Prototyping
  • Evolutionary

25
Top-down design
  • Write down what you have to do
  • Break that into 3-7 smaller steps
  • Break each step into 3-7 smaller steps
  • Keeping subdividing until each individual step is
    easy enough to do
  • That is, until it's a single instruction
  • Example
  • Learning

26
Top-down design
Learn
27
The Game of Life
  • Invented by mathematician John Conway (no
    relation)
  • As seen on millions of screen savers around the
    world
  • Now in the comfort of your own lecture theatre...

28
The Game of Life
  • stand up if your age is even
  • while (sign says GO) count how many people
    next to you are standing
  • if (exactly 3 of your neighbours are
    standing) raise your hand
  • otherwise if (exactly 2 of your neighbours are
    standing AND you are standing
    too) raise your hand
  • wait till the sign says CHANGE
  • wait till the sign doesn't say CHANGE
  • if (your hand is up) stand up
    otherwise sit down put your
    hand down

29
The Game of Life
GO
stand up if your age is even while (sign says
GO) count how many people next to you are
standing if (exactly 3 of your neighbours are
standing) raise your hand
otherwise if (exactly 2 of your neighbours are
standing AND you are standing
too) raise your hand wait till
the sign says CHANGE wait till the sign
doesn't say CHANGE if (your hand is up)
stand up otherwise sit down
put your hand down
30
The Game of Life
CHANGE
stand up if your age is even while (sign says
GO) count how many people next to you are
standing if (exactly 3 of your neighbours are
standing) raise your hand
otherwise if (exactly 2 of your neighbours are
standing AND you are standing
too) raise your hand wait till
the sign says CHANGE wait till the sign
doesn't say CHANGE if (your hand is up)
stand up otherwise sit down
put your hand down
31
The Game of Life
STOP
stand up if your age is even while (sign says
GO) count how many people next to you are
standing if (exactly 3 of your neighbours are
standing) raise your hand
otherwise if (exactly 2 of your neighbours are
standing AND you are standing
too) raise your hand wait till
the sign says CHANGE wait till the sign
doesn't say CHANGE if (your hand is up)
stand up otherwise sit down
put your hand down
32
Reading
  • Deitel Deitel, C How to program
  • Chapter 3, Sections 3.8 to 3.13
Write a Comment
User Comments (0)
About PowerShow.com