Presentation is loading. Please wait.

Presentation is loading. Please wait.

CP1020 - Week 4 Making Decisions. CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Decisions Example: Driving to a lecture you notice.

Similar presentations


Presentation on theme: "CP1020 - Week 4 Making Decisions. CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Decisions Example: Driving to a lecture you notice."— Presentation transcript:

1 CP1020 - Week 4 Making Decisions

2 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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? ?

3 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Decisions in Problem Solving z"If the queue at the petrol station is short then I will stop there to fill up" zIf (the queue at the petrol station is short) Then stop there and fill up Stop? No! Yes

4 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Decisions in Problem Solving No! Yes z"If the queue at the petrol station is short then I will stop there to fill up" zIf (the queue at the petrol station is short) Then stop there and fill up Decisions...decisions..

5 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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: If queue at petrol station is short then stop there and fill up

6 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Further Examples if kettle has boiled then make tea if temperature less than 18 C. then turn on central heating

7 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner General form of IF statements IF condition THEN ENDIF IF, THEN and ENDIF are RESERVED words condition is the “test”, if the answer is YES then we carry out the

8 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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

9 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Two way decisions We frequently need to do either one thing or another, depending on some condition If age is greater than 65 then retire gracefully else keep working

10 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Basic IF..THEN..ELSE IF condition THEN ELSE ENDIF

11 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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!" END IF END

12 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Testing We now have more than one possible “route” through our code We must TEST each of these! We should also test the “boundary”

13 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Test Data MarkExpected ActualResult 25You have failed You have failed 60You have passed You have passed 40You have passed You have passed 39You have failed You have failed

14 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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

15 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Example Conditions NOTE: Brackets help to clarify! (iMark < 0) (iAge >=18) (iValueA = iValueB) (iAge >= 16 AND iAge < 65)

16 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner More Complex Decisions 1 zProblem: 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. zNote: We have two conditions to satisfy: y condition 1is the candidate at least 16 years old? y condition 2is the candidate no older than 65? zBoth condition 1 AND condition 2 must be satisfied "TRUE" in order to accept the candidate

17 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner More Complex Decisions 2 zAlgorithm: Step 1Get age of candidate 2If ( age at least 16) AND (age less than 65 ) 2.1Then candidate is eligible 2.2Else reject candidate zAND implies that both conditions must be true

18 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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

19 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner The OR condition zAlternatively test for ineligible candidates: Step 1Get age of candidate 2If ( age less than 16) OR (age greater than 65 ) 2.1Then reject candidate 2.2Else candidate is eligible zOR implies that either one (or both) of the conditions needs to be satisfied

20 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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 65) THEN PRINT ”Sorry you are outside the age range" ELSE PRINT “You are eligible to apply” END IF END

21 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Problem - Student Grades zWhen a piece of work is marked, it is given a percentage mark which needs converting to a FAIL, PASS, MERIT or DISTINCTION. zA Fail Upto 40 zA Pass 40 - 59 zA Merit60 - 79 zA Distinction80 +

22 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Mark to Grade Conversion Algorithm zAlgorithm: Step 1 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

23 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Mark to Grade Conversion Improved Algorithm zFurther improved algorithm: Step 1Get a student's mark 2If (mark is less than 40%) 2.1Then Grade is Fail 2.2Else If (mark is less than 60%) 2.2.1 Then Grade is Pass 2.2.2ElseIf (mark is less than 80%) 2.2.2.1Then Grade is Merit 2.2.2.2Else Grade is Distinction 3Display Grade zThis is known as nesting decisions

24 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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

25 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner 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”

26 CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner End of lecture


Download ppt "CP1020 - Week 4 Making Decisions. CP1020 ©University of Wolverhampton - Ian Coulson & Steve Garner Decisions Example: Driving to a lecture you notice."

Similar presentations


Ads by Google