Skip to content

Information Technology Grade 10 P1 November Mock 2026 QP

Question paperInformation TechnologyGrade 10202619 pagesPublisher: Hlayiso

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

Free to read online, no sign-up needed

Loading document…

Loading document…

November Mock Exam 2026

Document textSearch extracted text and jump to a page.
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
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

More from Grade 10 Information Technology

View all