# Information Technology Grade 11 P1 November Mock 2026 QP

> Grade 11 Information Technology Paper 1 question paper from the November Mock Exam 2026 (English), 24 pages. Read online or download the free PDF.

- Page: https://www.hlayiso.com/library/grade-11-information-technology-2026-november-mock-exam-question-paper-paper-1/857d7333-7565-44b9-a9dd-d0e0de3aa280
- Updated: 2026-10-29
- Subject: Information Technology
- Grade: Grade 11
- Language: English
- Document type: Question paper
- Year: 2026
- Exam period: November Mock Exam
- Paper: 1
- Publisher: Hlayiso
- Curriculum: CAPS
- Pages: 24

Breadcrumbs: [Home](https://www.hlayiso.com/) › [Library](https://www.hlayiso.com/library) › [Grade 11](https://www.hlayiso.com/library/grade-11) › [Information Technology](https://www.hlayiso.com/library/grade-11/information-technology) › [Information Technology Grade 11 P1 November Mock 2026 QP](https://www.hlayiso.com/library/grade-11-information-technology-2026-november-mock-exam-question-paper-paper-1/857d7333-7565-44b9-a9dd-d0e0de3aa280)

## About this document

Information Technology · Grade 11 · November Mock Exam · 2026 · English. Question paper, 24 pages. Read online or download the PDF.

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

## Matching paper and memo

- [Grade 11 Information Technology P1 November 2026 Mock Memo](https://www.hlayiso.com/library/grade-11-information-technology-2026-november-mock-exam-memorandum-paper-1/726303a4-959e-4bd2-851f-8e5359d8ca7b) — Memo · 2026 · Eng

## Document text

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

### Page 1

Mock

                           hlayiso mock exams
                           Practice Series:
                           Grade 11 Exam Preparation
                           WWW.HLAYISO.COM

                                NATIONAL
                           SENIOR CERTIFICATE

                                   GRADE 11

                        INFORMATION TECHNOLOGY P1
                     NOVEMBER EXAMINATION 2026 (MOCK)

  MARKS: 150

  TIME: 3 hours

                     This question paper consists of 24 pages.

Copyright reserved                                               Please turn over

### Page 2

Information Technology/P1                  2                              Hlayiso/Mock 2026
                                        NSC Mock

INSTRUCTIONS AND INFORMATION

1.    This question paper consists of FOUR questions. Candidates must answer ALL the
      questions.
2.    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.
3.    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.
4.    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.
5.    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.
6.    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.
7.    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, for example Locate, Filter, Sort, RecordCount or CharInSet.
8.    All data structures must be defined by you, the programmer, unless the data structures
      are supplied.
9.    You must save your work regularly on the disk space allocated to you for this
      examination session.
10.   Make sure that your examination number appears as a comment in every program that
      you code, as well as on every event indicated.
11.   If required, print the programming code of all the programs that you completed. Your
      examination number must appear on all printouts.

Copyright reserved                                                          Please turn over

### Page 3

Information Technology/P1                    3                               Hlayiso/Mock 2026
                                          NSC Mock

12.   The files that you need to complete this question paper have been provided to you on
      the disk space allocated to you, in a folder called DataNov2026.
      Once copied, the following list of files will be available in the folder DataNov2026:
      Question 1:                                 Question 3:
      Question1_P.dpr                             dbConnection_U.pas
      Question1_P.dproj                           Question3_P.dpr
      Question1_U.dfm                             Question3_P.dproj
      Question1_U.pas                             Question3_U.dfm
                                                  Question3_U.pas
                                                  TrailsDB.mdb
                                                  TrailsDB - Copy.mdb
      Question 2:                                 Question 4:
      Question2_P.dpr                             Question4_P.dpr
      Question2_P.dproj                           Question4_P.dproj
      Question2_U.dfm                             Question4_U.dfm
      Question2_U.pas                             Question4_U.pas
      Recycling.txt

Copyright reserved                                                             Please turn over

### Page 4

Information Technology/P1                                             4                            Hlayiso/Mock 2026
                                                                   NSC Mock

QUESTION 1: GENERAL PROGRAMMING SKILLS
The organisers of the Run Jozi fun run need a program to help runners plan for the race and
to calculate entry fees.
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):
  Question 1 - General programming skills                                                                         – □ ×
   1.1                                                                 1.4

         1.1 - Format panel                     Welcome                 Full name:

                                                                        Date of birth:
   1.2
                                                                               1.4 - Race number
    Distance (km):                                        1.2 - Pace

    Time (min / s):           0         0
                                                                       1.5

                                                                        Distance (km):             1.5 - Water tables

   1.3
      Race
        5 km - R80                     Age:     18
        10 km - R120
        21.1 km - R220                      Club member

                                                 1.3 - Entry fee

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

Copyright reserved                                                                                     Please turn over

### Page 5

Information Technology/P1                       5                         Hlayiso/Mock 2026
                                             NSC Mock

1.1      Button [1.1 - Format panel]
         Write code to change the properties of the panel pnlQ1_1 as follows:

          • Display the text ’Run Jozi 2026’ on the panel.
          • Change the colour of the panel to yellow (clYellow).
          • Change the font size of the panel to 16.
          • Change the font style of the panel to bold.

         Example of output:

                        1.1 - Format panel        Run Jozi 2026
                                                                                         (4)
1.2      Button [1.2 - Pace]
         Runners want to know their pace, which is the average time that they take to
         run one kilometre, and their average speed.
         The user enters the distance of a run in kilometres in the edit box
         edtQ1_2_Dist, and the time taken in minutes and seconds in the spin edits
         spnQ1_2_Min and spnQ1_2_Sec.
         Write code to do the following:

          • Extract the distance and the time from the components and calculate the
            total time in seconds.
          • Calculate the pace in seconds per km, rounded to the nearest whole
            number of seconds.
          • Use the DIV and MOD operators to display the pace as minutes and
            seconds in the label lblQ1_2_Pace in the following format:
            Pace: <minutes> min <seconds> s per km
          • Calculate the average speed in km/h using the formula: speed = distance
            ÷ (total seconds ÷ 3 600)
          • Display the average speed, formatted to TWO decimal places, in the label
            lblQ1_2_Speed in the following format:
            Average speed: <speed> km/h

Copyright reserved                                                          Please turn over

### Page 6

Information Technology/P1                       6                      Hlayiso/Mock 2026
                                             NSC Mock

Example of input and output if a distance of 10 km was run in 52 minutes and 30
seconds:
               1.2

                Distance (km):        10                1.2 - Pace

                Time (min / s):       52       30

                Pace: 5 min 15 s per km
                Average speed: 11.43 km/h

Example of input and output if a distance of 21.1 km was run in 125 minutes and 0
seconds:
               1.2

                Distance (km):        21.1              1.2 - Pace

                Time (min / s):       125      0

                Pace: 5 min 55 s per km
                Average speed: 10.13 km/h

                                                                                      (8)

Copyright reserved                                                       Please turn over

### Page 7

Information Technology/P1                     7                               Hlayiso/Mock 2026
                                           NSC Mock

1.3      Button [1.3 - Entry fee]
         The entry fee depends on the race that is selected in the radio group rgpQ1_3:

                                      Race           Entry fee
                                      5 km            R80.00
                                      10 km          R120.00
                                      21.1 km        R220.00

          • Runners who are 65 years or older may enter ANY race for free.
          • Members of a running club receive a 15% discount on the entry fee.

         Write code to do the following:

          • Use the item selected in the radio group rgpQ1_3 to determine the entry
            fee. If no race has been selected, display a suitable message and exit the
            procedure.
          • Extract the age of the runner from the spin edit spnQ1_3_Age.
          • If the runner is 65 years or older, display the text ’Entry fee: FREE’ in the
            label lblQ1_3.
          • Otherwise, apply the discount if the check box chkQ1_3 has been ticked,
            and display the entry fee in the label lblQ1_3 with the text ’Entry fee: ’, in
            currency format with a rand sign and TWO decimal places.
Example of input and output for a 34-year-old club member who enters the 10 km race:

               1.3
                 Race
                   5 km - R80                 Age:     34
                   10 km - R120
                   21.1 km - R220             ✓ Club member

                                                       1.3 - Entry fee

                Entry fee: R 102.00

Example of input and output for a 67-year-old club member who enters the 5 km race:

               1.3
                 Race
                   5 km - R80                 Age:     67
                   10 km - R120
                   21.1 km - R220             ✓ Club member

                                                       1.3 - Entry fee

                Entry fee: FREE

                                                                                              (8)

Copyright reserved                                                               Please turn over

### Page 8

Information Technology/P1                           8                    Hlayiso/Mock 2026
                                                 NSC Mock

1.4      Button [1.4 - Race number]
         Each runner receives a unique race number. The user enters the full name
         of the runner (first name and surname, separated by ONE space) in the
         edit box edtQ1_4_Name and the date of birth of the runner in the format
         YYYY/MM/DD in the edit box edtQ1_4_DOB.
         Write code to do the following:

          • Extract the full name and the date of birth from the edit boxes.
          • If the full name does NOT contain a space, display the message ’Enter a
            first name and a surname’ and exit the procedure.
          • Separate the first name and the surname.
          • Create a race number consisting of the following parts:
             o The first letter of the first name
             o The first THREE letters of the surname
             o The last TWO digits of the year of birth
             o A hyphen (’-’)
             o A random number from 100 to 999 (both included)
            All the letters in the race number must be in upper case.
          • Display the race number in the label lblQ1_4 in the following format:
            Race number: <race number>

         Example of input and output if ’Thandiwe Mokoena’ and ’2009/05/14’ were
         entered:
                     1.4

                      Full name:            Thandiwe Mokoena

                      Date of birth:        2009/05/14

                             1.4 - Race number

                      Race number: TMOK09-262

         NOTE: The last three digits may differ due to the nature of random numbers.
                                                                                       (11)

Copyright reserved                                                          Please turn over

### Page 9

Information Technology/P1                            9                            Hlayiso/Mock 2026
                                                  NSC Mock

1.5      Button [1.5 - Water tables]
         Water tables are placed along a race route every 2.5 km, starting at the 2.5
         km mark. No water table is placed at the finish line or after the finish line. A
         constant GAP = 2.5 has been provided.
         Code has been provided to clear the memo memQ1_5.
         Write code to do the following:

          • Extract the total distance of the route in kilometres from the edit box
            edtQ1_5.
          • Use a conditional loop to determine the position of each water table.
            Display the number of the water table and its position, formatted to ONE
            decimal place, in the memo memQ1_5 in the following format:
            Water table <number>: <position> km
          • After the loop, display the total number of water tables in the format:
            Number of water tables: <number>

         Example of input and output for a route of 21.1 km:

                     1.5

                      Distance (km):           21.1          1.5 - Water tables

                      Water table 1: 2.5 km
                      Water table 2: 5.0 km
                      Water table 3: 7.5 km
                      Water table 4: 10.0 km
                      Water table 5: 12.5 km
                      Water table 6: 15.0 km
                      Water table 7: 17.5 km
                      Water table 8: 20.0 km

                      Number of water tables: 8

                                                                                                 (9)

 • Enter your examination number as a comment in the first line of the program file.
 • Save your program.
 • A printout of the code may be required.
                                                                                               [40]

Copyright reserved                                                                  Please turn over

### Page 10

Information Technology/P1                   10                            Hlayiso/Mock 2026
                                         NSC Mock

QUESTION 2: ARRAYS AND TEXT FILES
Learners in Grade 11 at Kgotso Secondary School collected plastic for a recycling drive. The
mass of plastic that each learner collected, in kilograms, was recorded in a text file.
Do the following:
 • Open the incomplete program in the Question 2 folder.
 • Enter your examination number as a comment in the first line of the Question2_U.pas file.
 • Compile and execute the program. The program has no functionality currently.
Example of the graphical user interface (GUI):
   Question 2 - Arrays and text files                                             – □ ×
    Options

                  2.1 - Load data

                   2.2 - Display

     Class:     Select a class

                 2.3 - Class report

                   2.4 - Top five

                 2.5 - Certificates

Copyright reserved                                                           Please turn over

### Page 11

Information Technology/P1                     11                             Hlayiso/Mock 2026
                                           NSC Mock

The text file called Recycling.txt contains the name of each learner, the class of the learner
and the mass of plastic that the learner collected in kilograms. The format of each line in the
text file is as follows:
     <name of learner>;<class>;<kilograms>
Example of the first five lines in the text file:
      Lerato Molefe;11B;14.5
      Sipho Ndlovu;11A;9.0
      Ayesha Khan;11C;21.5
      Pieter van Wyk;11D;6.5
      Nomvula Zulu;11A;17.0
The following global arrays and counter variable have been declared:
      arrNames: array [1 .. 50] of String;
      arrClasses: array [1 .. 50] of String;
      arrKg: array [1 .. 50] of Real;
      iCount: Integer;
Complete the code for each section of QUESTION 2, as described in QUESTION 2.1 to
QUESTION 2.5 below.
2.1      Button [2.1 - Load data]
         A text file variable tFile has been declared.
         Write code to do the following:

          • Test whether the text file Recycling.txt exists. If the file does not exist,
            display a suitable message and exit the procedure.
          • Assign the text file to the variable tFile and prepare the file for reading.
          • Read each line in the text file. Extract the name, the class and the
            kilograms and store them in the parallel arrays arrNames, arrClasses
            and arrKg. Use the variable iCount to keep track of the number of learners
            stored in the arrays.
          • Close the text file and display the number of learners in the label lblQ2_1
            in the format:
            Number of learners: <number>

         Example of output:

                                           2.1 - Load data

                                Number of learners: 24
                                                                                           (12)

Copyright reserved                                                             Please turn over

### Page 12

Information Technology/P1                     12                          Hlayiso/Mock 2026
                                           NSC Mock

2.2      Button [2.2 - Display]
         Code has been provided to clear the rich edit redQ2, to set tab stops and to
         display the headings.
         Write code to do the following:

          • Display the name, the class and the kilograms of each learner in the rich
            edit redQ2 in neat columns. The kilograms must be formatted to ONE
            decimal place.
          • Calculate the total number of kilograms collected by all the learners.
          • Display the total number of kilograms and the average number of
            kilograms per learner, both formatted to ONE decimal place, as shown
            below.

         NOTE: QUESTION 2.1 must be completed before QUESTION 2.2 can be
         tested.
         Example of output (the middle part of the output has been omitted):

          Name                 Class   Kg
          Lerato Molefe        11B     14.5
          Sipho Ndlovu         11A     9.0
          Ayesha Khan          11C     21.5
          ...
          Fatima Essop         11C     11.0
          Andile Mthembu       11D     14.0

          Total collected: 306.5 kg
          Average per learner: 12.8 kg

                                                                                            (7)

Copyright reserved                                                             Please turn over

### Page 13

Information Technology/P1                     13                          Hlayiso/Mock 2026
                                           NSC Mock

2.3      Button [2.3 - Class report]
         The user selects a class from the combo box cmbQ2_3. Code has been
         provided to clear the rich edit redQ2.
         Write code to do the following:

          • If no class has been selected, display a suitable message and exit the
            procedure.
          • Use the arrays to determine, for the selected class:
             o the number of learners in the class;
             o the total number of kilograms collected by the class;
             o the name of the learner in the class who collected the most kilograms,
                and the number of kilograms collected by that learner.
          • Display the information in the rich edit redQ2 as shown in the example
            below.

         Example of output if class 11B was selected:

          Class 11B
          Number of learners: 6
          Total collected: 84.5 kg
          Top recycler: Johan Botha (19.5 kg)

                                                                                         (8)

Copyright reserved                                                          Please turn over

### Page 14

Information Technology/P1                     14                              Hlayiso/Mock 2026
                                           NSC Mock

2.4      Button [2.4 - Top five]
         Code has been provided to clear the rich edit redQ2 and to display a heading.
         Write code to do the following:

          • Sort the parallel arrays from the highest number of kilograms to the lowest
            number of kilograms.
          • Display the position, name, class and kilograms of the FIVE learners who
            collected the most plastic in the rich edit redQ2, as shown in the example
            below.

         Example of output:

          TOP FIVE RECYCLERS
          1. Musa Khumalo (11D) - 23.0 kg
          2. Ayesha Khan (11C) - 21.5 kg
          3. Palesa Radebe (11A) - 20.0 kg
          4. Johan Botha (11B) - 19.5 kg
          5. Sibusiso Ngcobo (11B) - 18.0 kg
                                                                                             (8)
2.5      Button [2.5 - Certificates]
         Learners who collected 15 kg or more of plastic will receive a certificate.
         Write code to do the following:

          • Create a new text file called Certificates.txt.
          • Write the details of each learner who collected 15 kg or more to the text
            file, one learner per line, in the following format:
            <name> (<class>) - <kilograms> kg
            The kilograms must be formatted to ONE decimal place.
          • Close the text file and display a message that indicates how many
            certificates were written to the file.

         Example of the first three lines in the text file Certificates.txt if the arrays
         were NOT sorted:
             Ayesha Khan (11C) - 21.5 kg
             Nomvula Zulu (11A) - 17.0 kg
             Kayla Pillay (11D) - 15.0 kg

         Example of the message:
             9 certificates have been written to the file

         NOTE: The order of the lines in the text file will differ if QUESTION 2.4 was
         executed first.                                                                     (5)

 • Enter your examination number as a comment in the first line of the program file.
 • Save your program.
 • A printout of the code may be required.
                                                                                            [40]

Copyright reserved                                                              Please turn over

### Page 15

Information Technology/P1                         15                                  Hlayiso/Mock 2026
                                               NSC Mock

QUESTION 3: DATABASE PROGRAMMING
A hiking club keeps information about popular hiking trails in South Africa in a database
called TrailsDB.mdb. The database contains ONE table called tblTrails.
The design of the table tblTrails is as follows:
 Field name               Data type           Description
 TrailID (PK)             AutoNumber          A unique number that identifies a trail
 TrailName                Text (30)           The name of the trail
 Province                 Text (15)           The province in which the trail is located
 Distance                 Number              The length of the trail in km
 Difficulty               Text (10)           The difficulty level of the trail (Easy, Moderate or Hard)
 DogFriendly              Yes/No              True if dogs are allowed on the trail, otherwise False
 EntryFee                 Currency            The entry fee per person to hike the trail
 Rating                   Number              The average rating of the trail by hikers, from 1.0 to 5.0
                                              (0 if the trail has not been rated yet)
Example of the first ten records in the table tblTrails:
   TrailID TrailName                 Province      Distance Difficulty DogFriendly EntryFee Rating
         1 Amphitheatre Trail        KwaZulu-Natal 12.5     Hard       False        R110.00    4.8
         2 Kloofendal Ridge          Gauteng       4.2      Easy       True          R40.00    3.6
         3 Lion's Head Path          Western Cape 5.5       Moderate True             R0.00    4.6
         4 Otter Coastal Walk        Eastern Cape 8.0       Moderate False           R95.00    4.4
         5 Magaliesberg Loop         North West    14.0     Hard       True          R60.00    3.9
         6 Suikerbosrand Day Hike    Gauteng       10.0     Moderate False           R70.00    4.1
         7 Blyde River Rim           Mpumalanga 6.8         Moderate True            R85.00    4.7
         8 Klipriviersberg Circuit   Gauteng       7.5      Easy       True           R0.00    2.3
         9 Platteklip Gorge          Western Cape 3.0       Hard       True           R0.00    4.2
       10 Mount Sheba Forest         Mpumalanga 5.0         Easy       False         R50.00    3.5
NOTE:
 • Connection code has been provided in the unit dbConnection_U.pas. Do NOT change
   any of the code provided.
 • The table is accessed through the TADOTable object called tblTrails, which has been
   declared as a global variable.
 • The ’Restore database’ button restores the data in the database to the original content.
 • Do NOT open the database in Microsoft Access during the examination.
 • Use ONLY Delphi programming code to answer QUESTION 3. NO marks will be awarded
   for SQL statements.
 • Do NOT use the Locate, Filter, Sort or RecordCount methods/properties.

Copyright reserved                                                                       Please turn over

### Page 16

Information Technology/P1                                                       16                                                       Hlayiso/Mock 2026
                                                                             NSC Mock

Do the following:
 • Open the incomplete program in the Question 3 folder.
 • Enter your examination number as a comment in the first line of the Question3_U.pas file.
 • Compile and execute the program. The program has limited functionality currently. The
   records of the table are displayed when the program is executed.
Example of the graphical user interface (GUI):
Question 3 - Database programming                                                                                                                      – □ ×
tblTrails
  TrailID    TrailName                     Province               Distance       Difficulty          DogFriendly   EntryFee     Rating
  1          Amphitheatre Trail            KwaZulu-Natal          12.5           Hard                False         R110.00      4.8
  2          Kloofendal Ridge              Gauteng                4.2            Easy                True          R40.00       3.6
  3          Lion's Head Path              Western Cape           5.5            Moderate            True          R0.00        4.6
  4          Otter Coastal Walk            Eastern Cape           8.0            Moderate            False         R95.00       4.4
  5          Magaliesberg Loop             North West             14.0           Hard                True          R60.00       3.9
  6          Suikerbosrand Day Hike        Gauteng                10.0           Moderate            False         R70.00       4.1
  7          Blyde River Rim               Mpumalanga             6.8            Moderate            True          R85.00       4.7
  8          Klipriviersberg Circuit       Gauteng                7.5            Easy                True          R0.00        2.3
  9          Platteklip Gorge              Western Cape           3.0            Hard                True          R0.00        4.2
  10         Mount Sheba Forest            Mpumalanga             5.0            Easy                False         R50.00       3.5
  11         Golden Gate Ribbok            Free State             9.5            Hard                False         R120.00      4.5
  12         Hogsback Waterfalls           Eastern Cape           4.5            Easy                True          R30.00       3.8

 3.1                                                      3.4

   Select a province                                       Trail name:

                   3.1 - Province trails                   Province:         Select a province

                                                           Distance (km):
 3.2 / 3.3 / 3.5
                                                            Difficulty
                                                               Easy                            Dog friendly
                     3.2 - Statistics
                                                                Moderate
                                                                Hard
                   3.3 - Fee increase

                                                           Entry fee (R):    0
                   3.5 - Remove trail
                                                                             3.4 - Add trail

                                                                                                                     Restore database          Close

Complete the code for each section of QUESTION 3, as described in QUESTION 3.1 to
QUESTION 3.5 below.

Copyright reserved                                                                                                                         Please turn over

### Page 17

Information Technology/P1                       17                           Hlayiso/Mock 2026
                                             NSC Mock

3.1      Button [3.1 - Province trails]
         The user selects a province from the combo box cmbQ3_1. Code has been
         provided to clear the rich edit redQ3, to store the selected province in the
         variable sProvince and to display a heading.
         Write code to do the following:

          • Display the name and the distance of each trail in the selected province
            in the rich edit redQ3. The distance must be formatted to ONE decimal
            place.
          • After all the records have been processed, display the number of trails
            found. If no trails were found in the selected province, display the message
            ’No trails found’ instead.

         Example of output if ’Gauteng’ was selected:

                            Trails in Gauteng:
                            Kloofendal Ridge - 4.2 km
                            Suikerbosrand Day Hike - 10.0 km
                            Klipriviersberg Circuit - 7.5 km
                            Melville Koppies Walk - 3.2 km
                            Cradle Hominid Walk - 6.0 km
                            Number of trails: 5

                                                                                            (7)

Copyright reserved                                                             Please turn over

### Page 18

Information Technology/P1                        18                             Hlayiso/Mock 2026
                                              NSC Mock

3.2      Button [3.2 - Statistics]
         Code has been provided to clear the rich edit redQ3.
         Write code to determine and display the following information in the rich edit
         redQ3:

          • The name and the distance of the longest trail, with the distance formatted
            to ONE decimal place
          • The number of trails that are dog-friendly
          • The average rating of all the trails, formatted to TWO decimal places

         Example of output for the original data in the database:

                            Longest trail: Cederberg Wolfberg Arch (16.0 km)
                            Dog-friendly trails: 10
                            Average rating: 3.90

                                                                                                (9)
3.3      Button [3.3 - Fee increase]
         The entry fees of all the trails with the difficulty level ’Hard’ must be increased
         by 10%.
         Code has been provided to clear the rich edit redQ3.
         Write code to do the following:

          • Increase the entry fee of each ’Hard’ trail by 10% and save the change in
            the table.
          • Display the name of each updated trail and its new entry fee, in currency
            format, in the rich edit redQ3.
          • Display the number of entry fees that were updated.

         Example of output for the original data in the database:

                            Amphitheatre Trail: R 121.00
                            Magaliesberg Loop: R 66.00
                            Platteklip Gorge: R 0.00
                            Golden Gate Ribbok: R 132.00
                            Cederberg Wolfberg Arch: R 165.00
                            Tsitsikamma Waterfall: R 143.00
                            6 entry fees updated

                                                                                                (7)

Copyright reserved                                                                 Please turn over

### Page 19

Information Technology/P1                           19                                Hlayiso/Mock 2026
                                                 NSC Mock

3.4      Button [3.4 - Add trail]
         The details of a new trail must be added to the table. The user must enter
         the information of the new trail in the components in group box grpQ3_4, as
         shown below.
         Write code to do the following:

          • If the edit box edtQ3_4_Name is empty, OR no province has been selected
            in the combo box cmbQ3_4, OR no difficulty level has been selected in the
            radio group rgpQ3_4, display a suitable message and exit the procedure.
          • Add a new record to the table tblTrails using the following:
             o The name of the trail from the edit box edtQ3_4_Name
             o The province selected in the combo box cmbQ3_4
             o The distance from the edit box edtQ3_4_Dist
             o The difficulty level selected in the radio group rgpQ3_4
             o Whether the trail is dog-friendly from the check box chkQ3_4
             o The entry fee from the spin edit spnQ3_4
             o A rating of 0, because the trail has not been rated yet
          • Display a message to confirm that the trail has been added.

         NOTE: The TrailID field is an AutoNumber field and will be generated
         automatically.
         Example of input:

                               3.4

                                Trail name:      Kosi Bay Lakes Walk

                                Province:        KwaZulu-Natal

                                Distance (km): 7.2

                                 Difficulty
                                    Easy                           Dog friendly
                                     Moderate
                                     Hard

                                Entry fee (R):   65

                                                 3.4 - Add trail

         Example of the new record at the end of the table:
          TrailID TrailName          Province      Distance Difficulty DogFriendly EntryFee Rating
              21 Kosi Bay Lakes Walk KwaZulu-Natal 7.2      Easy       False        R65.00     0.0
                                                                                                      (9)

Copyright reserved                                                                       Please turn over

### Page 20

Information Technology/P1                      20                              Hlayiso/Mock 2026
                                            NSC Mock

3.5      Button [3.5 - Remove trail]
         Write code to do the following:

          • Use an input box to ask the user for the name of a trail that must be
            removed.
          • Search for the trail in the table tblTrails. The search must NOT be case
            sensitive and must stop as soon as the trail is found.
          • If the trail is found, ask the user to confirm the removal using a confirmation
            dialog box (MessageDlg). If the user clicks ’Yes’, delete the record and
            display a message that the trail has been removed.
          • If the trail is not found, display the message ’Trail not found’.

         Example of the confirmation dialog box if ’melville koppies walk’ was entered:

                     Confirm

                      ?     Are you sure you want to remove Melville Koppies Walk?

                                                    Yes         No
                                                                                                  (8)

 • Enter your examination number as a comment in the first line of the program file.
 • Save your program.
 • A printout of the code may be required.
                                                                                                [40]

Copyright reserved                                                                   Please turn over

### Page 21

Information Technology/P1                               21                             Hlayiso/Mock 2026
                                                     NSC Mock

QUESTION 4: PROBLEM SOLVING
A cellphone network provider registers new SIM cards using the 13-digit South African identity
(ID) number of the customer. Customers who register are entered into a lucky draw.
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.
Example of the graphical user interface (GUI):
        Question 4 - Problem solving                                                     – □ ×
         Options

          ID number:

                         4.1 - ID details

                         4.2 - Check digit

                        4.3 - Lucky draw

A South African ID number has the format YYMMDDSSSSCAZ, where:
      Digits                           Meaning
      1 to 6 (YYMMDD)                  The date of birth: year (YY), month (MM) and day (DD)
      7 to 10 (SSSS)                   Gender: 0000 to 4999 for females and 5000 to 9999 for
                                       males
      11 (C)                           Citizenship: 0 for a South African citizen and 1 for a
                                       permanent resident
      12 (A)                           Usually 8
      13 (Z)                           A check digit that is used to test whether the ID number is
                                       valid

Copyright reserved                                                                       Please turn over

### Page 22

Information Technology/P1                              22                      Hlayiso/Mock 2026
                                                    NSC Mock

4.1      Button [4.1 - ID details]
         The ID number is entered in the edit box edtQ4_ID. Code has been provided
         to clear the memo memQ4 and to store the ID number in the variable sID. A
         constant array arrMonths that contains the names of the twelve months has
         also been provided:
             arrMonths: array [1 .. 12] of String = ('January',
               'February', 'March', ... , 'December');

         Write code to do the following:

          • Validate the ID number. The ID number is valid if it consists of exactly 13
            characters and ALL the characters are digits. If the ID number is not valid,
            display a suitable message and exit the procedure.
          • Determine the year of birth: if the first two digits (YY) form a number greater
            than 26, the year of birth is 19YY, otherwise it is 20YY.
          • Display the following information in the memo memQ4, as shown in the
            examples below:
             o The ID number
             o The date of birth in the format <day> <name of month> <year>,
               for example 15 March 2008
             o The gender of the person (Male/Female)
             o The citizenship of the person (South African citizen/Permanent
               resident)

         Example of output if the ID number 0803150247085 was entered:

                     ID number: 0803150247085
                     Date of birth: 15 March 2008
                     Gender: Female
                     Citizenship: South African citizen

         Example of output if the ID number 9711235689182 was entered:

                     ID number: 9711235689182
                     Date of birth: 23 November 1997
                     Gender: Male
                     Citizenship: Permanent resident

                                                                                              (11)

Copyright reserved                                                                Please turn over

### Page 23

Information Technology/P1                               23                      Hlayiso/Mock 2026
                                                     NSC Mock

4.2      Button [4.2 - Check digit]
         The last digit of an ID number is a check digit. It is calculated from the first 12
         digits as follows:

          • Each digit in an ODD position (1, 3, 5, 7, 9 and 11) is added to a total.
          • Each digit in an EVEN position (2, 4, 6, 8, 10 and 12) is multiplied by 2.
            If the result is greater than 9, subtract 9 from the result. The result is then
            added to the total.
          • The check digit = (10 − (total MOD 10)) MOD 10

         Example for the ID number 0803150247085:
          Position        1 2 3 4 5 6 7 8 9 10 11 12
          Digit           0 8 0 3 1 5 0 2 4                    7     0   8
          Value added 0 7 0 6 1 1 0 4 4                        5     0   7
         Total = 35; check digit = (10 − 5) MOD 10 = 5, which is equal to the last digit
         of the ID number.
         Do the following:

          • Write a user-defined function called calcCheckDigit that receives an ID
            number as a string parameter and returns the check digit, calculated from
            the first 12 digits, as an integer.
          • Complete the code for the button Button [4.2 - Check digit]: Call the
            function calcCheckDigit with the ID number entered in the edit box
            edtQ4_ID as argument. Compare the value returned with the last digit
            of the ID number and display one of the following messages in the memo
            memQ4:
                  The check digit is correct
            OR
                  The check digit is incorrect - it should be <digit>

         NOTE: Assume that the ID number consists of 13 digits.
         Example of output if the ID number 0803150247085 was entered:

                     The check digit is correct

         Example of output if the ID number 0507097131087 was entered:

                     The check digit is incorrect - it should be 4

                                                                                               (10)

Copyright reserved                                                                 Please turn over

### Page 24

Information Technology/P1                     24                           Hlayiso/Mock 2026
                                           NSC Mock

4.3      Button [4.3 - Lucky draw]
         Six lucky draw numbers must be generated. A global array arrDraw has been
         declared to store the numbers:
             arrDraw: array [1 .. 6] of Integer;

         Code has been provided to clear the memo memQ4.
         Write code to do the following:

          • Generate SIX random numbers from 1 to 49 (both included) and store them
            in the array arrDraw. The same number may NOT appear more than once
            in the array.
          • Sort the numbers in the array from the smallest to the largest.
          • Display the sorted numbers in the memo memQ4 on ONE line, as shown
            in the example below.

         Example of output:

                     Lucky draw numbers:
                     3 11 18 41 43 46

         NOTE: The numbers may differ due to the nature of random numbers.
                                                                                         (9)

 • Enter your examination number as a comment in the first line of the program file.
 • Save your program.
 • A printout of the code may be required.
                                                                                        [30]
                                                                          TOTAL:        150

Copyright reserved

## Related documents

- [IT P1 QP GR11 NOV2020 English](https://www.hlayiso.com/library/it-p1-qp-gr11-nov2020-english/f76e86f9-8bcb-424c-afaf-00ec85aa21a0) — Information Technology · QP · 2020 · Eng
- [IT P1 QP GR11 NOV2020 English D](https://www.hlayiso.com/library/grade-11-information-technology-2020-national-exemplar-november-exam-question-paper-paper-1-english/dc265938-825b-48dc-ba14-f71339195b39) — Information Technology · QP · 2020 · Eng
- [IT P1 GR11 NOV 2017 English](https://www.hlayiso.com/library/it-p1-gr11-nov-2017-english/c1eacf3d-81b5-4fd9-94a9-20ba1d701848) — Information Technology · QP · 2017 · Eng
- [IT P1 MEMO GR11 NOV2020 English](https://www.hlayiso.com/library/it-p1-memo-gr11-nov2020-english/336cfcb1-343a-4742-ab39-6824c80e92e5) — Information Technology · Memo · 2020 · Eng
- [IT P1 QP MEMO GR11 NOV2020 English D](https://www.hlayiso.com/library/it-p1-qp-memo-gr11-nov2020-english-d/034f0767-a627-4491-b86e-53fb7cd7cc4a) — Information Technology · Memo · 2020 · Eng
- [IT P1 MEMO GR11 NOV2020 English D](https://www.hlayiso.com/library/it-p1-memo-gr11-nov2020-english-d/2a25bbb6-005e-4ffd-8385-7d5eb65ad641) — Information Technology · Memo · 2020 · Eng

## More from Grade 11 Information Technology

- [Gr 11 Info Tech ATP 2023-24](https://www.hlayiso.com/library/gr-11-info-tech-atp-2023-24/67fc595c-646e-4c38-9951-fe5fe3a113a7) — ATP
- [IT P1 MEMO GR11 NOV 2022 ENG](https://www.hlayiso.com/library/it-p1-memo-gr11-nov-2022-eng/463c896e-3593-418e-ae29-9566ee4c04d7) — Memo · 2022 · Eng
- [IT P1 MEMO GR11 NOV 2022 AFR](https://www.hlayiso.com/library/it-p1-memo-gr11-nov-2022-afr/bb1a49a4-65e0-428e-9303-788c58ca7b60) — Memo · 2022 · Afr
- [GEO-Sept-QP & Memo-2015-Gr11](https://www.hlayiso.com/library/geo-sept-qp-memo-2015-gr11/cfa849fa-4151-4938-b293-d0122c3a72c6) — QP + Memo · 2021
- [IT P2 GR11 MEMO NOV2020 AFR D](https://www.hlayiso.com/library/it-p2-gr11-memo-nov2020-afr-d/4a385cf4-caba-4711-a420-1f60d0f7e5fd) — Memo · 2020 · Afr
- [IT-P2-GR11 QP MEMO NOV2020 AFR D](https://www.hlayiso.com/library/it-p2-gr11-qp-memo-nov2020-afr-d/82f78ef6-cebd-4fe2-a945-043e3276649e) — Memo · 2020 · Afr

## Collection

- [Grade 11 past papers](https://www.hlayiso.com/grade-11/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.
