1B answer
1 mark per bullet, max 4
e.g.
Editor
More help here -
e.g.
Editor
- …to enable program code to be entered / edited
- …to display information about errors / location of errors / suggest solutions
- …to enable program to be run / to check for run-time errors / test the program
More help here -
2bi answer
An error that does not cause the program to crash // produces unexpected output
More help here -
More help here -
2bii answer
1 mark per bullet, max 4
More help here -
- Line 02 // empty = 0
- Will reset empty to 0 on each iteration of the loop
- Line 07 // print (“empty”)
- Will print out the string “empty” instead of the value held in the variable
More help here -
2ci answer
1 mark per bullet, max 4
More help here -
- Compare 5 (middle value) to 7
- 5 is smaller than 7 / 7 is larger than 7 so…
- discard lower part of list / repeat with upper part of list
- …compare 7 to 7 (item found)
More help here -
2cii answer
1 mark per bullet, max 2
More help here -
- List of size 1 to compare
- …and item not matched to search term
More help here -
2ciii answer
More efficient // Less time taken (to find item) // fewer comparisons to make (with large lists)
More help here -
More help here -
3b answer
• Logically compares A AND // correct nested IF
• …B OR C // correct sequential IF
• Output in both cases (with attempt at selection).
A = input("Is the customer 15 or over?")
B = input("Does the customer have a ticket?")
C = input("Does the customer money to buy a ticket")
if A AND (B OR C) then
print ("allowed")
else
print ("not allowed")
endif
Accept answers where inputs are given as strings e.g :
if A == “Yes” AND (B == “Yes” OR C == “Yes”) then
print ("allowed")
else
print ("not allowed")
endif
More help here -
• …B OR C // correct sequential IF
• Output in both cases (with attempt at selection).
A = input("Is the customer 15 or over?")
B = input("Does the customer have a ticket?")
C = input("Does the customer money to buy a ticket")
if A AND (B OR C) then
print ("allowed")
else
print ("not allowed")
endif
Accept answers where inputs are given as strings e.g :
if A == “Yes” AND (B == “Yes” OR C == “Yes”) then
print ("allowed")
else
print ("not allowed")
endif
More help here -
3c answer
freeseats called with "Red"
…returned value assigned to variable redseats
redseats = freeseats("Red")
More help here -
…returned value assigned to variable redseats
redseats = freeseats("Red")
More help here -
4ai answer
Hiding / ignoring / removing detail // focussing on certain parts of a problem
More help here -
More help here -
4aii answer
- Focus on age / number of miles
- Ignore other factors (such as make, model, etc)
More help here -
4aiii answer
- Ensures only certain users can access the system
- Using password / other example of authentication technique
More help here -
4bi answer
- Miles and age input separately
- Checks for valid mileage
- Checks for valid age
- Checks both are greater than / greater than equal to zero
- …correctly outputs both True and False
miles = input("enter miles driven")
age = input("enter age of car")
valid = True
if miles > 10000 or miles < 0 then
valid = False
elseif age > 5 or age < 0 then
valid = False
endif
print(valid)
More help here -
4biii answer
During development // whilst writing the program // before development is complete.
More help here -
More help here -
5Di answer
1 mark per bullet, max 6
• Inputs the current battery charge percentage
• Outputs “full” if 100%
• Calculates the amount to charge
• Calculates the time in minutes…
• …converts to hours and minutes
• Outputs the time in hours and minutes
e.g.
charge = input("enter battery charge")
if charge == 100 then
print(“full”)
else
time = (100-charge) * 10
hours = time DIV 60
mins = time MOD 60
print (hours, mins)
endif
More help here -
• Inputs the current battery charge percentage
• Outputs “full” if 100%
• Calculates the amount to charge
• Calculates the time in minutes…
• …converts to hours and minutes
• Outputs the time in hours and minutes
e.g.
charge = input("enter battery charge")
if charge == 100 then
print(“full”)
else
time = (100-charge) * 10
hours = time DIV 60
mins = time MOD 60
print (hours, mins)
endif
More help here -
5a answer
One mark per correct choice
SELECT ItemCode, ItemName
FROM tblStock
WHERE Price >=60
More help here -
SELECT ItemCode, ItemName
FROM tblStock
WHERE Price >=60
More help here -
5bii answer
One mark per bullet point
e.g.
price = input("enter price")
if price > 200 then
price = price – 40
elseif price > 100 then
price = price - 20
endif
print(price)
More help here -
- Input and store price
- Check if price is > 200…
- …if true, reduce price by 40
- Check if price is >100 and not >200…
- ...if true, reduce price by 20
- Output price
e.g.
price = input("enter price")
if price > 200 then
price = price – 40
elseif price > 100 then
price = price - 20
endif
print(price)
More help here -
5c answer
- checking both values (e.g. or changed to and if appropriate)
- if statement in correct format (e.g. checking against stocklevel for each condition)
- if statement uses correct comparisons (e.g. >= and <=)
- print statements in correct position
- print statements include string delimiters (e.g. speech marks) around both string outputs
Do not accept pseudocode / natural language.
e.g.
stocklevel = input("Enter stock level")
if stocklevel >= 5 and stocklevel <= 25 then
print("In demand")
else
print("Not in demand")
endif
Alternative example
stocklevel = input("Enter stock level")
if stocklevel < 5 or stocklevel > 25 then
print("Not in demand")
else
print("In demand")
endif
As a matter of principle, a candidate who refines the program to work fully but in a different format to that specified should gain full marks.
More help here -
More help here -
5di answer
One mark per bullet point, in the correct place
• size // len(discountcodes-1)
• code
• price // newprice
• [x,1] // [x][1]
• return newprice // checkdiscount = newprice
function checkdiscount(price, code)
newprice = price
size = len(discount)-1
for x = 0 to size
if discount[x,0] == code then
newprice = price – discount[x,1]
endif
next
return newprice
endfunction
More help here -
• size // len(discountcodes-1)
• code
• price // newprice
• [x,1] // [x][1]
• return newprice // checkdiscount = newprice
function checkdiscount(price, code)
newprice = price
size = len(discount)-1
for x = 0 to size
if discount[x,0] == code then
newprice = price – discount[x,1]
endif
next
return newprice
endfunction
More help here -
5dii answer
newprice
size
x
More help here -
size
x
More help here -
5diii answer
- asks for price and discount code to be input
- …passes both to the checkdiscount() function as parameters…
- ...stores / uses returned value
- calculates total of all prices entered/returned
- repeats until 0 is entered as price
- outputs calculated total
e.g.
total = 0
do
price = input("Enter a price")
code = input("Enter a discount code")
newprice = checkdiscount(price, code)
total = total + newprice
until price == 0
print(total)
alternative example
total = 0
price = 1
while price != 0
price = input("Enter a price")
code = input("Enter a discount code")
total = total + checkdiscount(price, code)
endwhile
print(total)
More help here -