0% found this document useful (0 votes)
31 views6 pages

Error Correction 3 - Ans

Uploaded by

Thida Aung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views6 pages

Error Correction 3 - Ans

Uploaded by

Thida Aung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

1.

(a) One mark per mark point, max four

• 100

• AND Age < 12

• Count12to18 + 1

• CountOver18

(b) One mark suitable IF construct, one mark correct assignment statement, for example

IF Age < 7

THEN

CountUnder7 ← CountUnder7 + 1

ENDIF

One mark suitable message, one mark correct use of countUnder7 variable, for example

OUTPUT "There are ", CountUnder7, " students aged under 7."

2. One mark per mark point, max three

 line 8 / PassCheck  TRUE

correction PassCheck  FALSE

 line 12 / IF Password <> Password

correction IF Password2 <> Password // IF Password <> Password2

 line 18 / UNTIL PassCheck OR Attempt <> 3

correction UNTIL PassCheck OR Attempt = 3 / UNTIL PassCheck OR Attempt >= 3

3. One mark per mark point, max six

• Line 1 100

• Line 7 Value > 100 // Value >= 101

• Line 11 Reading[Value] + 1

• Line 14 INPUT Value

• Line 18 Reading[Count]

• Line 19 Count – 1

4. One mark per mark point, max four

• Line 09 / Higher[HighList]  MarksEntry

should be Higher[HighList]  Mark


• Line 15 / MidList  MidList

should be MidList  MidList + 1

• Line 17 / Lower[HighList]  Mark

should be Lower[LowList]  Mark

• Line 22 / NEXT MarksEntry = 500

should be UNTIL MarksEntry = 500

Corrected algorithm

01 HighList  0

02 MidList  0

03 LowList  0

04 MarksEntry  0

05 REPEAT

06 INPUT Mark

07 IF Mark >= 80

08 THEN

09 Higher[HighList]  Mark

10 HighList  HighList + 1

11 ELSE

12 IF Mark >= 50

13 THEN

14 Middle[MidList]  Mark

15 MidList  MidList + 1

16 ELSE

17 Lower[LowList]  Mark

18 LowList  LowList + 1

19 ENDIF

20 ENDIF

21 MarksEntry  MarksEntry + 1

22 UNTIL MarksEntry = 500


23 OUTPUT "You entered ", HighList, " higher marks"

24 OUTPUT "You entered ", MidList, " middle marks"

25 OUTPUT "You entered ", LowList, " lower marks"

5. One mark per mark point in the correct position, max six

• line 01 50

• line 08 Value > 50

• line 12 Reading[Value] + 1

• line 18 INPUT Value

• line 23 Reading[Count]

• line 24 Count + 1

6. One mark for each error identified and correction

• Line 05 OUTPUT should be INPUT

• Line 06 UsefulEnergy should be UsefulEnergyOut

Line 11 UNTIL TotalEnergyIn <> -1 OR UsefulEnergyOut <> -1 should be

UNTIL TotalEnergyIn = -1 OR UsefulEnergyOut = -1

7. One mark per mark point, max four

 Line 04 / IF Number < 0

should be IF Number > 0

 Line 10 / Exit

 1 // Line 01/ Exit

 1 and Line 02 / WHILE Exit <> 0

should be Exit

 0 // should be Exit

 0 and WHILE Exit = 0

 Line 13 / ENDIF

should be ENDWHILE

 Line 14 / OUTPUT "The total value of your numbers is ", Number

should be OUTPUT "The total value of your numbers is ", Total


Correct algorithm:

01 Exit  1

02 WHILE Exit <> 0 DO

03 INPUT Number

04 IF Number > 0

05 THEN

06 Total  Total + Number

07 ELSE

08 IF Number = 0

09 THEN

10 Exit  0

11 ENDIF

12 ENDIF

13 ENDWHILE

14 OUTPUT "The total value of your numbers is ", Total

8. One mark for place in algorithm (max one)

 around lines 05 and 06


 line 07
 (immediately) after the input of the number

Three marks pseudocode

One mark for each point (max three)

 Use of REPEAT … UNTIL // any working loop structure


 check for >0 // >=0
 check for <10 // >9
 check for whole number
 check for -1
 check for length of digit <> 1
Example

REPEAT

OUTPUT "Enter a digit "

INPUT Number[Counter]

UNTIL Number[Counter] = Round(Number[Counter],0) AND ((Number[Counter] = -1) OR

(Number[Counter] > 0 AND Number[Counter] < 10))

9. One mark per mark point, max four

 Line 01 / Counter  100

should be Counter  0

 Line 03 / While Counter > 100 DO

should be While Counter < 100 DO

 Line 07 / Total  Total + Counter

should be Total  Total + Number

 Line 09 / ENDCASE

should be ENDIF

Correct algorithm

01 Counter  0

02 Total  0

03 WHILE Counter < 100 DO

04 INPUT Number

05 IF Number > 0

06 THEN

07 Total  Total + Number

08 Counter  Counter + 1

09 ENDIF

10 ENDWHILE

11 OUTPUT "The total value of your numbers is ", Total

12 OUTPUT "The average value of your numbers is ", Total / 100


10. One mark for each error identified and correction:

• Numbers should be Number

• IF Number > 100 should be IF Number >= 100

• INPUT Number is missing from inside the loop, insert INPUT Number after the ENDIF statement.

• The final OUTPUT Number is not needed, remove it.

11. One mark for each error identified plus suggested correction (the corrected lines must be written in
full).

Correct lines:

Line 4 WHILE Number <= 99 OR Number >= 1001

Line 7 Num[Index] ← Number

Line 9 NEXT Index

Line 10 PRINT Count

You might also like