IGCSE Computer Science 0478 Paper 21, Oct/Nov 2023

Question paper and mark scheme75 marks8 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/21 · Oct/Nov 2023

Download PDF
3

Four descriptions of data and five data types are shown. Draw one line to link each description to the most appropriate data type. Not all data types will be used. Description: - a whole number - a single letter - a word or phrase - a number with two decimal places Data type: - BOOLEAN - CHAR - INTEGER - REAL - STRING

[4]
4

Circle the three words representing places where data may be stored. array constant dimension input output procedure variable

[3]
5

The first stage of the program development life cycle is analysis. Two of the tasks in analysis are abstraction and decomposition.

a

Describe what is meant by abstraction.

[2]
b

Identify three of the component parts when a problem has been decomposed at the analysis stage. 1 2 3

[3]
c

Identify and describe one other stage of the program development life cycle.

[2]
6

An algorithm has been written in pseudocode. 01 DECLARE A[1:10] : STRING 02 DECLARE T : STRING 03 DECLARE C, L : INTEGER 04 L ← 10 05 FOR C ← 1 TO L 06 OUTPUT "Please enter name " 07 INPUT A[C] 08 NEXT C 09 FOR C ← 1 TO L 10 FOR L ← 1 TO 9 11 IF A[L] > A[L + 1] 12 THEN 13 T ← A[L] 14 A[L] ← A[L + 1] 15 A[L + 1] ← T 16 ENDIF 17 NEXT L 18 NEXT C 19 FOR C ← 1 TO L 20 OUTPUT "Name ", C, " is ", A[C] 21 NEXT C

Figure 1 of 1 for question 6
a

State the purpose of this pseudocode algorithm.

[1]
b

State four processes in this algorithm. 1 2 3 4

[4]
c

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

[3]
d

State two other ways the algorithm can be made easier to understand and maintain. 1 2

[2]
7

Consider this logic circuit.

a

Write a logic expression for this logic circuit. Do not attempt to simplify this logic expression. X =

[4]
b

Complete the truth table from the given logic circuit.

[4]
8

A programmer is designing an algorithm to calculate the cost of a length of rope. The program requirements are: • input two values: the length of rope in metres Length and the cost of one metre Cost • perform a validation check on the length to ensure that the value is between 0.5 and 6.0 inclusive • calculate the price Price • output the price rounded to two decimal places. Use the variable names given.

Figure 1 of 2 for question 8
Figure 2 of 2 for question 8
a

State the name of the validation check.

[1]
b

Complete the flowchart for this algorithm.

[6]
c

Give two different sets of test data for this algorithm and state the purpose of each set. Set 1 Purpose Set 2 Purpose

[4]
d

Complete the headings for the trace table to show a dry-run for this algorithm. You do not need to trace the algorithm.

[3]
e

Describe an improvement that should be made to the requirements for this algorithm.

[2]
9

A model shop wants to set up a database to help with stock control of the model figures available for sale. The shop wants to store this information about the model figures: Field 1 – catalogue number, for example MD1234 Field 2 – description, for example ‘small white dog’ Field 3 – number in stock, for example 5 Field 4 – the price of each model, for example 7.40 Field 5 – if the model has already been painted, yes or no.

a

The shop needs five fields for each record. Give a suitable name and data type for each field. Field 1 name Data type Field 2 name Data type Field 3 name Data type Field 4 name Data type Field 5 name Data type

[5]
b(i)

Give the name of the field that should be used for the primary key.

[1]
b(ii)

State why this field is used as the primary key.

[1]
c

Structured query language (SQL) is used to query data stored in this database. State what these SQL commands are used for. SELECT FROM WHERE

[3]
10

Drama students put on a performance of a play for one evening. Seats in a small theatre can be booked for this performance. The theatre has 10 rows of 20 seats. The status of the seat bookings for the evening is held in the two-dimensional (2D) Boolean array Evening[] Each element contains FALSE if the seat is available and TRUE if the seat is booked. Up to and including four seats can be booked at one time. Seats are allocated in order from those available. A row or seat number cannot be requested. The array Evening[] has already been set up and some data stored. Write a program that meets the following requirements: • counts and outputs the number of seats already booked for the evening • allows the user to input the number of seats required • validates the input • checks if enough seats are available: – if they are available ○ changes the status of the seats ○ outputs the row number and seat number for each seat booked – if they are not available: ○ outputs a message giving the number of seats left or ‘House full’ if the theatre is fully booked. 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. You do not need to initialise the data in the array Evening[] All inputs and outputs must contain suitable messages.

[15]

Mark scheme

0478/21 · Oct/Nov 2023

Download PDF

3 · 4 marks

  • 1 mark

    a whole number linked to INTEGER

  • 1 mark

    a single letter linked to CHAR

  • 1 mark

    a word or phrase linked to STRING

  • 1 mark

    a number with two decimal places linked to REAL

4 · 3 marks

  • 1 mark

    array

  • 1 mark

    constant

  • 1 mark

    variable

5a · 2 marks

  • 1 mark

    simplifying the problem

  • 1 mark

    removing unnecessary details from the problem // selecting elements required

5b · 3 marks

  • 1 mark

    inputs

  • 1 mark

    processes

  • 1 mark

    outputs

5c · 2 marks

  • 1 mark

    stage (design / coding / testing)

  • 1 mark

    matching description (details of solution set out / program is developed / program is tested for errors)

6a · 1 mark

  • 1 mark

    Displaying/sort 10 names in alphabetical order 9

6b · 4 marks

  • 1 mark

    Initialisation

  • 1 mark

    inputting 10 names

  • 1 mark

    storing the names in an array

  • 1 mark

    sorting the names in alphabetical order using a bubble sort

6c · 3 marks

  • 1 mark

    One mark for a meaningful identifier for the array: A Names // ArrayNames

  • 2 marks

    Two marks for 3 meaningful identifiers for variables (One mark for 1 or 2 meaningful identifiers for variables): T Temp, C Counter, L Length

6d · 2 marks

  • 1 mark

    use of comments

  • 1 mark

    use of procedures/functions

7a · 4 marks

  • 1 mark

    NOT A

  • 1 mark

    AND B

  • 1 mark

    OR NOT C

  • 1 mark

    expression correct (NOT A AND B) OR NOT C

7b · 4 marks

  • 4 marks

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

8a · 1 mark

  • 1 mark

    Range check

8b · 6 marks

  • 1 mark

    correct use of flowchart symbols

  • 1 mark

    working flow lines and complete

  • 1 mark

    both inputs correct

  • 1 mark

    working range check

  • 1 mark

    working calculation

  • 1 mark

    correct output rounded to two decimal places

8c · 4 marks

  • 1 mark

    first set of test data

  • 1 mark

    purpose for first set of test data

  • 1 mark

    second set of test data

  • 1 mark

    purpose for second set of test data

8d · 3 marks

  • 3 marks

    One mark for two correct headings; Two marks for three correct headings; Three marks for all headings correct and no other headings unless used in 8(b): Length, Cost, Price, OUTPUT

8e · 2 marks

  • 1 mark

    validate Cost …

  • 1 mark

    … with a range/presence check

9a · 5 marks

  • 1 mark

    CatNo text/alphanumeric

  • 1 mark

    Description text/alphanumeric

  • 1 mark

    StockLevel integer

  • 1 mark

    Price real

  • 1 mark

    Painted Boolean

9b(i) · 1 mark

  • 1 mark

    CatNo

9b(ii) · 1 mark

  • 1 mark

    Unique identifier

9c · 3 marks

  • 1 mark

    SELECT lists the fields to be displayed

  • 1 mark

    FROM identifies the table

  • 1 mark

    WHERE identifies the search criteria

10 · 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 (max 9 marks)

  • 6 marks

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

Questions

  1. 3
    Question 34 marks
    Mark scheme ›
  2. 4
    Question 43 marks
    Mark scheme ›
  3. 5
    Question 57 marks
    Mark scheme ›
  4. 6
    Question 610 marks
    Mark scheme ›
  5. 7
    Question 78 marks
    Mark scheme ›
  6. 8
    Question 816 marks
    Mark scheme ›
  7. 9
    Question 910 marks
    Mark scheme ›
  8. 10
    Question 1015 marks
    Mark scheme ›

More 0478 papers

Other papers from Oct/Nov 2023

Solve it on ExamPalStart