Cp1020 week 4
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

CP1020 - Week 4 PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

CP1020 - Week 4. Making Decisions. ?. Decisions. Example:

Download Presentation

CP1020 - Week 4

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cp1020 week 4

CP1020 - Week 4

Making Decisions


Decisions

?

Decisions

Example:

Driving to a lecture you notice that you do not have much petrol left. You will need to fill up soon, and approaching you can see a petrol station. The price is reasonable, but you do not have a lot of time to spare, so don't want to have to queue to fill-up.

What would you do?


Decisions in problem solving

Yes

No!

Decisions in Problem Solving

  • "If the queue at the petrol station is short then I will stop there to fill up"

  • If (the queue at the petrol station is short)Then stop there and fill up

Decisions ...decisions..


Cp1020 week 4

You may decide:

"if the queue at the petrol station is short then I will stop there to fill up".

We could write the algorithm for this decision as:

Ifqueue at petrol station is short then

stop there and fill up


Further examples

Further Examples

ifkettle has boiled then

make tea

iftemperature less than 18 C.then

turn on central heating


General form of if statements

General form of IF statements

IF condition THEN

<action>

ENDIF

IF, THEN and ENDIF are RESERVED words

condition is the “test”, if the answer is YES then we carry out the <action>


An example program

An example program

REM program : to demonstrate the IF statement

REM written by : S. Garner

REM date written 8/3/00

DIM iAge AS INTEGER

CLS ' clear the screen

INPUT "Please enter your age "; iAge

REM test the condition

IF iAge > 17 THEN

PRINT "You may vote at the next election"

END IF

END


Two way decisions

Two way decisions

We frequently need to do either one thing or another, depending on some condition

Ifage is greater than 65 then

retire gracefully

else

keep working


Basic if then else

Basic IF..THEN..ELSE

IFconditionTHEN

<action1>

ELSE

<action2>

ENDIF


Example program

Example program

REM program : to demonstrate the IF statement

DIM iMark AS INTEGER

CLS ' clear the screen

INPUT "Please enter your mark(0-100) "; iMark

REM check mark for pass or fail

IF iMark < 40 THEN

PRINT "You have failed"

ELSE

PRINT "You have passed"

PRINT "Well Done!"

ENDIF

END


Testing

Testing

We now have more than one possible “route” through our code

We must TEST each of these!

We should also test the “boundary”


Test data

Test Data

MarkExpected Actual

ResultResult

25You have failed You have failed

60You have passed You have passed

40You have passed You have passed

39You have failed You have failed


The condition statement

The condition statement

Usually we check a value.

The symbols used are:

= equal<>not equal

<less than<=less than or equal

>greater than >=Greater than or equal


Example conditions

Example Conditions

NOTE: Brackets help to clarify!

(iMark < 0)

(iAge >=18)

(iValueA = iValueB)

(iAge >= 16 AND iAge < 65)


More complex decisions 1

More Complex Decisions 1

  • Problem:You are looking for new employees for your company.One of the criteria is that the employee must be no younger than 16 and no older than 65.

  • Note: We have two conditions to satisfy:

    • condition 1is the candidate at least 16 years old?

    • condition 2is the candidate no older than 65?

  • Both condition 1ANDcondition 2must be satisfied "TRUE" in order to accept the candidate


More complex decisions 2

More Complex Decisions 2

  • Algorithm:Step1Get age of candidate2If ( age at least 16) AND (age less than 65 )2.1Then candidate is eligible2.2Else reject candidate

  • AND implies thatbothconditions must be true


The code

The code

INPUT“How old is the candidate > ”; iCandidatesAge

If (iCandidatesAge >= 16) And (iCandidatesAge <= 65)Then

Print “You are eligible to apply”

Else

Print “You are outside the age range!”

End If


The or condition

The OR condition

  • Alternatively test for ineligible candidates:Step1Get age of candidate2If ( age less than 16) OR (age greater than 65 )2.1Then reject candidate2.2Else candidate is eligible

  • OR implies that either one (or both) of the conditions needs to be satisfied


Another example

Another Example

REM program : to demonstrate the IF statement

REM written by : I Coulson

REM date written: 8/3/00

DIM iCandAge AS INTEGER

CLS ' clear the screen

INPUT "Please enter your age "; iCandAge

IF ( iCandAge < 16) OR ( iCandAge > 65) THEN

PRINT ”Sorry you are outside the age range"

ELSE

PRINT “You are eligible to apply”

END IF

END


Problem student grades

Problem - Student Grades

  • When a piece of work is marked, it is given a percentage mark which needs converting to a FAIL, PASS, MERIT or DISTINCTION.

  • A Fail Upto 40

  • A Pass 40 - 59

  • A Merit60 - 79

  • A Distinction80 +


Mark to grade conversion algorithm

Mark to Grade ConversionAlgorithm

  • Algorithm:Step1 Get a student's mark

    2If (mark is greater than 0) AND (mark less than 40)2.1Then Grade is Fail

    3If (mark greater than or equal to 40) AND (mark is less than 60)3.1Then Grade is Pass

    4If (mark is greater or equal to 60) AND (mark less than 80)4.1Then Grade is Merit

    5If (mark is greater or equal to 80) AND (mark is no more than 100)5.1Then Grade is Distinction

    6Display Grade


Mark to grade conversion improved algorithm

Mark to Grade Conversion Improved Algorithm

  • Further improved algorithm:Step1Get a student's mark

    2If (mark is less than 40%)2.1Then Grade is Fail2.2ElseIf (mark is less than 60%)2.2.1 Then Grade is Pass2.2.2ElseIf (mark is less than 80%)2.2.2.1Then Grade is Merit2.2.2.2Else Grade is Distinction

    3Display Grade

  • This is known as nesting decisions


The program

The Program

Rem Author I Coulson

DIM iPercentage AS INTEGER

INPUT ”What percentage did you get "; iPercentage

IF iPercentage < 40 THEN

Print “Fail”

ELSEIF iPercentage < 60 THEN

Print “Pass”

ELSEIF iPercentage < 80 THEN

Print “Merit”

ELSEIF iPercentage >= 80 THEN

Print “Distinction”

END IF


Questions

Questions

1 Write an algorithm to decide if a salesman should get a bonus - he needs to have sold at least £3000 worth of goods in the month.

2 Alter the algorithm such that that the salesman earns 15% commission on all sales if sells more than £3000 worth of goods in a month, but only 5% if he sells less than that.

3 Write the code to print the appropriate comment to a runner finishing a race:

1st place - “well done you are the winner”

2nd place - “congratulations you are runner up”

3rd place- “good, you have finished third”

unplaced - “You’ve finished, well done”


End of lecture

End of lecture


  • Login