Pseudocode solutions for Worksheets
12.1/14.1
1 DECLARE Length : INTEGER
DECLARE Width : INTEGER
DECLARE Area : INTEGER
INPUT Length
INPUT Width
Area Length * Width
OUTPUT Area
2 DECLARE DegreesF : INTEGER
DECLARE DegreesC : REAL
INPUT DegreesF
DegreesC (DegreesF – 32) * 5 / 9
OUTPUT DegreesC
3 DECLARE Temperature : INTEGER
INPUT Temperature
IF Temperature < 1
THEN
OUTPUT "It is freezing"
ELSE
OUTPUT "It is not freezing"
ENDIF
4 DECLARE Temperature: INTEGER
INPUT Temperature
IF Temperature < 1
THEN
OUTPUT "The water is frozen"
ELSE
IF Temperature > 100
THEN
OUTPUT "The water is boiling"
ELSE
OUTPUT "It is liquid"
ENDIF
ENDIF
5 DECLARE MonthNumber : INTEGER
INPUT MonthNumber
CASE OF MonthNumber
1: OUTPUT "January"
2: OUTPUT "February"
3: OUTPUT "March"
4: OUTPUT "April"
5: OUTPUT "May"
6: OUTPUT "June"
7: OUTPUT "July"
8: OUTPUT "August"
9: OUTPUT "September"
10: OUTPUT "October"
© Cambridge University Press 2019
11: OUTPUT "November"
12: OUTPUT "December"
OTHERWISE OUTPUT "Invalid month number"
ENDCASE
6 DECLARE MaxNumber : INTEGER
DECLARE Counter : INTEGER
INPUT MaxNumber
FOR Counter 1 TO MaxNumber
OUTPUT Counter
NEXT
7 DECLARE MacNumber : INTEGER
DECLARE Counter : INTEGER
INPUT MaxNumber
FOR Counter MaxNumber TO 1 STEP -1
OUTPUT Counter
NEXT
8 DECLARE MaxNumber : INTEGER
DECLARE Interval : INTEGER
DECLARE Counter : INTEGER
INPUT MaxNumber
INPUT Interval
FOR Counter 1 TO MaxNumber STEP Interval
OUTPUT Counter
NEXT
9 DECLARE Number : INTEGER
DECLARE LargestSoFar : INTEGER
DECLARE Counter : INTEGER
INPUT LargestSoFar
FOR Counter 2 TO 10
INPUT Number
IF Number > LargestSoFar
THEN
LargestSoFar Number
ENDIF
NEXT
OUTPUT LargestSoFar
10 DECLARE Number : INTEGER
DECLARE SmallestSoFar : INTEGER
DECLARE Counter : INTEGER
INPUT SmallestSoFar
FOR Counter 2 TO 10
INPUT Number
IF Number < SmallestSoFar
THEN
SmallestSoFar Number
ENDIF
NEXT
OUTPUT SmallestSoFar
11 Using a post-condition loop:
DECLARE Number : INTEGER
REPEAT
OUTPUT "Enter a whole number between 1 and 5"
INPUT Number
UNTIL (Number >= 1) AND (Number <= 5)
© Cambridge University Press 2019
Using a pre-condition loop:
DECLARE Number : INTEGER
OUTPUT "Enter a whole number between 1 and 5"
INPUT Number
WHILE (Number < 1) OR (Number > 5)
OUTPUT "Enter a whole number between 1 and 5"
INPUT Number
ENDWHILE
12 DECLARE MinNumber : INTEGER
DECLARE MaxNumber : INTEGER
DECLARE Counter : INTEGER
INPUT MinNumber
INPUT MaxNumber
FOR Counter MinNumber TO MaxNumber
OUTPUT Counter
NEXT
13 DECLARE Character : CHAR
DECLARE CharCode : INTEGER
INPUT Character
CharCode ASC(Character)
OUTPUT CharCode
14 DECLARE Character : CHAR
DECLARE CharCode : INTEGER
INPUT CharCode
Character CHR(CharCode)
OUTPUT Character
15 DECLARE Text : STRING
DECLARE TextLength : INTEGER
INPUT Text
TextLength LENGTH(Text)
OUTPUT TextLength
16 DECLARE Text : STRING
DECLARE LeftMostText : STRING
INPUT Text
LeftMostText LEFT(Text, 2)
OUTPUT LeftMostText
17 DECLARE Text : STRING
DECLARE RightMostText : STRING
INPUT Text
RightMostText RIGHT(Text, 2)
OUTPUT RightMostText
18 DECLARE Text : STRING
DECLARE TextLength : INTEGER
DECLARE Middle : INTEGER
INPUT Text
TextLength LENGTH(Text)
IF TextLength MOD 2 = 0
THEN // even number of characters
Middle TextLength DIV 2
OUTPUT MID(Text, Middle, 2)
ELSE // odd number of characters
Middle (TextLength + 1) DIV 2
OUTPUT MID(Text, Middle, 1)
© Cambridge University Press 2019
ENDIF
19 DECLARE FirstName : STRING
DECLARE Surname : STRING
DECLARE FullName : STRING
INPUT FirstName
INPUT Surname
FullName FirstName & " " & Surname
OUTPUT FullName
20 DECLARE FirstName : STRING
DECLARE Surname : STRING
DECLARE NameString : STRING
INPUT FirstName
INPUT Surname
NameString LEFT(FirstName, 1) & " " & Surname
OUTPUT NameString
21 DECLARE Number : REAL
DECLARE NearestWholeNumber : INTEGER
INPUT Number
Number Number + 0.5
NearestWholeNumber INT(Number)
22 DECLARE Number : INTEGER
DECLARE Counter : INTEGER
FOR Counter 1 TO 5
Number RANDOM()
OUTPUT Number
NEXT
© Cambridge University Press 2019