AS
COMPUTER SCIENCE
Paper 1
Tuesday 14 May 2024 Afternoon Time allowed: 1 hour 45 minutes
7516/1
, 2
Section A
You are advised to spend no more than 20 minutes on this section.
Enter your answers to Section A in your Electronic Answer Document. You must save this
document at regular intervals.
Question 04 in this section asks you to write program code starting from a new
program/project/file.
You are advised to save your program at regular intervals.
0 1 Figure 1
S1 ← "011101"
S2 ← "001100"
C ← "0"
R ← ""
FOR J = 0 TO 5
X ← 5 - J
D1 ← S1[X]
D2 ← S2[X]
IF C = "0" THEN
IF D1 = D2 THEN
S ← "0"
C ← D1
ELSE
S ← "1"
ENDIF
ELSE
IF D1 = D2 THEN
S ← "1"
C ← D1
ELSE
S ← "0"
ENDIF
ENDIF
R ← CONCATENATE(S, R)
ENDFOR
OUTPUT R
The function CONCATENATE(X, Y) returns the string formed by concatenating the
string Y to the end of string X. For example, CONCATENATE("cat", "dog")
returns "catdog".
The strings are zero index based.
IB/M/Jun24/7516/1
, 3
Complete Table 1 by hand-tracing the algorithm in Figure 1.
You may not need to use all the rows in Table 1.
You do not need to indicate that C, D1, D2 and S are strings.
The first row of Table 1 has already been completed for you.
Table 1
S1 S2 C R J X D1 D2 S
"011101" "001100" "0" ""
OUTPUT:
Copy the contents of all the unshaded cells in Table 1 into your Electronic
Answer Document.
[5 marks]
Turn over ►
IB/M/Jun24/7516/1
, 4
0 2 A program uses both local and global variables.
0 2 . 1 State two differences between local and global variables.
[2 marks]
0 2 . 2 Give two reasons why it is good practice to use local variables.
[2 marks]
0 3 Programmers are encouraged to adopt a structured approach to writing programs.
Explain three reasons for adopting the structured approach.
[3 marks]
0 4 Figure 2 shows an algorithm represented using pseudo-code.
Figure 2
OUT_NOLF "Enter an integer: "
INPUT Number1
OUT_NOLF "Enter another integer: "
INPUT Number2
IF Number1 > Number2 THEN
Number ← Number1 DIV Number2
ELSE
Number ← Number2 DIV Number1
ENDIF
Count ← 0
WHILE Count ≠ Number
Count ← Count + 1
IF (Count MOD 10) = 0 THEN
OUT_NOLF "X"
ELSE
IF (Count MOD 5) = 0 THEN
OUT_NOLF "V"
ELSE
OUT_NOLF "/"
ENDIF
ENDIF
ENDWHILE
The OUT_NOLF command displays the output without a line feed. The following series
of OUT_NOLF commands will display ABC:
OUT_NOLF "A"
OUT_NOLF "B"
OUT_NOLF "C"
IB/M/Jun24/7516/1
COMPUTER SCIENCE
Paper 1
Tuesday 14 May 2024 Afternoon Time allowed: 1 hour 45 minutes
7516/1
, 2
Section A
You are advised to spend no more than 20 minutes on this section.
Enter your answers to Section A in your Electronic Answer Document. You must save this
document at regular intervals.
Question 04 in this section asks you to write program code starting from a new
program/project/file.
You are advised to save your program at regular intervals.
0 1 Figure 1
S1 ← "011101"
S2 ← "001100"
C ← "0"
R ← ""
FOR J = 0 TO 5
X ← 5 - J
D1 ← S1[X]
D2 ← S2[X]
IF C = "0" THEN
IF D1 = D2 THEN
S ← "0"
C ← D1
ELSE
S ← "1"
ENDIF
ELSE
IF D1 = D2 THEN
S ← "1"
C ← D1
ELSE
S ← "0"
ENDIF
ENDIF
R ← CONCATENATE(S, R)
ENDFOR
OUTPUT R
The function CONCATENATE(X, Y) returns the string formed by concatenating the
string Y to the end of string X. For example, CONCATENATE("cat", "dog")
returns "catdog".
The strings are zero index based.
IB/M/Jun24/7516/1
, 3
Complete Table 1 by hand-tracing the algorithm in Figure 1.
You may not need to use all the rows in Table 1.
You do not need to indicate that C, D1, D2 and S are strings.
The first row of Table 1 has already been completed for you.
Table 1
S1 S2 C R J X D1 D2 S
"011101" "001100" "0" ""
OUTPUT:
Copy the contents of all the unshaded cells in Table 1 into your Electronic
Answer Document.
[5 marks]
Turn over ►
IB/M/Jun24/7516/1
, 4
0 2 A program uses both local and global variables.
0 2 . 1 State two differences between local and global variables.
[2 marks]
0 2 . 2 Give two reasons why it is good practice to use local variables.
[2 marks]
0 3 Programmers are encouraged to adopt a structured approach to writing programs.
Explain three reasons for adopting the structured approach.
[3 marks]
0 4 Figure 2 shows an algorithm represented using pseudo-code.
Figure 2
OUT_NOLF "Enter an integer: "
INPUT Number1
OUT_NOLF "Enter another integer: "
INPUT Number2
IF Number1 > Number2 THEN
Number ← Number1 DIV Number2
ELSE
Number ← Number2 DIV Number1
ENDIF
Count ← 0
WHILE Count ≠ Number
Count ← Count + 1
IF (Count MOD 10) = 0 THEN
OUT_NOLF "X"
ELSE
IF (Count MOD 5) = 0 THEN
OUT_NOLF "V"
ELSE
OUT_NOLF "/"
ENDIF
ENDIF
ENDWHILE
The OUT_NOLF command displays the output without a line feed. The following series
of OUT_NOLF commands will display ABC:
OUT_NOLF "A"
OUT_NOLF "B"
OUT_NOLF "C"
IB/M/Jun24/7516/1