programming for gcse topic 4.1: while loops

24
Programming for GCSE Topic 4.1: While Loops Teaching London Computing William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London

Upload: toril

Post on 23-Feb-2016

69 views

Category:

Documents


0 download

DESCRIPTION

T eaching L ondon C omputing. Programming for GCSE Topic 4.1: While Loops. William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London. Aims. Introduce the 'while' loop Consider the sequence of ideas Repeat a statement, a fixed number of times - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programming for GCSE Topic 4.1: While Loops

Programming for GCSE

Topic 4.1: While Loops

Teaching London Computing

William MarshSchool of Electronic Engineering and Computer Science

Queen Mary University of London

Page 2: Programming for GCSE Topic 4.1: While Loops

Aims

• Introduce the 'while' loop• Consider the sequence of ideas• Repeat a statement, a fixed number of

times• Repeat with variation, a fixed number of

times• Repeat until you succeed, varying number

of times

Page 3: Programming for GCSE Topic 4.1: While Loops

WHILE LOOPS

Page 4: Programming for GCSE Topic 4.1: While Loops

Simple ‘While’ Statement

• Execute statements repeatedly

counter = 1 while counter <= 5: print("Inside the loop") counter = counter + 1

Key word Conditio

n :indentation

Page 5: Programming for GCSE Topic 4.1: While Loops

Boxes

• A ’while’ statement has an inside

while condition A: Renter the box while 'A’ is true

Page 6: Programming for GCSE Topic 4.1: While Loops

Using a Counter

• Initialise, test, increment

counter = 1 while counter <= 5: print("Inside the loop") counter = counter + 1

initialise

increment

test

Page 7: Programming for GCSE Topic 4.1: While Loops

Quiz: Counter Values

• What is the sequence of counter values?counter = 1 while counter <= 5: print("Inside the loop") counter = counter + 1

Page 8: Programming for GCSE Topic 4.1: While Loops

Quiz: Counter Valuescounter = 1 while counter <= 5: print("Inside the loop") counter = counter + 1

Counter Print1 "Inside the loop"2 "Inside the loop"3 "Inside the loop"4 "Inside the loop"5 "Inside the loop"6 -

Page 9: Programming for GCSE Topic 4.1: While Loops

Quiz: Counter Values

• How many lines printed?

counter = 7 while counter <= 15: print("Inside the loop") counter = counter + 2

Page 10: Programming for GCSE Topic 4.1: While Loops

Quiz: Counter Valuescounter = 7 while counter <= 15: print("Inside the loop") counter = counter + 2

Counter Print7 "Inside the loop"9 "Inside the loop"11 "Inside the loop"13 "Inside the loop"15 "Inside the loop"17 -

Page 11: Programming for GCSE Topic 4.1: While Loops

Varying the Code Repeated• Previously, same code repeated• Use counter to make it vary

counter = 1 while counter < 6: print(”The counter is”, counter) counter = counter + 1

Page 12: Programming for GCSE Topic 4.1: While Loops

Varying the Code Repeated

counter = 1 while counter < 6: print(”The counter is”, counter) counter = counter + 1

Counter Print1 The counter is 12 The counter is 23 The counter is 34 The counter is 45 The counter is 56 -

Page 13: Programming for GCSE Topic 4.1: While Loops

Varying the Code Repeated

cntr = 1 while cntr < 6: if cntr % 2 == 0 : print(”The counter is”, cntr) cntr = cntr + 1

Counter Print12 The counter is 234 The counter is 456 -

Page 14: Programming for GCSE Topic 4.1: While Loops

Order Matters• These two programs differ• Can you explain how?

counter = 1 while counter < 6: print(”The counter is”, counter) counter = counter + 1

counter = 1 while counter < 6: counter = counter + 1 print(”The counter is”, counter)

Page 15: Programming for GCSE Topic 4.1: While Loops

Errors

• This program looks similar but it does not work

• Can you see why?

cntr = 1 while cntr < 6: if cntr % 2 == 0 : print(”The counter is”, cntr) cntr = cntr + 1

Page 16: Programming for GCSE Topic 4.1: While Loops

Counter Loops – Summary • Counter• Initialise it• Test it• Change it

• The counter has a sequence of values in the loop body

• The counter value can be used to vary the statement executed each time through the loop

Page 17: Programming for GCSE Topic 4.1: While Loops

COMPARISONS

Page 18: Programming for GCSE Topic 4.1: While Loops

Loops in Scratch• Scratch has 4 loops

Loop without end

Loop fixed number of

timeConditi

onLoop while condition true

Loop until condition true

Condition

Page 19: Programming for GCSE Topic 4.1: While Loops

’While’ Language• Many instructions have ‘loop’ language

Put the butter, sugar, fruit, zests, juice and 100ml/3½fl oz brandy in a large pan. Bring slowly to the boil, stirring until the butter has melted. Reduce the heat and bubble for 10 minutes, stirring occasionally.

while not (butter melted) : stir pause

Page 20: Programming for GCSE Topic 4.1: While Loops

WHILE WITH CONDITION

Not all loops have counters

Page 21: Programming for GCSE Topic 4.1: While Loops

Loop with a Condition• The number of iterations can vary

needAnswer = Truewhile needAnswer : ans = input(”Answer Yes or No! ") if ans == “Yes” or ans == “No”: needAnswer = False

Answer Yes or No! Not sureAnswer Yes or No! OkAnswer Yes or No! Will doAnswer Yes or No! I said alrightAnswer Yes or No! Yes

Page 22: Programming for GCSE Topic 4.1: While Loops

Childhood Classic

print(“I can spell Mississippi”)goes = 0ans = -1while ans != 0 : ans = int(input(”How many ‘s’ in it?”)) goes = goes + 1

print(“You answered in”, goes, “goes”)

Page 23: Programming for GCSE Topic 4.1: While Loops

TEACHING ISSUES

Page 24: Programming for GCSE Topic 4.1: While Loops

Teaching Issue• How many stages for loops• Counter: repeating the same statement• Counter: varying the statement• Vary number of iterations

• Python has other loops (like Scratch)• Are they needed?

• Loops are the most complex aspect of programming