Mock
hlayiso mock exams
Practice Series:
Grade 10 Exam Preparation
WWW.HLAYISO.COM
NATIONAL
SENIOR CERTIFICATE
GRADE 10
INFORMATION TECHNOLOGY P1
NOVEMBER EXAMINATION 2026 (MOCK)
MARKS: 120
TIME: 3 hours
This question paper consists of 19 pages.
Copyright reserved Please turn over
Skip to contentAll 2026 papers 





View all





Information Technology Grade 10 P1 November Mock 2026 QP
Grade 10 Information Technology Paper 1 question paper from the November Mock Exam 2026 (English), 19 pages. Read online or download the free PDF.
Information Technology · Grade 10 · November Mock Exam · 2026 · English. Question paper, 19 pages. Read online or download the PDF.
- Subject
- Information Technology
- Grade
- Grade 10
- Language
- English
- Document type
- Question paper
- Year
- 2026
- Exam period
- November Mock Exam
- Paper
- 1
- Publisher
- Hlayiso
- Curriculum
- CAPS
- Pages
- 19
- File size
- 188.0 KB
Free to read online, no sign-up needed
Loading document…
Loading document…
1 of 19
This exam
November Mock Exam 2026
- Paper 1Question paperMemo
- Paper 2Question paperMemo
Document textSearch extracted text and jump to a page.
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 and counting routines, must be developed from first principles.
You may NOT use built-in features of the Delphi programming language that do the work
for you, for example Ceil (from the Math unit) or CharInSet.
8. You must save your work regularly on the disk space allocated to you for this
examination session.
9. Make sure that your examination number appears as a comment in every program that
you code, as well as on every event indicated.
10. If required, print the programming code of all the programs that you completed. Your
examination number must appear on all printouts.
11. 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 Question3_P.dpr
Question1_P.dproj Question3_P.dproj
Question1_U.dfm Question3_U.dfm
Question1_U.pas Question3_U.pas
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
Copyright reserved Please turn over
Information Technology/P1 3 Hlayiso/Mock 2026
NSC Mock
QUESTION 1: GENERAL PROGRAMMING SKILLS
The Jozi Youth Science Expo is held every year in Braamfontein. Learners from different
schools exhibit their science projects, which are evaluated by judges, and visitors buy tickets
to view the projects. The organisers need a program to help with the arrangements.
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
Judge 1: 0 1.4 - Project award
1.1 - Format panel Welcome
Judge 2: 0
1.2
Judge 3: 0
Number of adults: 0 1.2 - Ticket cost
Number of learners: 0
1.5
1.3 1.5 - Lucky draw
Number of visitors: 1.3 - Buses
• Complete the code for each section of QUESTION 1, as described in QUESTION 1.1 to
QUESTION 1.5 below.
1.1 Button [1.1 - Format panel]
Write code to change the properties of the panel pnlQ1_1 as follows:
• Display the text ’Jozi Science Expo 2026’ on the panel.
• Change the colour of the panel to aqua (clAqua).
• Change the font colour of the panel to navy (clNavy).
• Change the font size of the panel to 14.
• Change the font style of the panel to bold.
Example of output:
1.1 - Format panel Jozi Science Expo 2026
(5)
Copyright reserved Please turn over
Information Technology/P1 4 Hlayiso/Mock 2026
NSC Mock
1.2 Button [1.2 - Ticket cost]
The cost of a ticket to the expo is R50 for an adult and R25 for a learner.
The constants ADULT_PRICE = 50 and LEARNER_PRICE = 25 have been
provided.
A group of TEN or more people (adults and learners together) receives a 10%
discount on the total cost.
The user enters the number of adults and the number of learners in the group
in the spin edits spnQ1_2_Adults and spnQ1_2_Learners.
Write code to do the following:
• Extract the number of adults and the number of learners from the spin
edits.
• Calculate the total cost of the tickets for the group.
• If there are ten or more people in the group, apply the 10% discount.
• Display the amount due in the label lblQ1_2 in currency format with a rand
sign and TWO decimal places, in the following format:
Amount due: <amount>
If the discount was applied, the text ' (group discount)' must be
added at the end of the output.
Example of input and output for 3 adults and 9 learners:
1.2
Number of adults: 3 1.2 - Ticket cost
Number of learners: 9
Amount due: R 337.50 (group discount)
Example of input and output for 2 adults and 3 learners:
1.2
Number of adults: 2 1.2 - Ticket cost
Number of learners: 3
Amount due: R 175.00
(8)
Copyright reserved Please turn over
Information Technology/P1 5 Hlayiso/Mock 2026
NSC Mock
1.3 Button [1.3 - Buses]
Visitors from outside Johannesburg are transported to the expo by bus. Each
bus has 65 seats. A constant SEATS = 65 has been provided.
The user enters the number of visitors who need transport in the edit box
edtQ1_3.
Write code to do the following:
• Extract the number of visitors from the edit box.
• Use the DIV and MOD operators to determine the number of buses that
must be booked so that every visitor has a seat.
• Calculate the number of empty seats on the buses.
• Display the number of buses in the label lblQ1_3_Buses and the number
of empty seats in the label lblQ1_3_Seats, as shown in the example
below.
Example of input and output if 309 visitors need transport:
1.3
Number of visitors: 309 1.3 - Buses
Number of buses: 5
Empty seats: 16
(7)
Copyright reserved Please turn over
Information Technology/P1 6 Hlayiso/Mock 2026
NSC Mock
1.4 Button [1.4 - Project award]
Each project is evaluated by THREE judges, who each give the project a
score out of 100. The scores are entered in the spin edits spnQ1_4_J1,
spnQ1_4_J2 and spnQ1_4_J3.
The award that a project receives depends on the average of the three scores:
Average score Award
80 or more Gold
65 or more, but less than 80 Silver
50 or more, but less than 65 Bronze
Less than 50 Certificate of participation
Write code to do the following:
• Calculate the average of the three scores.
• Display the average score, formatted to ONE decimal place, in the label
lblQ1_4_Avg in the format: Average score: <average>
• Determine the award and display it in the label lblQ1_4_Award in the
format: Award: <award>
Example of input and output if the scores 78, 64 and 75 were entered:
1.4
Judge 1: 78 1.4 - Project award
Judge 2: 64
Judge 3: 75
Average score: 72.3
Award: Silver
(8)
Copyright reserved Please turn over
Information Technology/P1 7 Hlayiso/Mock 2026
NSC Mock
1.5 Button [1.5 - Lucky draw]
All visitors’ tickets are entered into a lucky draw. The tickets are numbered
from 1 up to the number of tickets sold.
Write code to do the following:
• Use an input box to ask the user for the number of tickets sold.
• Generate a random winning ticket number from 1 up to and including the
number of tickets sold.
• The ticket number must be displayed as FOUR digits. Use a loop to add
leading zeros (’0’) to the front of the ticket number until it consists of four
digits, for example 66 must become 0066.
• Display the winning ticket number with the letter ’T’ in front of it in the label
lblQ1_5 in the following format:
Winning ticket: T<four-digit ticket number>
Example of output if 350 tickets were sold:
1.5
1.5 - Lucky draw
Winning ticket: T0066
NOTE: The ticket number may differ due to the nature of random numbers.
(7)
• 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.
[35]
Copyright reserved Please turn over
Information Technology/P1 8 Hlayiso/Mock 2026
NSC Mock
QUESTION 2: SELECTION AND STRING MANIPULATION
Ridgeview Secondary School is setting up accounts for its new Wi-Fi network. Each learner
receives a username, chooses a password and registers an e-mail address.
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 - Selection and string manipulation – □ ×
2.1 2.2
Full name: Password:
Grade: Select a grade 2.1 - Username 2.2 - Password strength
2.3
E-mail address:
2.3 - Hide e-mail
Complete the code for each section of QUESTION 2, as described in QUESTION 2.1 to
QUESTION 2.3 below.
Copyright reserved Please turn over
Information Technology/P1 9 Hlayiso/Mock 2026
NSC Mock
2.1 Button [2.1 - Username]
The user enters the full name of the learner (first name and surname,
separated by ONE space) in the edit box edtQ2_1_Name and selects the
grade of the learner from the combo box cmbQ2_1. The items in the combo
box are ’Grade 8’, ’Grade 9’, ’Grade 10’, ’Grade 11’ and ’Grade 12’.
Write code to do the following:
• If no grade has been selected, display a suitable message and exit the
procedure.
• Create a username that consists of the following parts:
o The first letter of the first name
o The first SIX letters of the surname (or the whole surname if it has fewer
than six letters)
o The grade number (8, 9, 10, 11 or 12) taken from the selected item in
the combo box
All the letters in the username must be in lower case.
• Display the username in the label lblQ2_1 in the format: Username:
<username>
Example of input and output if ’Lindiwe Mahlangu’ and ’Grade 10’ were
entered:
2.1
Full name: Lindiwe Mahlangu
Grade: Grade 10 2.1 - Username
Username: lmahlan10
NOTE: For a learner called ’Sipho Dube’ in Grade 8, the username will be
sdube8. (8)
Copyright reserved Please turn over
Information Technology/P1 10 Hlayiso/Mock 2026
NSC Mock
2.2 Button [2.2 - Password strength]
The user enters a password in the edit box edtQ2_2. Code has been provided
to clear the memo memQ2_2.
Write code to do the following:
• Use a loop to inspect each character in the password and count the
number of:
o uppercase letters (’A’ to ’Z’);
o lowercase letters (’a’ to ’z’);
o digits (’0’ to ’9’);
o special characters (any character that is NOT a letter or a digit).
• Calculate a score out of 5 for the password. ONE point is awarded for each
of the following:
o The password consists of 8 or more characters.
o The password contains at least one uppercase letter.
o The password contains at least one lowercase letter.
o The password contains at least one digit.
o The password contains at least one special character.
• Determine the strength of the password: a score of 5 is ’Strong’, a score
of 3 or 4 is ’Medium’ and a score of 2 or less is ’Weak’.
• Display the length of the password, the four counts, the score and the
strength in the memo memQ2_2, as shown in the examples below.
Examples of input and output:
Password ’Soweto@2026’: Password ’ilovejozi7’:
2.2 2.2
Password: Soweto@2026 Password: ilovejozi7
2.2 - Password strength 2.2 - Password strength
Length: 11 Length: 10
Uppercase letters: 1 Uppercase letters: 0
Lowercase letters: 5 Lowercase letters: 9
Digits: 4 Digits: 1
Special characters: 1 Special characters: 0
Score: 5 out of 5 Score: 3 out of 5
Strength: Strong Strength: Medium
(12)
Copyright reserved Please turn over
Information Technology/P1 11 Hlayiso/Mock 2026
NSC Mock
2.3 Button [2.3 - Hide e-mail]
The school displays the e-mail addresses of learners on the school website
in a hidden format to protect the privacy of the learners. The user enters an
e-mail address in the edit box edtQ2_3.
Write code to do the following:
• Validate the e-mail address. An e-mail address is valid if:
o it contains exactly ONE ’@’ character, AND
o the part after the ’@’ (the domain) contains at least one full stop (’.’).
If the e-mail address is not valid, display the message ’Invalid e-mail
address’ and exit the procedure.
• Hide the part before the ’@’ as follows: keep the first and the last character
and replace every character in between with an asterisk (’*’). The domain
(the ’@’ and everything after it) does not change.
• Display the hidden e-mail address in the label lblQ2_3 in the format:
Hidden: <hidden e-mail address>
NOTE: Assume that the part before the ’@’ consists of at least TWO
characters.
Example of input and output if ’thabo.nkosi@ridgeview.co.za’ was entered:
2.3
E-mail address:
thabo.nkosi@ridgeview.co.za
2.3 - Hide e-mail
Hidden: t*********i@ridgeview.co.za
(10)
• 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]
Copyright reserved Please turn over
Information Technology/P1 12 Hlayiso/Mock 2026
NSC Mock
QUESTION 3: LOOPS
Lerato wants to save money for a new laptop. She joins a savings challenge in which she
saves R10 in the first week and then saves R10 more every week than in the previous week
(R10, R20, R30, …). The constants FIRST_DEPOSIT = 10 and INCREASE = 10 have been
provided.
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 no functionality currently.
Example of the graphical user interface (GUI):
Question 3 - Loops – □ ×
3.1
Number of weeks: 1
3.1 - Savings plan
3.2
Target amount (R):
3.2 - Reach target
3.3
3.3 - Guess the number
3.4
From: 1 To: 1
3.4 - Prime numbers
Complete the code for each section of QUESTION 3, as described in QUESTION 3.1 to
QUESTION 3.4 below.
Copyright reserved Please turn over
Information Technology/P1 13 Hlayiso/Mock 2026
NSC Mock
3.1 Button [3.1 - Savings plan]
The user selects the number of weeks in the spin edit spnQ3_1. Code has
been provided to clear the memo memQ3 and to display the headings.
Write code to do the following:
• Use a for-loop to calculate and display, for each week, the week number,
the amount deposited in that week and the total amount saved up to and
including that week. Separate the values with tabs and format the amounts
in currency format with TWO decimal places.
• After the loop, display the total amount saved in the format:
Total saved after <number> weeks: <total>
Example of output if 6 weeks were selected:
Week Deposit Total
1 R 10.00 R 10.00
2 R 20.00 R 30.00
3 R 30.00 R 60.00
4 R 40.00 R 100.00
5 R 50.00 R 150.00
6 R 60.00 R 210.00
Total saved after 6 weeks: R 210.00
(8)
3.2 Button [3.2 - Reach target]
The user enters a target amount in rand in the edit box edtQ3_2. Code has
been provided to clear the memo memQ3.
Write code to do the following:
• Use a conditional loop to determine the number of weeks that Lerato needs
to save, following the savings challenge, until the total amount saved is
equal to or more than the target amount.
• Display the number of weeks and the total amount saved, as shown in the
example below.
Example of output if a target amount of R1 000 was entered:
Weeks needed: 14
Amount saved: R 1050.00
(7)
Copyright reserved Please turn over
Information Technology/P1 14 Hlayiso/Mock 2026
NSC Mock
3.3 Button [3.3 - Guess the number]
To keep Lerato motivated, her friend wrote a game in which the user must
guess a secret number. A constant MAX_GUESSES = 6 has been provided.
Write code to do the following:
• Generate a random secret number from 1 to 50 (both included).
• Use a conditional loop to allow the user to guess the number:
o Use an input box to ask the user to enter a guess.
o If the guess is higher than the secret number, display the message ’Too
high’.
o If the guess is lower than the secret number, display the message ’Too
low’.
o The loop must stop when the user guesses the number correctly OR
when the user has made SIX guesses.
• After the loop, display one of the following in the label lblQ3_3:
Correct! You needed <number> guesses
OR
Out of guesses - the number was <number>
Examples of output:
3.3
3.3 - Guess the number
Correct! You needed 4 guesses
3.3
3.3 - Guess the number
Out of guesses - the number was 37
(9)
Copyright reserved Please turn over
Information Technology/P1 15 Hlayiso/Mock 2026
NSC Mock
3.4 Button [3.4 - Prime numbers]
A prime number is a whole number greater than 1 that is only divisible by 1
and by itself, for example 2, 3, 5, 7 and 11.
The user selects a starting number in the spin edit spnQ3_4_From and an
ending number in the spin edit spnQ3_4_To. Code has been provided to clear
the memo memQ3.
Write code to do the following:
• Use nested loops to determine all the prime numbers from the starting
number to the ending number (both included).
• Display all the prime numbers on ONE line in the memo memQ3, followed
by the number of prime numbers found on the next line.
Example of output if the numbers 10 and 40 were selected:
11 13 17 19 23 29 31 37
Number of prime numbers: 8
(6)
• 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]
Copyright reserved Please turn over
Information Technology/P1 16 Hlayiso/Mock 2026
NSC Mock
QUESTION 4: PROBLEM SOLVING
The Mokoena family in Soweto uses a prepaid electricity meter. They need a program to help
them to manage their electricity purchases and usage.
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 – □ ×
4.1
Amount (R):
4.1 - Units
4.2
4.2 - Token
4.3
Meter readings:
18250,18262,18279,18291,18310,18318,...
4.3 - Daily usage
Complete the code for each section of QUESTION 4, as described in QUESTION 4.1 to
QUESTION 4.3 below.
Copyright reserved Please turn over
Information Technology/P1 17 Hlayiso/Mock 2026
NSC Mock
4.1 Button [4.1 - Units]
The electricity supplier uses the following (fictitious) block tariff for the first
purchase of the month:
Block Units (kWh) Price per unit
Block 1 The first 50 units R2.00
Block 2 The next 300 units (unit 51 to unit 350) R2.50
Block 3 All units above 350 R3.00
For example, if R500 is spent, the first R100 buys 50 units at R2.00 each and
the remaining R400 buys 160 units at R2.50 each, giving a total of 210 units.
The user enters the amount spent in rand in the edit box edtQ4_1. Code has
been provided to clear the memo memQ4.
Write code to do the following:
• Extract the amount from the edit box. If the amount is less than R20,
display the message ’The minimum purchase is R20’ and exit the
procedure.
• Calculate the number of units that can be bought with the amount.
• Display the amount paid in currency format and the number of units,
formatted to ONE decimal place, in the memo memQ4, as shown below.
Example of output if R500 was entered:
Amount paid: R 500.00
Units purchased: 210.0 kWh
(9)
Copyright reserved Please turn over
Information Technology/P1 18 Hlayiso/Mock 2026
NSC Mock
4.2 Button [4.2 - Token]
After a purchase, the customer receives a 20-digit token that must be entered
into the meter. Code has been provided to clear the memo memQ4.
Write code to do the following:
• Generate a token that consists of 20 random digits (0 to 9). The first digit
of the token may NOT be a zero.
• The digits must be displayed in FIVE groups of four digits, separated by
hyphens (’-’). There must not be a hyphen at the beginning or at the end
of the token.
• Display the token in the memo memQ4 in the format: Token: <token>
Example of output:
Token: 5078-2155-8480-1022-0046
NOTE: The digits will differ due to the nature of random numbers.
(8)
Copyright reserved Please turn over
Information Technology/P1 19 Hlayiso/Mock 2026
NSC Mock
4.3 Button [4.3 - Daily usage]
Every evening Mr Mokoena reads the meter and records the total number
of units used on the meter so far. The readings for consecutive days are
entered in the edit box edtQ4_3, separated by commas. The edit box has
been populated with the following readings:
18250,18262,18279,18291,18310,18318,18333,18349
The number of units used on a day is the difference between a reading and
the previous reading. For example, 18262 − 18250 = 12 units were used on
day 1. Code has been provided to clear the memo memQ4.
Write code to do the following:
• Use a loop and string-handling functions to extract each reading from the
edit box.
• Calculate and display the number of units used on each day in the memo
memQ4.
• Determine and display the day on which the most units were used, and
the number of units used on that day.
• Calculate and display the average number of units used per day, formatted
to ONE decimal place.
NOTE: The program must work for any number of readings (at least two
readings will be entered).
Example of output for the readings provided:
Day 1: 12 kWh
Day 2: 17 kWh
Day 3: 12 kWh
Day 4: 19 kWh
Day 5: 8 kWh
Day 6: 15 kWh
Day 7: 16 kWh
Highest usage: Day 4 (19 kWh)
Average daily usage: 14.1 kWh
(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.
[25]
TOTAL: 120
Copyright reserved
Study this subject
Recommended for this subject

Memorandum
Information Technology Grade 10 P2 November Mock 2026 Memo

Memorandum
Information Technology Grade 10 P1 2026 Memo (Eng)

Memorandum
Information Technology Grade 10 P2 2026 Memo (Eng)

Question paper
Information Technology Grade 10 P1 2017 QP

Question paper and memo
Information Technology Grade 10 P1 2016 QP & Memo

Question paper and memo
Information Technology Grade 10 P1 KZN June 2015 QP & Memo
More from Grade 10 Information Technology

Annual teaching plan
Gr 10 Info Tech ATP 2023 24

Question paper and memo
Information Technology Grade 10 NSC Prelim 2018 Paper & Memo

Question paper and memo
Information Technology Grade 10 2018 QP & Memo

Question paper and memo
Information Technology Grade 10 P2 2017 QP & Memo

Question paper and memo
Information Technology Grade 10 March Test 2017 Paper & Memo

Question paper and memo