IGCSE Computer Science 0478 Paper 23, Oct/Nov 2024

Question paper and mark scheme75 marks10 questions

Solve it on ExamPal

Practise

Untimed. Write on the paper and check as you go.

Start

Exam

Timed, with a clock you set, like sitting the real paper.

Start

Opens full screen.

Papers open in

Opening the question paper

Read as textThe questions and the mark scheme as plain text. Easier to read on a phone.

Question paper

0478/23 · Oct/Nov 2024

Download PDF
3

Four logic gates and five logic gate symbols are shown. Draw one line to link each logic gate to its correct symbol. Not all logic gate symbols will be used.

[4]
Figure 1 of 5 for question 3
Figure 2 of 5 for question 3
Figure 3 of 5 for question 3
Figure 4 of 5 for question 3
Figure 5 of 5 for question 3
4

Complete the paragraph about databases. Use terms from the list. You may need to use a term more than once. Some of the terms in the list will not be used. fields comments columns constant key table primary key program records rows scripts database validation variable Database tables consist of ...................................... and ...................................... . Rows are ...................................... . ...................................... are fields. Structured query language (SQL) ...................................... are used to query data. A ...................................... uniquely identifies a record.

[6]
5

One stage of the program development life cycle is the analysis stage. Identify and describe two other stages of the program development life cycle. Stage ................................................................................................................................................ Description ....................................................................................................................................... Stage ................................................................................................................................................ Description .......................................................................................................................................

[6]
6

An incomplete algorithm has been written in pseudocode to count the number of values stored in an array and to find their average. Values have been stored in the array starting at A[1] All the values to be counted are non-zero. A value of zero in the array indicates there are no more values stored. 01 DECLARE A : ARRAY[1:50] OF INTEGER 02 DECLARE C : INTEGER 03 DECLARE W : INTEGER 04 DECLARE X : INTEGER 05 W ← 0 06 C ← ................................................................................................. 07 WHILE A[C] <> 0 08 W ← ................................................................................................. 09 C ← C + 1 10 ENDWHILE 11 X ← .................................................................................................

a

Complete the given pseudocode algorithm.

[3]
b

Write pseudocode to display, with suitable messages: • the number of values stored in the array • the average of those values stored.

[3]
c

Meaningful identifiers have not been used in this algorithm. Suggest suitable meaningful identifiers for: The array A ................................................................................................................................................ The variables C ................................................................................................................................................ X ................................................................................................................................................ W ................................................................................................................................................

[3]
7

A programmer is testing a program that requires a positive value between 1 and 100 inclusive to be entered. The range check in the program is to be tested. Identify three different types of test data to be used. For each type of test data, give an example of the value(s) to be used and the expected outcome. Type 1 .............................................................................................................................................. Example ........................................................................................................................................... Outcome ........................................................................................................................................... Type 2 .............................................................................................................................................. Example ........................................................................................................................................... Outcome ........................................................................................................................................... Type 3 .............................................................................................................................................. Example ........................................................................................................................................... Outcome ...........................................................................................................................................

[9]
8

A logic circuit is to be built to control the automatic opening of a window. The window W opens if the temperature T is too high, the heater H is off, and the air conditioning A is off. Complete the truth table for this problem.

[4]
9

A flowchart checks that values stored in three variables are identical. If they are different, the highest value is stored in all three variables. Identify four errors in the flowchart and suggest a correction for each error. You may label each error on the diagram with the corresponding error number. Error 1 .............................................................................................................................................. Correction ......................................................................................................................................... Error 2 .............................................................................................................................................. Correction ......................................................................................................................................... Error 3 .............................................................................................................................................. Correction ......................................................................................................................................... Error 4 .............................................................................................................................................. Correction .........................................................................................................................................

[4]
Figure 1 of 2 for question 9
Figure 2 of 2 for question 9
10

An algorithm has been written in pseudocode to check that a password meets a set of rules. 01 OUTPUT "Please enter password " 02 INPUT Password 03 Accept ← TRUE 04 IF LENGTH(Password) < 8 OR LENGTH(Password) > 20 05 THEN 06 Accept ← FALSE 07 ENDIF 08 IF LCASE(Password) = Password OR UCASE(Password) = Password 09 THEN 10 Accept ← FALSE 11 ENDIF 12 Index ← 1 13 Found ← FALSE 14 WHILE NOT Found AND Accept AND Index < LENGTH(Password) 15 IF SUBSTRING(Password, Index, 1) = '!' 16 THEN 17 Found ← TRUE 18 ENDIF 19 Index ← Index + 1 20 ENDWHILE 21 IF NOT Found 22 THEN 23 Accept ← FALSE 24 ENDIF 25 IF Accept 26 THEN 27 OUTPUT "Accepted" 28 ELSE 29 OUTPUT "Rejected" 30 ENDIF

a

Complete the three trace tables using the data shown for each one. Data: MYWORD Data: M!word Data: My!Hidden

[6]
b

State the rules that the password must meet.

[3]
11

Building materials are sold in bags. A new database table called BuildStock has been set up to store details about the materials for sale. Part of this table is given.

MtNoNameInStockWeightKgPricePerBagNumberBags
MT01Builders sandYes504.5050
MT02Sharp sandYes253.5021
MT03Red sandNo502.750
MT04CementNo256.850
MT05ChippingsYes5035.0050
MT06CobblesNo7567.350
MT07Pebbles smallYes5034.503
MT08Pebbles mediumYes2525.5010
MT12Pebbles largeYes7562.7520
MT15Washed gravelYes5012.7512
MT16Pea gravelYes10015.9524
a

Write the output from this structured query language (SQL) statement. SELECT MtNo, Name FROM BuildStock WHERE WeightKg = 75 ORDER BY PricePerBag;

[3]
b(i)

Complete this SQL statement to display only the names of all the materials that are out of stock. SELECT ............................................................................................................................. FROM .................................................................................................................................. WHERE ...............................................................................................................................

[2]
b(ii)

Explain how another SQL statement using a different field could be used to display the same information.

[2]
12

Members of a litter picking group complete a litter pick every month. Members’ names are stored in one-dimensional (1D) array PickerName[] Each member stores the weight of the litter they have picked in another one-dimensional (1D) array PickedWeight[] The weights are in kilograms with one decimal place, for example 8.4 The position of each member’s data in the two arrays is the same. For example, the member stored at index 10 in PickerName[] and at index 10 in PickedWeight[] is the same. Every month, there is a small prize awarded to the members of the group who have the two heaviest weights. Certificates are awarded to all members with a pick weight of over three kilograms. Write a program that meets the following requirements: • allows the weight of members’ picks to be input and validated • sorts the arrays PickedWeight[] and PickerName[] in descending order of weight • outputs the member names and the pick weights of the members with the two heaviest picks and identifies them as “Best in Group” and “Second best in Group” • stores the names of all the members who will receive a certificate in the array PickerCertificate[] • outputs a message stating the number of certificates to be printed. You must use pseudocode or program code and add comments to explain how your code works. You do not need to declare any arrays or variables; you may assume that this has already been done. All inputs and outputs must contain suitable messages. You do not need to initialise the data in the array PickerName[]

[15]

Mark scheme

0478/23 · Oct/Nov 2024

Download PDF

3 · 4 marks

  • 1 mark

    AND connected to AND gate symbol (top symbol)

  • 1 mark

    NAND connected to NAND gate symbol (fourth symbol down)

  • 1 mark

    NOR connected to NOR gate symbol (third symbol down)

  • 1 mark

    XOR connected to XOR gate symbol (second symbol down)

4 · 6 marks

  • 1 mark

    rows/columns/fields/records

  • 1 mark

    columns/rows/fields/records

  • 1 mark

    records

  • 1 mark

    fields

  • 1 mark

    Structured Query Language (SQL)

  • 1 mark

    primary key / record

5 · 6 marks

  • 1 mark

    design

  • 1 mark

    construction of a solution

  • 1 mark

    using standard methods e.g. flowcharts

  • 1 mark

    coding

  • 1 mark

    program is written

  • 1 mark

    iterative testing takes place

6a · 3 marks

  • 1 mark

    06 C  1

  • 1 mark

    08 W  W + A[C]

  • 1 mark

    11 X  W / (C – 1) // ROUND(W / (C – 1),0)

6b · 3 marks

  • 1 mark

    outputting X

  • 1 mark

    outputting C - 1

  • 1 mark

    suitable messages

6c · 3 marks

  • 1 mark

    meaningful identifier for the array: A Values

  • 2 marks

    3 meaningful identifiers for the variables: C Index, X Average, W Total (or 1 mark for 1 to 2 meaningful identifiers)

7 · 9 marks

  • 1 mark

    normal

  • 1 mark

    normal example: e.g. 25

  • 1 mark

    normal outcome: accepted

  • 1 mark

    extreme

  • 1 mark

    extreme example: 1/100

  • 1 mark

    extreme outcome: accepted

  • 1 mark

    abnormal

  • 1 mark

    abnormal example: e.g. 125

  • 1 mark

    abnormal outcome: rejected

8 · 4 marks

  • 4 marks

    8 correct outputs in column W (4 marks for 8 correct, 3 marks for 6/7 correct, 2 marks for 4/5 correct, 1 mark for 2/3 correct)

9 · 4 marks

  • 1 mark

    first decision box flow line labels Yes should be No and vice versa

  • 1 mark

    second decision box OR should be AND

  • 1 mark

    Flow line from A to B should be should A  B

  • 1 mark

    Flowchart symbol for A  C should be a process box / rectangle

10a · 6 marks

  • 1 mark

    MYWORD: Password and output correct

  • 1 mark

    MYWORD: Accept, Index and Found columns correct

  • 1 mark

    M!word: Password and output correct

  • 1 mark

    M!word: Accept, Index and Found columns correct

  • 1 mark

    My!Hidden: Password and output correct

  • 1 mark

    My!Hidden: Accept, Index and Found columns correct

10b · 3 marks

  • 1 mark

    maximum length 20 characters and minimum length 8 characters

  • 1 mark

    cannot be all upper-case letters or all lower-case letters // must contain upper-case and lower-case letters

  • 1 mark

    must contain an !

11a · 3 marks

  • 1 mark

    MT12 Pebbles large

  • 1 mark

    MT06 Cobbles

  • 1 mark

    order of lines

11b(i) · 2 marks

  • 1 mark

    correct SELECT and FROM clauses: SELECT Name FROM BuildStock

  • 1 mark

    correct WHERE clause: WHERE NOT InStock // InStock = FALSE / No /"No" // WHERE NumberBags = 0;

11b(ii) · 2 marks

  • 1 mark

    WHERE clause can check the InStock field / NumberBags field

  • 1 mark

    for FALSE / No / for 0

12 · 15 marks

  • 9 marks

    AO2: Apply knowledge and understanding of the principles and concepts of computer science to a given context, including the analysis and design of computational or programming problems (maximum 9 marks)

  • 6 marks

    AO3: Provide solutions to problems by evaluating computer systems making reasoned judgements presenting conclusions (maximum 6 marks)

Questions

  1. 3
    Question 34 marks
    Mark scheme ›
  2. 4
    Question 46 marks
    Mark scheme ›
  3. 5
    Question 56 marks
    Mark scheme ›
  4. 6
    Question 69 marks
    Mark scheme ›
  5. 7
    Question 79 marks
    Mark scheme ›
  6. 8
    Question 84 marks
    Mark scheme ›
  7. 9
    Question 94 marks
    Mark scheme ›
  8. 10
    Question 109 marks
    Mark scheme ›
  9. 11
    Question 117 marks
    Mark scheme ›
  10. 12
    Question 1215 marks
    Mark scheme ›

More 0478 papers

Other papers from Oct/Nov 2024

Solve it on ExamPalStart