# Information Technology Grade 12 P1 NSC June 2025 QP (Eng)

> Grade 12 Information Technology Paper 1 question paper from the NSC June Exam 2025 (English), 29 pages. Read online or download the free PDF.

- Page: https://www.hlayiso.com/library/information-technology-p1-may-june-2025-eng/5ead18af-921b-457d-8720-eb23ede59718
- Updated: 2026-09-27
- Subject: Information Technology
- Grade: Grade 12
- Language: English
- Document type: Question paper
- Year: 2025
- Exam period: NSC June Exam
- Paper: 1
- Curriculum: CAPS
- Pages: 29

Breadcrumbs: [Home](https://www.hlayiso.com/) › [Library](https://www.hlayiso.com/library) › [Grade 12](https://www.hlayiso.com/library/grade-12) › [Information Technology](https://www.hlayiso.com/library/grade-12/information-technology) › [Information Technology Grade 12 P1 NSC June 2025 QP (Eng)](https://www.hlayiso.com/library/information-technology-p1-may-june-2025-eng/5ead18af-921b-457d-8720-eb23ede59718)

## About this document

Information Technology · Grade 12 · NSC June Exam · 2025 · English. Question paper, 29 pages. Read online or download the PDF.

Read it free online on the page above; download the PDF from there.

## Matching paper and memo

- [Information Technology P1 May-June 2025 MG Eng](https://www.hlayiso.com/library/information-technology-p1-may-june-2025-mg-eng/109c2e1d-bc20-46d3-ac02-c08c05ad9c78) — Memo · 2025 · Eng

## Document text

Text extracted from the PDF. Layout, diagrams and tables may not survive extraction.

### Page 1

Confidential

             SENIOR CERTIFICATE EXAMINATIONS/
         NATIONAL SENIOR CERTIFICATE EXAMINATIONS

                          INFORMATION TECHNOLOGY P1

                                    MAY/JUNE 2025

                                                                            MARKS: 150

                                                                           TIME: 3 hours

                 This question paper consists of 24 pages, 2 data pages,
                 2 pages for planning and a separate information sheet.

Copyright reserved                                                         Please turn over

### Page 2

Information Technology/P1                  2                              DBE/May/June 2025
                                    SC/NSC Confidential

INSTRUCTIONS AND INFORMATION

1.      This question paper is divided into FOUR sections. Candidates must answer ALL
        the questions in ALL FOUR sections.

2.      Two blank pages have been provided at the end of the question paper, which may
        be used for planning purposes.

3.      An information sheet has been provided for you to complete at the end of the
        examination session. Ensure that ALL the information that you provided is correct
        and submit the information sheet before you leave the examination centre.

4.      The duration of this examination is three hours. Because of the nature of this
        examination, it is important to note that you will not be permitted to leave the
        examination room before the end of the examination session.

5.      This question paper is set with programming terms that are specific to the Delphi
        programming language. The Delphi programming language must be used to
        answer the questions.

6.      Make sure that you answer the questions according to the specifications that are
        given in each question. Marks will be awarded according to the set requirements.

7.      Answer only what is asked in each question. For example, if the question does
        not ask for data validation, then no marks will be awarded for data validation.

8.      Your programs must be coded in such a way that they will work with any data and
        not just the sample data supplied or any data extracts that appear in the question
        paper.

9.      Routines, such as search, sort and selection, must be developed from first
        principles. You may NOT use the built-in features of the Delphi programming
        language for any of these routines.

10.     All data structures must be defined by you, the programmer, unless the data
        structures are supplied.

11.     You must save your work regularly on the disk/CD/DVD/flash disk you have been
        given, or on the disk space allocated to you for this examination session.

12.     Make sure that your examination number appears as a comment in every
        program that you code, as well as on every event indicated.

13.     If required, print the programming code of all the programs/classes that you
        completed. Your examination number must appear on all printouts. You will be
        given half an hour printing time after the examination session.

14.     At the end of this examination session, you must hand in a disk/CD/DVD/
        flash disk with all your work saved on it OR you must make sure that all your work
        has been saved on the disk space allocated to you for this examination session.
        Ensure that all files can be read.
                                         2025

Copyright reserved                                                           Please turn over

### Page 3

Information Technology/P1                  3                              DBE/May/June 2025
                                    SC/NSC Confidential

15.     The files that you need to complete this question paper have been provided to
        you on the disk/CD/DVD/flash disk or on the disk space allocated to you. The files
        are provided in the form of password-protected executable files.

        Do the following:

        •    Double click on the following password-protected executable file:
             DataJUN2025.exe
        •    Click on the 'Extract' button.
        •    Enter the following password: GAMES@J2025

        Once extracted, the following list of files will be available in the folder
        DataJUN2025:

        Question 1:                               Question 3:
        DataQ1_3.txt                              Game_U.pas
        Question1_P.dpr                           Question3_P.dpr
        Question1_P.dproj                         Question3_P.dproj
        Question1_P.res                           Question3_P.res
        Question1_U.dfm                           Question3_U.dfm
        Question1_U.pas                           Question3_U.pas

        Question 2:                               Question 4:
        CompGamesDB - Copy.mdb                    Question4_P.dpr
        CompGamesDB.mdb                           Question4_P.dproj
        ConnectDB_U.pas                           Question4_P.res
        Question2_P.dpr                           Question4_U.dfm
        Question2_P.dproj                         Question4_U.pas
        Question2_P.res
        Question2_U.dfm
        Question2_U.pas

Copyright reserved                                                           Please turn over

### Page 4

Information Technology/P1                 4                       DBE/May/June 2025
                                   SC/NSC Confidential

 SECTION A

 QUESTION 1: GENERAL PROGRAMMING SKILLS

 Do the following:

 •   Open the incomplete program in the Question 1 folder.
 •   Enter your examination number as a comment in the first line of the
     Question1_U.pas file.
 •   Compile and execute the program. The program has no functionality currently.

     Example of the graphical user interface (GUI):

 •   Complete the code for each section of QUESTION 1, as described in
     QUESTION 1.1 to QUESTION 1.5.

Copyright reserved                                                    Please turn over

### Page 5

Information Technology/P1                  5                              DBE/May/June 2025
                                    SC/NSC Confidential

1.1       Button [1.1 - Display shape]

          The user must select a shape from the radio group rgpQ1_1.

          Code has been provided in the OnCreate event handler to set the visibility
          property of the shpQ1_1 component to true.

          Write code to do the following:

          •   Extract the selected shape option from the radio group rgpQ1_1.
          •   Display the selected shape in the shape component shpQ1_1.

          Example of output if the 'Circle' option is selected from rgpQ1_1:

          Example of output if the 'Rectangle' option is selected from rgpQ1_1:

                                                                                                  (5)

1.2       Button [1.2 - Display colour]

          The user is required to select a colour from each of the provided combo boxes,
          cmbColour1 and cmbColour2, respectively.

          Code has been provided to do the following:

          •   Set the colour of the panel pnlQ1_2 to clBtnFace
          •   Clear the caption of the panel pnlQ1_2

Copyright reserved                                                             Please turn over

### Page 6

Information Technology/P1                    6                                DBE/May/June 2025
                                      SC/NSC Confidential

          Write code to do the following:

          •   Extract and store the colours selected from the combo boxes, cmbColour1
              and cmbColour2.

          •   Determine the colour combination based on the following conditions:

               o     If the combination of colours includes both 'Red' and 'Blue', set the
                     colour of the panel pnlQ1_2 to purple.
               o     Otherwise, set the panel caption of pnlQ1_2 to 'No colour'.

          Example of output if the colours 'Red' and 'Blue' are selected. The colour of the
          panel changes to purple:

          Example of output if any combination of colours, which excludes both 'Red' and
          'Blue', are selected:

                                                                                                      (8)

1.3       Button [1.3 - Average]

          A text file called DataQ1_3.txt has been provided. The text file contains an
          unknown number of integer values.

          Example of the first five lines of data in the text file DataQ1_3.txt:

                            22
                            21
                            23
                            42
                            124

Copyright reserved                                                                 Please turn over

### Page 7

Information Technology/P1                    7                                DBE/May/June 2025
                                      SC/NSC Confidential

          The average of the numbers in the text file must be calculated and displayed.

          Write code to do the following:

          Check whether or not the text file DataQ1_3.txt exists.
          • If the file does NOT exist, display a suitable message in the memo
             component memQ1_3 and close the program.
          • If the file exists:
             o Use a conditional loop to read the numbers from the text file.
             o Determine the average of the numbers read from the text file.
             o Display the average rounded to TWO decimal places in the memo
                 component memQ1_3.

          Example of output:

                                                                                                     (10)

1.4       Button [1.4 - Display pattern]

          A pattern consisting of digits starting with the value of 1 in row 1, the value 2 in
          row 2, the value 3 in row 3 and so on, must be displayed. The number of rows
          and the number of digits per row will depend on the value selected by the user
          from the spin edit spnQ1_4.

          Example of the pattern if the user selects the value of 4:

                            1
                            22
                            333
                            4444

          Code has been provided to clear the rich edit component redQ1_4.

          Write code to do the following:

          •   Extract the number of rows selected from the spin edit spnQ1_4.
          •   Use nested loops and the selected number of rows to compile and display
              the pattern described above, in the redQ1_4 component.

Copyright reserved                                                                Please turn over

### Page 8

Information Technology/P1                  8                            DBE/May/June 2025
                                    SC/NSC Confidential

          Example of input and output if the number of rows selected was three:

         Example of input and output if the number of rows selected was six:

                                                                                               (8)

1.5       Button [1.5 - Sum of ASCII values]

          A user must select a string from the provided list box lstQ1_5. The sum of the
          ASCII values associated with only the uppercase letters in the string must be
          calculated and displayed.

          Write code to do the following:

          •   Declare a variable to store the sum of the values.
          •   Extract and store the string selected from the list box lstQ1_5.
          •   Use a loop to step through the characters in the string.
              If a character is an uppercase letter:
              o Determine the ASCII value of the uppercase letter
              o Add the value to the sum variable
          •   Display the sum of the ASCII values of the uppercase letters in the label
              lblQ1_5.

Copyright reserved                                                          Please turn over

### Page 9

Information Technology/P1                   9                              DBE/May/June 2025
                                     SC/NSC Confidential

          Example of output if the string 'PGw#33' was selected from the list box:

          Example of output if the string 'jhy&^js' was selected from the list box:

                                                                                                  (9)

 •   Enter your examination number as a comment in the first line of the program file.
 •   Save your program.
 •   Print the code if required.

                                                                     TOTAL SECTION A:             40

Copyright reserved                                                             Please turn over

### Page 10

Information Technology/P1                10                            DBE/May/June 2025
                                  SC/NSC Confidential

 SECTION B

 QUESTION 2: DATABASE PROGRAMMING

 A gaming company requires assistance in generating queries using a comprehensive
 database consisting of popular video games.

 A database called CompGamesDB.mdb, which contains information about popular
 video games released before the year 2020, has been created.

 The database contains two tables called tblCompanies and tblGames.

 The data pages attached at the end of the question paper provide information on the
 design of the database CompGamesDB.mdb and its contents.

 Do the following:

 •   Open the incomplete project file called Question2_P.dpr in the Question 2 folder.
 •   Add your examination number as a comment in the first line of the Question2_U.pas
     unit file.
 •   Compile and execute the program. The program has no functionality currently. The
     contents of the tables are displayed, as shown below on the selection of tab sheet
     2.2 - Delphi code.

Copyright reserved                                                         Please turn over

### Page 11

Information Technology/P1                   11                             DBE/May/June 2025
                                     SC/NSC Confidential

 •     Follow the instructions below to complete the code for each section, as described in
       QUESTION 2.1 and QUESTION 2.2.
 •     Use SQL statements to answer QUESTION 2.1 and Delphi code to answer
       QUESTION 2.2.

 NOTE:

 •     The ꞌRestore databaseꞌ button is provided to restore the data contained in the
       database to the original content.
 •     The content of the database is password protected, i.e. you will NOT be able to gain
       access to the content of the database using Microsoft Access.
 •     Code is provided to link the GUI components to the database. Do NOT change any
       of the code provided.
 •     TWO variables are declared as public variables, as described in the table below.

     Variable               Data type             Description
     tblCompanies           TADOTable             Refers to the table tblCompanies
     tblGames               TADOTable             Refers to the table tblGames

 2.1       Tab sheet [2.1 - SQL]

           Example of the graphical user interface (GUI) for QUESTION 2.1:

Copyright reserved                                                             Please turn over

### Page 12

Information Technology/P1                   12                            DBE/May/June 2025
                                     SC/NSC Confidential

           NOTE:

           •   Use ONLY SQL statements to answer QUESTION 2.1.1 to
               QUESTION 2.1.5.
           •   Code to execute the SQL statements and display the results of the queries
               is provided. The SQL statements assigned to the variables sSQL1, sSQL2,
               sSQL3, sSQL4 and sSQL5 are incomplete.

           Complete the SQL statements to perform the tasks described in
           QUESTION 2.1.1 to QUESTION 2.1.5 below.

           2.1.1     Button [2.1.1 - USA companies]

                     Display ALL the fields of ALL the companies in the tblCompanies
                     table, that were founded in the USA.

                     Example of output of the first four records:

                                                                                                 (3)

           2.1.2     Button [2.1.2 - Year released]

                     Display the GameTitle, Genre and the DateReleased of all games
                     from the tblGames table that were released since the year 2019.

                     Example of output of the first five records:

                                                                                                 (4)

           2.1.3     Button [2.1.3 - Genre]

                     The user must enter the genre of a game to search for, using an input
                     dialogue box.

                     Code has been provided to extract the genre entered by the user and
                     store the genre in a variable called sGenre.

                     Display the GameTitle and DateReleased of all games that match
                     the genre entered by the user, sorted according to the date released,
                     from the latest to the oldest game.

Copyright reserved                                                            Please turn over

### Page 13

Information Technology/P1                  13                               DBE/May/June 2025
                                    SC/NSC Confidential

                     Example of output if the genre 'Sports' was entered:

                                                                                                  (4)

           2.1.4     Button [2.1.4 - Average Income per year]

                     Determine and display the average income per year, considering the
                     year in which the company was founded.

                     HINT: Divide the total income of all the games developed by the
                           company by the number of years since the company was
                           founded.

                     NOTE: The values in the Income field in the tblGames table is in
                           millions. Example: The income from the game 'Among Us' is
                           represented as 500, which means R500 000 000.

                     Display the name of the company and the average income
                     per year in millions. The calculated average income per year
                     must be displayed in currency format in a new field called
                     AverageIncomePerYear.

                     Example of output of the first four companies:

                                                                                                  (8)

           2.1.5     Button [2.1.5 - Remove game]

                     Write code to remove the game called Apex Legends from the
                     tblGames table.

                     HINT: Click Button 2.1.2 to see whether the record has been
                           removed or not.

                     NOTE: Restore the database to be able to use the original data when
                           testing your code.                                                     (2)

Copyright reserved                                                             Please turn over

### Page 14

Information Technology/P1                  14                              DBE/May/June 2025
                                    SC/NSC Confidential

 2.2       Tab sheet [2.2 - Delphi code]

           Example of the graphical user interface (GUI) for QUESTION 2.2:

           NOTE:

           •   Use ONLY Delphi programming code to answer QUESTION 2.2.1 and
               QUESTION 2.2.2.
           •   NO marks will be awarded for SQL statements in QUESTION 2.2.

           2.2.1     Button [2.2.1 - Update genre]

                     There are various Tetris games available such as Tetris 1, Tetris 2,
                     Tetris 99, etc. The Genre of all the Tetris games have been stored
                     incorrectly and will need to be changed.

                     Write code to change the genre of all games that have 'Tetris' as part
                     of the GameTitle field, to 'Puzzle'.                                        (7)

Copyright reserved                                                            Please turn over

### Page 15

Information Technology/P1                  15                            DBE/May/June 2025
                                    SC/NSC Confidential

           2.2.2     Button [2.2.2 - Show detail]

                     The user must select a title of a game from the combo box
                     cmbQ2_2_2.

                     Code has been provided to extract the title of the game selected by
                     the user and store the title in a variable called sGame.

                     Display the game title selected, the genre, the company that
                     developed the game and the country that the company is from, in a
                     ShowMessage dialogue box.

                     The GameTitle and Genre of the game must be displayed in the first
                     line and the CompanyName and Country in the second line in the
                     ShowMessage dialogue box, as shown in the example below.

                     Example of input:

                     Example of output:

                                                                                               (12)

 •   Enter your examination number as a comment in the first line of the program file.
 •   Save your program.
 •   Print the code if required.

                                                                   TOTAL SECTION B:            40

Copyright reserved                                                          Please turn over

### Page 16

Information Technology/P1                 16                          DBE/May/June 2025
                                   SC/NSC Confidential

 SECTION C

 QUESTION 3: OBJECT-ORIENTED PROGRAMMING

 Gamers use an application that provide them with information about exclusive online/
 offline games that are available for a single platform only.

 Do the following:
 •   Open the incomplete program in the Question 3 folder.
 •   Open the incomplete object class Game_U.pas.
 •   Enter your examination number as a comment in the first line of the
     Question3_U.pas file and the Game_U.pas file.
 •   Compile and execute the program. The program has limited functionality currently.

 Example of the graphical user interface (GUI):

 •   Complete the code as specified in QUESTION 3.1 and QUESTION 3.2.

 NOTE: You are NOT allowed to add any additional attributes or user-defined methods,
       unless instructed to do so in the question.

Copyright reserved                                                        Please turn over

### Page 17

Information Technology/P1                   17                              DBE/May/June 2025
                                     SC/NSC Confidential

 3.1       The provided incomplete object class (TGame) contains the declaration of four
           attributes which describe a Game object.

           The UML class diagram for the TGame class is given below.

                                            TGame object
             - fName: String                 // Name of game
             - fOnline: Boolean              // True if internet access is
                                                required to play and false if
                                                not
             - fDownloadCount: Integer       // Number of times the game was
                                                downloaded
             - fPlatform: String             // Which platform the game runs on
                                                (Xbox/PlayStation/PC)
             + constructor create(sName: String, bOnline: Boolean,
                                  iDownloadCount: Integer, sPlatform: String)
             + onlineStatus: String
             + updateDownloadCount(iNumberDownloads: Integer)
             + determinePopularity: String
             + getName: String (provided)
             + getOnline: Boolean (provided)
             + getPlatform: String (provided)
             + toString : String (provided - incomplete)

           Complete the code in the object class, as described in QUESTION 3.1.1 to
           QUESTION 3.1.5.

           Use the UML diagram           provided    to    answer   QUESTION      3.1.1   to
           QUESTION 3.1.5.

           3.1.1     Write code for the constructor create method as defined in the
                     provided class diagram. The attributes must be initialised using the
                     received parameter values.                                                   (5)

           3.1.2     Write code for the onlineStatus method that will return a String value,
                     'Yes' or 'No' to indicate whether the game requires internet access or
                     not.                                                                         (4)

           3.1.3     Write code for the updateDownloadCount method, which will
                     increase the value of the fDownloadCount attribute using the value
                     received as a parameter.                                                     (3)

Copyright reserved                                                             Please turn over

### Page 18

Information Technology/P1                     18                              DBE/May/June 2025
                                       SC/NSC Confidential

           3.1.4     Write code for a method called determinePopularity that uses the
                     information below to determine the popularity of a game, only if it is
                     an online game. Return the result (popularity) as a String value,
                     based on the information in the table below. Return the string 'Not an
                     online game' if the game is not an online game.

                     The popularity of an online game is determined by the download
                     count, e.g. a game with a download count of 500 000 or more is
                     considered 'Very popular'.

                                 Download count                       Popularity
                         Less than 100 000                   'Not popular'
                         Greater than or equal to 100 000
                                                             'Popular'
                         and smaller than 500 000
                         Greater than or equal to 500 000    'Very popular'                         (10)

           3.1.5     An incomplete toString method has been provided. Complete the
                     code for the toString method to indicate whether internet access is
                     required or not for the game ('Yes'/'No').

                     Format of the toString method:

                     Name: <Name of the game>
                     Internet required: <Yes/No>
                     Number of downloads: <Download count>
                     Platform: <Platform>                                                           (2)

 3.2       An incomplete program has been supplied in the Question 3 folder. The
           program contains code for the object class to be accessible and declares an
           object variable called objGame.

           Write code to perform the tasks described in QUESTION 3.2.1 to
           QUESTION 3.2.4.

           3.2.1     Button [3.2.1 - Instantiate object]

                     Code has been provided to extract and store the name, online status,
                     number of downloads and the platform of a game from the
                     components in variables.

                     Write code to do the following:

                     •      Use the variables sName, bOnline, iNumberOfDownloads and
                            sPlatform to instantiate a new objGame object.
                     •      Call the toString method to display the information of the Game
                            object in the rich edit redQ3.

Copyright reserved                                                               Please turn over

### Page 19

Information Technology/P1                    19                          DBE/May/June 2025
                                      SC/NSC Confidential

                     Example of input:

                     Example of output:

                                                                                               (5)

           3.2.2     Button [3.2.2 - Game compatibility]

                     The check box cbxQ3_2_2 must be ticked if the user has access to
                     the internet, and the platform being used must be selected from the
                     combo box cmbQ3_2_2.

                     Code has been provided to extract and store the values selected by
                     the user in variables bOnline and sPlatform.

                     Write code to do the following:

                     •      Call the getOnline and getPlatform methods to check whether
                            the user is able to play the game or not.
                     •      Use a message dialogue box to display an appropriate message
                            indicating whether the user can play the game or not.

                     Example of input:

Copyright reserved                                                          Please turn over

### Page 20

Information Technology/P1                     20                           DBE/May/June 2025
                                       SC/NSC Confidential

                     Example of output:

                     Example of input:

                     Example of output:

                                                                                                 (4)

           3.2.3     Button [3.2.3 - Update downloads]

                     When a game is downloaded, the relevant attribute of the Game
                     object must be updated accordingly.

                     The user must enter the number of new downloads of the game using
                     an input dialogue box.

                     Write code to do the following:

                     •      Call the updateDownloadCount method using the value
                            extracted from the input dialogue box as an argument.
                     •      Call the toString method to display the updated information of
                            the Game object in the rich edit redQ3.

                     Example of output for the game Elden Ring that had 650 000
                     downloads, and another 50 000 downloads were added:

                                                                                                 (5)

Copyright reserved                                                            Please turn over

### Page 21

Information Technology/P1                  21                            DBE/May/June 2025
                                    SC/NSC Confidential

           3.2.4     Button [3.2.4 - Popularity]

                     Write code to call the relevant methods to display the name and
                     popularity level of the game in the rich edit redQ3.

                     Example of output for the game Elden Ring that has 700 000
                     downloads:

                     Example of output for the game Orange Box that has 50 000
                     downloads:

                                                                                                (2)

 •   Enter your examination number as a comment in the first line of the object class and
     the form class.
 •   Save your program.
 •   Print the code in the object class and the form class if required.

                                                                   TOTAL SECTION C:             40

Copyright reserved                                                           Please turn over

### Page 22

Information Technology/P1                22                       DBE/May/June 2025
                                  SC/NSC Confidential

 SECTION D

 QUESTION 4: PROBLEM-SOLVING PROGRAMMING

 Do the following:

 •   Open the incomplete program in the Question 4 folder.
 •   Enter your examination number as a comment in the first line of the
     Question4_U.pas file.
 •   Compile and execute the program. The program has no functionality currently.

 Complete the code for each section of QUESTION 4, as described in QUESTION 4.1,
 QUESTION 4.2 and QUESTION 4.3.

 Example of graphical user interface (GUI) for QUESTION 4:

 A list box, lstQ4_2, which contains several sentences, has been provided in the
 program:

 Example of the sentences in list box lstQ4_2:

 •   The clown is very fascinating
 •   Six quick brown bytes jumped over lazy free algorithms
 •   Five or six big jet planes zoomed quickly by the tower

Copyright reserved                                                    Please turn over

### Page 23

Information Technology/P1                   23                              DBE/May/June 2025
                                     SC/NSC Confidential

4.1       Function isPangram

          A pangram is a string that contains all the letters of the alphabet at least once.

          An example of a pangram: The quick brown fox jumped over the lazy dog.

          Create a function called isPangram that will receive a sentence as a parameter
          and determine if the sentence is a pangram or not. Return the value TRUE if
          the sentence is a pangram, or otherwise, return the value FALSE.                         (8)

4.2       Button [4.2 - Execute]

          Each of the sentences provided in the list box lstQ4_2 must be read and
          evaluated to determine if each sentence is a pangram or not.

          Write code to display the sentences and the results of the pangrams in the rich
          edit redQ4_2, as shown in the example below.

          NOTE: Your code must work for any set of sentences, not only for the
                sentences provided in the list box.

          Example of output:

                                                                                                   (8)

4.3       Button [4.3 - Distinct numbers]

          You have been provided with the following global array:

             arrNumbers: array [1 .. 20] of Real = (10.39, 5.33, 5.48,
                         9.53, 5.82, 4.21, 5.33, 2.26, 4.21, 8.48, 4.82,
                         9.53, 2.17, 5.33, 9.53, 8.46, 9.53, 10.26, 5.33,
                         9.21);

          The array arrNumbers contains twenty real numbers.

          Some of the numbers in the array appear more than once. A distinct/unique
          element in an array is an element that is not repeated.

Copyright reserved                                                              Please turn over

### Page 24

Information Technology/P1                  24                           DBE/May/June 2025
                                    SC/NSC Confidential

          Write code to do the following:

          •   Identify the distinct/unique numbers in the arrNumbers array and display
              these numbers in the rich edit redQ4_3, as shown in the example of output
              below.
          •   Determine which two of the distinct/unique numbers have the lowest
              difference between them, and display the two numbers in the labels
              lblNum1 and lblNum2 and the difference between them in the label
              lblDifference, formatted to TWO decimal places.

          Example of output:

                                                                                            (14)

•   Enter your examination number as a comment in the first line of the program file.
•   Save your program.
•   Make a printout of the code if required.

                                                                  TOTAL SECTION D:          30
                                                                     GRAND TOTAL:           150

Copyright reserved

### Page 25

Information Technology/P1                  1                            DBE/May/June 2025
                                    SC/NSC Confidential

                            INFORMATION TECHNOLOGY P1

DATABASE INFORMATION QUESTION 2:

 The design of the database tables is as follows:

 Table: tblCompanies

 This table contains the details of each company:

  Field name                Data type      Description
  CompanyID                 Text(10)       Unique ID of the company
  CompanyName               Text(30)       Name of the company
  Country                   Text(15)       Country where the company is from
  YearFounded               Number         Year when the company was established

 Example of the first ten records of the tblCompanies table:

 Table: tblGames

 This table contains the details of the games developed by each company:

  Field name            Data type       Description
  GameID                Number          Unique ID for the game
  GameTitle             Text(40)        Title of the game
  Genre                 Text(20)        Genre of the game
  DateReleased          DateTime        Date the game was released
  Income                Number          Total income since the release date in millions
  CompanyID             Text(10)        The ID of the company that developed the game

Copyright reserved                                                          Please turn over

### Page 26

Information Technology/P1                 2                              DBE/May/June 2025
                                   SC/NSC Confidential

 Example of the first ten records of the tblGames table:

 NOTE:

 •   Connection code has been provided.
 •   The database is password-protected; therefore, you will not be able to access the
     database directly.

 The following one-to-many relationship with referential integrity exists between the two
 tables in the database:

Copyright reserved

### Page 27

Information Technology/P1                         DBE/May/June 2025
                            SC/NSC Confidential

                            PLANNING PAGE 1

Copyright reserved

### Page 28

Information Technology/P1                         DBE/May/June 2025
                            SC/NSC Confidential

                            PLANNING PAGE 2

Copyright reserved

### Page 29

Information Technology/P1                                                    DBE/May/June 2025
                                      SC/NSC Confidential

                                      Examination sticker

                                                                                       _______
                                                                                        150

            INFORMATION TECHNOLOGY P1 – MAY/JUNE 2025
INFORMATION SHEET (to be completed by the candidate AFTER the 3-hour exam session)

CENTRE NUMBER: ______________________________________________________

EXAMINATION NUMBER: _________________________________________________

WORK STATION NUMBER: ________________________________________________

Version of Delphi used during the INFORMATION TECHNOLOGY SC/NSC May/June 2025
Examinations:

 Mark appropriate                                                                          Other:
 box with a             Delphi   Delphi     Delphi     Delphi      Delphi     Delphi
                                                                                         (Specify)
 cross (X)               10       XE         10.3    Community      11         12
                                                                                         ________

FOLDER NAME: _________________________________________________________

Candidate must tick if the file name(s) used for each answer has been saved and/or attempted.
 Question                           Saved        Attempted    Maximum          Mark           Marker
                     Filename
 number                              ()             ()        Mark         Achieved         Code
               Question1_P.
      1        dproj                                               40

               Question2_P.
      2        dproj                                               40

               MGame_U.                                            24
               pas
      3
               Question3_P.                                        16
               dproj
               Question4_P.
      4        dproj                                               30

                            TOTAL                                 150

Comment: (for office/marker use only)

 ______________________________________________________________________

 ______________________________________________________________________

Copyright reserved

## Related documents

- [INFORMATION TECHNOLOGY P1 GR 12 QP SEPT2020 English](https://www.hlayiso.com/library/information-technology-p1-gr-12-qp-sept2020-english/54a79498-b880-4b85-a745-f97411d425cb) — Information Technology · QP · 2020 · Eng
- [IT P1 GR12 QP SEPT 2019 English](https://www.hlayiso.com/library/it-p1-gr12-qp-sept-2019-english/13baa4c0-c4fc-48ad-be32-a39f4775b286) — Information Technology · QP · 2019 · Eng
- [IT P1 GR12 QP SEPT2018 English](https://www.hlayiso.com/library/it-p1-gr12-qp-sept2018-english/b77b5a5f-75b4-4d23-aaa6-5ab3653b9aeb) — Information Technology · QP · 2018 · Eng
- [Information Technology P1 May June 2019 Afr](https://www.hlayiso.com/library/information-technology-p1-may-june-2019-afr/6881c007-0025-4f7b-b5e7-02d3eb15ab1a) — Information Technology · QP · 2019 · Afr
- [Information Technology P1 May June 2018 Eng](https://www.hlayiso.com/library/information-technology-p1-may-june-2018-eng/f20968e6-cad1-4344-a27e-a4710f8d6ccc) — Information Technology · QP · 2018 · Eng
- [Information Technology P1 June July 2015 Afr](https://www.hlayiso.com/library/information-technology-p1-june-july-2015-afr-2/99bccf2f-17ab-41f3-b2cd-41e24e170d07) — Information Technology · QP · 2015 · Afr

## More from Grade 12 Information Technology

- [IT P1 MEMO GR12 SEPT 2024 English](https://www.hlayiso.com/library/it-p1-memo-gr12-sept-2024-english/8994aed2-83ec-413e-b7dc-b0d0b93b82f4) — Memo · 2024 · Eng
- [IT P2 MEMO GR12 SEPT 2024 English](https://www.hlayiso.com/library/it-p2-memo-gr12-sept-2024-english/4d74acb4-cb8b-4fd3-874f-4801fbcb8f44) — Memo · 2024 · Eng
- [IT P2 GR12 MEMO SEPT2023 English](https://www.hlayiso.com/library/it-p2-gr12-memo-sept2023-english/41fa8299-d258-40e9-8c8b-a3ce984eef54) — Memo · 2023 · Eng
- [Information Technology P1 May-June 2023 MG Eng](https://www.hlayiso.com/library/information-technology-p1-may-june-2023-mg-eng/f868554b-8f4f-4370-aa4e-cfa745fc806d) — Memo · 2023 · Eng
- [IT P1 GR12 MEMO SEPT 2022 English](https://www.hlayiso.com/library/it-p1-gr12-memo-sept-2022-english/6e7cbe6a-69aa-4c7d-bcd4-dcfeaf4c8272) — Memo · 2022 · Eng
- [IT P2 GR12 QP SEPT2022 English](https://www.hlayiso.com/library/it-p2-gr12-qp-sept2022-english/59a4dc5f-1ee1-44b9-b838-76b7e9322abb) — QP · 2022 · Eng

## Collection

- [Grade 12 past papers](https://www.hlayiso.com/grade-12/past-papers)

---

Hlayiso: free CAPS and IEB past papers, memos, notes and study guides for South African learners. When citing, link the page URL above, not a PDF or /api/ URL.
