Question 1
3 marksDid your answer earn the marks?
20 original exam-style questions - 14 pages of questions with a full mark scheme - free printable PDF.
total = 0
FOR i = 1 TO 4
OUTPUT i
NEXT itotal = 0
FOR i = 1 TO 4
OUTPUT i
NEXT iFUNCTION calculateTotal(numbers)
total = 0
FOR i = 1 TO LEN(numbers)
total = total + numbers[i]
NEXT i
RETURN total
ENDFUNCTIONFUNCTION calculateTotal(numbers)
total = 0
FOR i = 1 TO LEN(numbers)
total = total + numbers[i]
NEXT i
RETURN total
ENDFUNCTIONFUNCTION search(numbers, target)
FOR i = 0 TO LEN(numbers) - 1
IF numbers[i] == target THEN
found = i
ELSE
found = -1
ENDIF
NEXT i
RETURN found
ENDFUNCTIONFUNCTION search(numbers, target)
FOR i = 0 TO LEN(numbers) - 1
IF numbers[i] == target THEN
found = i
ELSE
found = -1
ENDIF
NEXT i
RETURN found
ENDFUNCTIONtotal = 0
count = 0
INPUT number
WHILE number != -1
total = total + number
count = count + 1
INPUT number
ENDWHILE
average = total / count
OUTPUT averagetotal = 0
count = 0
INPUT number
WHILE number != -1
total = total + number
count = count + 1
INPUT number
ENDWHILE
average = total / count
OUTPUT averageINPUT number
IF number MOD 2 == 0 THEN
OUTPUT "Even"
ELSE
OUTPUT "Odd"
ENDIFtotal = 0
FOR i = 1 TO 20
total = total + i
NEXT i
OUTPUT totalINPUT temperature
IF temperature <= 0 THEN
OUTPUT "Ice warning"
ELSE
IF temperature < 20 THEN
OUTPUT "Mild"
ELSE
OUTPUT "Warm"
ENDIF
ENDIFscores = [56, 78, 45, 90, 33, 67, 82, 71]
total = 0
FOR i = 0 TO 7
total = total + scores[i]
NEXT i
average = total / 8
OUTPUT averageREPEAT
INPUT number
UNTIL number >= 1 AND number <= 10
OUTPUT numberFUNCTION applyDiscount(price, percentageOff)
discount = price * percentageOff / 100
newPrice = price - discount
RETURN newPrice
ENDFUNCTIONFUNCTION findStudent(names, searchName)
FOR i = 0 TO LEN(names) - 1
IF names[i] == searchName THEN
RETURN i
ENDIF
NEXT i
RETURN -1
ENDFUNCTIONFUNCTION countVowels(word)
count = 0
FOR i = 0 TO LEN(word) - 1
letter = UPPER(SUBSTRING(i, 1, word))
IF letter == "A" OR letter == "E" OR letter == "I" OR letter == "O" OR letter == "U" THEN
count = count + 1
ENDIF
NEXT i
RETURN count
ENDFUNCTIONmyFile = OPENFILE("attendance.txt", READ)
count = 0
WHILE NOT EOF(myFile)
line = READFILE(myFile)
count = count + 1
ENDWHILECLOSEFILE(myFile)OUTPUT count
FOR number = 1 TO 30
IF number MOD 15 == 0 THEN
OUTPUT "FizzBuzz"
ELSE
IF number MOD 3 == 0 THEN
OUTPUT "Fizz"
ELSE
IF number MOD 5 == 0 THEN
OUTPUT "Buzz"
ELSE
OUTPUT number
ENDIF
ENDIF
ENDIF
NEXT numbertotal = 0
FOR row = 0 TO 2
FOR column = 0 TO 2
total = total + grid[row, column]
NEXT column
NEXT row
OUTPUT totalFUNCTION findMax(values)
maximum = values[0]
FOR i = 1 TO LEN(values) - 1
IF values[i] > maximum THEN
maximum = values[i]
ENDIF
NEXT i
RETURN maximum
ENDFUNCTIONinFile = OPENFILE("results.txt", READ)
outFile = OPENFILE("pass.txt", WRITE)
count = 0
WHILE NOT EOF(inFile)
mark = INT(READFILE(inFile))
IF mark >= 40 THEN
WRITEFILE(outFile, STR(mark))
count = count + 1
ENDIF
ENDWHILECLOSEFILE(inFile)OUTPUT count
FUNCTION isValidPassword(password)
containsDigit = False
FOR i = 0 TO LEN(password) - 1
character = SUBSTRING(i, 1, password)
IF character >= "0" AND character <= "9" THEN
containsDigit = True
ENDIF
NEXT i
RETURN LEN(password) >= 8 AND containsDigit
ENDFUNCTIONFUNCTION search(numbers, target)
FOR i = 0 TO LEN(numbers) - 1
IF numbers[i] == target THEN
RETURN i
ENDIF
NEXT i
RETURN -1
ENDFUNCTIONitemCount = 0
DECLARE itemNames : ARRAY[0:49] OF STRING
DECLARE quantities : ARRAY[0:49] OF INTEGER
stockFile = OPENFILE("stock.txt", READ)
WHILE NOT EOF(stockFile)
itemNames[itemCount] = READFILE(stockFile)
quantities[itemCount] = INT(READFILE(stockFile))
itemCount = itemCount + 1
ENDWHILECLOSEFILE(stockFile)FUNCTION findItem(itemNames, itemCount, searchName)
FOR i = 0 TO itemCount - 1
IF itemNames[i] == searchName THEN
RETURN i
ENDIF
NEXT i
RETURN -1
ENDFUNCTION
INPUT searchName
index = findItem(itemNames, itemCount, searchName)
IF index == -1 THEN
OUTPUT "Item not found"
ELSE
OUTPUT quantities[index]
IF quantities[index] < 5 THEN
OUTPUT "Low stock warning"
ENDIF
ENDIFtotal = 0
count = 0
INPUT number
WHILE number >= 0
total = total + number
count = count + 1
INPUT number
ENDWHILE
IF count == 0 THEN
OUTPUT "No valid numbers were entered"
ELSE
average = total / count
OUTPUT average
ENDIFThis checks your answers in your browser, stores nothing on a server and needs no account.