Skip to content

Information Technology Grade 12 P1 NSC November 2025 QP

Question paperInformation TechnologyGrade 12202536 pages

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

Free to read online, no sign-up needed

Loading document…

Loading document…

Document textSearch extracted text and jump to a page.
Confidential NATIONAL SENIOR CERTIFICATE GRADE 12 INFORMATION TECHNOLOGY P1 NOVEMBER 2025 MARKS: 150 TIME: 3 hours This question paper consists of 31 pages, 2 data pages, 2 pages for planning and a separate information sheet. Copyright reserved Please turn over
Information Technology/P1 2 DBE/November 2025 NSC Confidential INSTRUCTIONS AND INFORMATION 1. This question paper is divided into FOUR sections. Candidates must answer ALL the questions in ALL FOUR sections. 2. Two blank pages have been provided at the end of the question paper, which may be used for planning purposes. 3. An information sheet has been provided for you to complete at the end of the examination session. Ensure that ALL the information that you provided is correct and submit the information sheet before you leave the examination room. 4. The duration of this examination is three hours. Because of the nature of this examination, it is important to note that you will not be permitted to leave the examination room before the end of the examination session. 5. This question paper is set with programming terms that are specific to the Delphi programming language. The Delphi programming language must be used to answer the questions. 6. Make sure that you answer the questions according to the specifications that are given in each question. Marks will be awarded according to the set requirements. 7. Answer only what is asked in each question. For example, if the question does not ask for data validation, then no marks will be awarded for data validation. 8. Your programs must be coded in such a way that they will work with any data and not just the sample data supplied or any data extracts that appear in the question paper. 9. Routines, such as search, sort and selection, must be developed from first principles. You may NOT use the built-in features of the Delphi programming language for any of these routines. 10. All data structures must be defined by you, the programmer, unless the data structures are supplied. 11. You must save your work regularly on the disk/CD/DVD/flash disk you have been given, or on the disk space allocated to you for this examination session. 12. Make sure that your examination number appears as a comment in every program that you code, as well as on every event indicated. 13. If required, print the programming code of all the programs/classes that you completed. Your examination number must appear on all printouts. You will be given half an hour printing time after the examination session. Copyright reserved Please turn over
Information Technology/P1 3 DBE/November 2025 NSC Confidential 14. At the end of this examination session, you must hand in a disk/CD/DVD/ flash disk with all your work saved on it OR you must make sure that all your work has been saved on the disk space allocated to you for this examination session. Ensure that all files can be read. 2025 15. The files that you need to complete this question paper have been provided to you on the disk/CD/DVD/flash disk or on the disk space allocated to you. The files are provided in the form of password-protected executable files. Do the following: • Double click on the following password-protected executable file: DataNov2025.exe • Click on the 'Extract' button. • Enter the following password: SuSTF@rm2025 Once extracted, the following list of files will be available in the folder DataNov2025: Question 1: Question 3: Question1_P.dpr Beehive_U.pas Question1_P.dproj Question3_P.dpr Question1_P.res Question3_P.dproj Question1_U.dfm Question3_P.res Question1_U.pas Question3_U.dfm Question3_U.pas Question 2: Question 4: ConnectDB_U.pas Question4_P.dpr FarmManagementDB - Copy.mdb Question4_P.dproj FarmManagementDB.mdb Question4_P.res MixedFarms.txt Question4_U.dfm Question2_P.dpr Question4_U.pas Question2_P.dproj Question2_P.res Question2_U.dfm Question2_U.pas Copyright reserved Please turn over
Information Technology/P1 4 DBE/November 2025 NSC Confidential SECTION A QUESTION 1: GENERAL PROGRAMMING SKILLS Do the following: • Open the incomplete program in the Question 1 folder. • Enter your examination number as a comment in the first line of the Question1_U.pas file. • Compile and execute the program. The program has no functionality currently. Example of the graphical user interface (GUI): • Complete the code for each section of QUESTION 1, as described in QUESTION 1.1 to QUESTION 1.5. Copyright reserved Please turn over
Information Technology/P1 5 DBE/November 2025 NSC Confidential 1.1 Button [1.1 - Increase value] The panel pnlQ1_1 currently displays an integer value that must be increased by the value of 1 when the button is clicked. Write code to do the following: • Extract the integer value displayed on the panel pnlQ1_1. • Increase the extracted value by the value of 1. • Display the increased value on the panel pnlQ1_1. Example of output after the button was clicked and the extracted value was increased by the value of 1: NOTE: Each time the user clicks on the 'Increase value' button, the current value displayed on the panel should be increased by the value of 1. Example of output after the second click of the button: (4) 1.2 Button [1.2 - Volume] The image below shows a figure of a three-dimensional shape which has sides of equal length. The length of each side is represented by the letter 𝒙𝒙. Copyright reserved Please turn over
Information Technology/P1 6 DBE/November 2025 NSC Confidential The formula to calculate the volume of the figure is as follows: 𝟓𝟓(𝟑𝟑+ �𝟓𝟓) 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 = 𝒙𝒙𝟑𝟑 𝟏𝟏𝟏𝟏 where 𝒙𝒙 represents the length of the sides of the figure. The user must select the length of 𝒙𝒙 from the spin edit spnQ1_2. Write code to do the following: • Extract the length of the side (𝒙𝒙), from the spin edit spnQ1_2. • Calculate the volume of the figure using the provided formula and at least TWO DIFFERENT pre-defined mathematical functions. • Display the volume in the edit box edtQ1_2, formatted to TWO decimal places. Example of output if the value of 6 was selected as the length of 𝒙𝒙: Copyright reserved Please turn over
Information Technology/P1 7 DBE/November 2025 NSC Confidential Example of output if the value of 10 was selected as the length of 𝒙𝒙: (6) 1.3 Button [1.3 - Shopping aisle] A local grocery store uses a coding system to help customers find aisles with specific categories of food. Each category of food is represented by a single alphabet letter. The alphabet letters used and the categories of food that the letters represent are given in the table below. ALPHABET LETTER CATEGORY DESCRIPTION F Fruit and vegetables D Dairy B Butchery S Sauces P Pasta and rice The user must enter a code in the edit box edtQ1_3 in the following format: <Aisle number>#<Alphabet letter> Example: 12#F refers to aisle 12 which stocks fruit and vegetables. Copyright reserved Please turn over
Information Technology/P1 8 DBE/November 2025 NSC Confidential Write code to do the following: • Extract the code that was entered from edit box edtQ1_3. • Separate the aisle number and the alphabet letter that represent the food category from the code that was entered. • Use a case statement and the alphabet letter from the code, and save the correct category description in a variable. • Display 'Aisle', the aisle number, a colon character (:), followed by a space and the correct category description on label lblQ1_3 in the format: Aisle <Aisle number>: <Category description> Example of output if the code 12#F was entered: Example of output if the code 3#S was entered: NOTE: You may assume that the code entered is valid. (11) 1.4 Button [1.4 - Populate and display] The declaration of an array called arrNumbers, which consists of NINE elements of type integer, has been provided. Write code to do the following: • Assign a random number in the range from 1 to 15 (inclusive) to each element of array arrNumbers. • Use the memo component memQ1_4 to display the random numbers from array arrNumbers separated by dash (-) characters. Copyright reserved Please turn over
Information Technology/P1 9 DBE/November 2025 NSC Confidential Example of output: NOTE: The output displayed by your program may differ from the example of output as the numbers have been generated randomly. (8) Copyright reserved Please turn over
Information Technology/P1 10 DBE/November 2025 NSC Confidential 1.5 Button [1.5 - Determine HCF] The flowchart below illustrates how to determine the highest common factor (HCF) of any TWO positive integers. Copyright reserved Please turn over
Information Technology/P1 11 DBE/November 2025 NSC Confidential The user must enter integer values for Num1 and Num2. Code has been provided to: • Extract and save the two integer values Num1 and Num2 in iNum1 and iNum2 respectively, and • Initialise iHCF to zero (0) Write code to do the following: • Code the steps provided in the flowchart to determine the HCF of the two numbers entered. • Display the HCF in edit box edtQ1_5. Example of output if the numbers 6 and 4 were entered: Example of output if the numbers 27 and 36 were entered: (11) • Enter your examination number as a comment in the first line of the program file. • Save your program. • Print the code if required. TOTAL SECTION A: 40 Copyright reserved Please turn over
Information Technology/P1 12 DBE/November 2025 NSC Confidential SECTION B QUESTION 2: DATABASE PROGRAMMING A service provider needs to manage a collection of small farms of various farm types, such as Poultry, Livestock and Dairy. Each farm is owned by only one (a single) farm owner, while one farm owner can own many farms. A database called FarmManagementDB.mdb has been developed, which contains two tables called tblFarmOwners and tblFarms. The data pages attached at the end of the question paper provide information on the design of the database and its contents. Do the following: • Open the incomplete project file called Question2_P.dpr in the Question 2 folder. • Add your examination number as a comment in the first line of the Question2_U.pas file. • Compile and execute the program. The program has limited functionality currently. The contents of the tables are displayed, as shown below on the selection of tab sheet 2.2 - Delphi code. Copyright reserved Please turn over
Information Technology/P1 13 DBE/November 2025 NSC Confidential The relationship between the two tables tblFarmOwners and tblFarms is shown below. • Follow the instructions below to complete the code for each section, as described in QUESTION 2.1 and QUESTION 2.2. • Use SQL statements to answer QUESTION 2.1 and Delphi code to answer QUESTION 2.2. NOTE: • The 'Restore databaseꞌ button is provided to restore the data contained in the database to the original content. • Code is provided to link the GUI components to the database. Do NOT change any of the code provided. • TWO variables are declared as global variables, as described in the table below. Variable Data type Description tblFarmOwners TADOTable Refers to the table tblFarmOwners tblFarms TADOTable Refers to the table tblFarms Copyright reserved Please turn over
Information Technology/P1 14 DBE/November 2025 NSC Confidential 2.1 Tab sheet [2.1 - SQL] Example of the graphical user interface (GUI) for QUESTION 2.1: NOTE: • Use ONLY SQL statements to answer QUESTION 2.1.1 to QUESTION 2.1.5. • Code to execute the SQL statements and display the results of the queries has been provided. The SQL statements assigned to the variables sSQL1, sSQL2, sSQL3, sSQL4 and sSQL5 are incomplete. Complete the SQL statements to perform the tasks described in QUESTION 2.1.1 to QUESTION 2.1.5 below. 2.1.1 Button [2.1.1 - Farm details] Display the FarmName, NearestTown and SizeInHectares of all farms, sorted in descending order according to SizeInHectares. Copyright reserved Please turn over
Information Technology/P1 15 DBE/November 2025 NSC Confidential Example of output of the first three records: (3) 2.1.2 Button [2.1.2 - Contact details] Display the FullName and ContactNumber of all farm owners whose e-mail addresses have not been saved in the table tblFarmOwners. Example of output: (2) 2.1.3 Button [2.1.3 - Average farm size] The average size of all the farms of the selected farm type must be calculated and saved in a new field called AverageSize. Code has been provided to extract and save the selected farm type from the combo box cmbQ2_1_3 in a variable sFarmType. Display the FarmType and the AverageSize, formatted to TWO decimal places. Example of output if Livestock was selected as the farm type: (6) 2.1.4 Button [2.1.4 - Young farm owners] Display the FullName, DateOfBirth and Age (calculated field) of all farm owners who are 25 years or younger. The current system date must be used to calculate the age as an integer value. Use the formula below to calculate the age of the farm owners: 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 − 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷ℎ 𝐴𝐴𝐴𝐴𝐴𝐴 = 365 Copyright reserved Please turn over
Information Technology/P1 16 DBE/November 2025 NSC Confidential Example of output: NOTE: The format of the date of birth may differ from this example due to the settings on your computer. (7) 2.1.5 Button [2.1.5 - Multiple farms in KZN] Display the FullName and the total number of farms of each farm owner who owns more than one farm in the Durban or Pietermaritzburg area. The total number of farms must be saved in a new field called TotalFarms. Example of output: (7) Copyright reserved Please turn over
Information Technology/P1 17 DBE/November 2025 NSC Confidential 2.2 Tab sheet [2.2 - Delphi code] Example of the graphical user interface (GUI) for QUESTION 2.2: NOTE: • Use ONLY Delphi programming code to answer QUESTION 2.2. • NO marks will be awarded for SQL statements in QUESTION 2.2. Button [2.2 – Mixed-farm type] A mixed-farm type refers to a farm with a combination of different types of farming activities, such as poultry and dairy. Farmers will need to request to be changed to a mixed-farm type, if they qualify for it. Only farms larger than 100 hectares qualify to be a mixed-farm type. A text file called MixedFarms.txt, which contains a list of FarmIDs of the farms that could possibly qualify to be a mixed-farm type, has been provided. The first THREE lines of text in the MixedFarms.txt text file are shown below. Copyright reserved Please turn over
Information Technology/P1 18 DBE/November 2025 NSC Confidential The program must update the farm type to 'Mixed' if the farm qualifies to be a mixed farm. If the farm does NOT qualify, display the FarmID, FarmName and SizeInHectares of the farm in the rich edit redQ2_2 component. Code has been provided to clear the rich edit redQ2_2 component and display a suitable heading. Write code to do the following: • Test if the text file MixedFarms.txt exists and display a suitable message using a ShowMessage dialog box if the text file does not exist. • If the text file exists, read each FarmID from the text file. o Identify the farm in the tblFarms table. o Test if the farm is more than 100 hectares in size: - If true, update the FarmType field of the farm to 'Mixed'. - Otherwise, display the FarmID, FarmName and SizeInHectares of the farm in the rich edit redQ2_2 component, in the format shown in the example on the next page. Example of records in the tblFarms table before the FarmType was changed: Copyright reserved Please turn over
Information Technology/P1 19 DBE/November 2025 NSC Confidential Example of records in the tblFarms table after the FarmType was changed: Example of output of farms listed in the text file that do not qualify to be a mixed- farm type: (15) • Enter your examination number as a comment in the first line of the program file. • Save your program. • Print the code if required. TOTAL SECTION B: 40 Copyright reserved Please turn over
Information Technology/P1 20 DBE/November 2025 NSC Confidential SECTION C QUESTION 3: OBJECT-ORIENTATED PROGRAMMING During warm seasons honey is regularly harvested from a beehive. A beehive harvesting tracker is used to monitor and check the health status of a beehive colony. Do the following: • Open the incomplete program in the Question 3 folder. • Open the incomplete object class Beehive_U.pas. • Enter your examination number as a comment in the first line of both the Question3_U.pas file and the Beehive_U.pas file. • Compile and execute the program. The program has limited functionality currently. Example of the graphical user interface (GUI): • Complete the code as specified in QUESTION 3.1 and QUESTION 3.2. Copyright reserved Please turn over
Information Technology/P1 21 DBE/November 2025 NSC Confidential 3.1 The provided incomplete object class (TBeehive) contains the declaration of six attributes, which describe a Beehive object. The attributes of a Beehive object have been declared as follows: Attribute Type Description fBeehiveID String An ID used to identify the beehive fBeeCount Integer The approximate number of bees in the beehive fPests Boolean Indicates whether pests were found in the beehive during the last harvest fNoOfHarvests Integer Number of harvests completed in the beehive fTotalHoneyHarvested Real The total amount of honey, in kilograms, harvested from the beehive fHarvestDates String A concatenated string indicating all the dates on which the hive has been harvested so far, each date on a new line The following methods have been provided: • A completed method setPests that will change the current status of the fPests attribute • A completed toString method Complete the code in the object class as described in QUESTION 3.1.1 to QUESTION 3.1.5. 3.1.1 Write code for a constructor method to receive THREE parameters for the fBeehiveID, fBeeCount and fPests attributes. Assign the parameters to the respective attributes and set the remaining attributes to the following values: fNoOfHarvests =2 fTotalHoneyHarvested = 80 fHarvestDates = '2025/01/05' + #13 + '2025/06/23' (4) 3.1.2 Write code for an accessor method called getNoOfHarvests to return the fNoOfHarvests attribute. (2) 3.1.3 Write code for a method called calcAverage to return the average amount of honey harvested in the hive, using the formula below. 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 ℎ𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 = 𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 𝑜𝑜𝑜𝑜 ℎ𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 (4) Copyright reserved Please turn over
Information Technology/P1 22 DBE/November 2025 NSC Confidential 3.1.4 Write code for a method called updateBeehiveDetails that receives a parameter value for the amount of honey harvested as a real value. Write code to do the following: • Add the parameter value to the fTotalHoneyHarvested attribute. • Increment the fNoOfHarvests attribute by one. • Add (join) the code for a new line (#13) and the system date to the content of the fHarvestDates attribute. (6) 3.1.5 Write code for a method called checkHealthStatus to return a Boolean value TRUE which indicates that the beehive is healthy, or FALSE if the beehive is not healthy. The following criteria must be met for the status of the beehive to be healthy: • The number of bees must be more than 7 000 OR the number of harvests must be less than or equal to 3. • There must be no pests in the beehive. (6) 3.2 An incomplete program has been supplied in the Question 3 folder. The program contains code for the object class to be accessible and declares an object variable called objBeehive. Code has been provided in the FormCreate method to disable button btnQ3_2_3 and format the rich edit redQ3_2 component. Write code to perform the tasks described in QUESTION 3.2.1 to QUESTION 3.2.5. 3.2.1 Button [3.2.1 - Instantiate beehive object] Before harvesting honey from a beehive, the user must enter the details of the beehive. Code has been provided to do the following: • Clear the rich edit redQ3_2 component. • Extract the beehive ID from combo box cmbQ3. • Extract the number of bees from spin edit spnQ3. • Extract the pest status from checkbox chbQ3. Copyright reserved Please turn over
Information Technology/P1 23 DBE/November 2025 NSC Confidential Write code to do the following: • Use the information extracted to instantiate the objBeehive object. • Display the details of the object in the rich edit redQ3_2 using the given toString method. Example of input and output: (5) 3.2.2 Button [3.2.2 - Ready to harvest?] The health status of the beehive will need to be checked before a new harvest takes place. Write code to do the following: • Call the checkHealthStatus method and display a suitable message in the label lblQ3_2_2 to indicate whether the beehive is healthy (ready to harvest) or not healthy (not ready to harvest). • If the beehive is ready to harvest, enable button btnQ3_2_3. • If the beehive is NOT ready to harvest, disable button btnQ3_2_3. Copyright reserved Please turn over
Information Technology/P1 24 DBE/November 2025 NSC Confidential Example of output if the beehive is ready to harvest: Example of output if the beehive is NOT ready to harvest: (4) 3.2.3 Button [3.2.3 - Honey harvested] The amount of honey harvested during a new harvest must be added to the total amount of honey harvested from the beehive. Code has been provided to clear the rich edit redQ3_2 component. Write code to do the following: • Extract the amount of honey harvested from the edit box edtQ3_2_3. • Call the updateBeehiveDetails method using the amount of honey as an argument. • Display the following in the redQ3_2 component: o The number of harvests in the format: 'Harvest number: ' <Number of harvests> o The updated details of the beehive using the toString method Copyright reserved Please turn over
Information Technology/P1 25 DBE/November 2025 NSC Confidential Example of output if the honey harvested during the new harvest was 67,1 kg and the number of completed harvests is three: (4) 3.2.4 Button [3.2.4 - Average honey harvested] Write code to call the relevant method to display the average amount of honey harvested from the beehive in a ShowMessage dialog box, formatted to TWO decimal places. Example of output if the total amount of honey after three harvests was 147,1 kg: (3) 3.2.5 Button [3.2.5 - Change status of pests] The status of pests in the beehive must be changed, depending on whether pests have been detected or not. A method called setPests has been provided in the object class that will change the current status of pests in the beehive. Write code to do the following: • Call the setPests method. • Disable the button btnQ3_2_3. Copyright reserved Please turn over
Information Technology/P1 26 DBE/November 2025 NSC Confidential Example of the disabled 'Honey harvested' button when the user clicked on the 'Change status of pests' button once: (2) • Enter your examination number as a comment in the first line of the object class and the form class. • Save your program. • Print the code in the object class and the form class if required. TOTAL SECTION C: 40 Copyright reserved Please turn over
Information Technology/P1 27 DBE/November 2025 NSC Confidential SECTION D QUESTION 4: PROBLEM-SOLVING PROGRAMMING SustainaFarm Collective is a company that does research on sustainable farming practices in areas where different types of crops have been planted. 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 limited functionality currently. Example of the graphical user interface (GUI): • Complete the code for each section of QUESTION 4, as described in QUESTION 4.1 and QUESTION 4.2. Copyright reserved Please turn over
Information Technology/P1 28 DBE/November 2025 NSC Confidential 4.1 The SustainaFarm Collective monitors the soil composition across ten hectares of farmland, recording the percentage values for clay, sand and silt in the soil per hectare. You have been provided with the following: • A completed Display procedure • Declarations for the following arrays: o A populated one-dimensional array of type string where each element of the array represents the amount of clay, sand and silt in the soil: arrSoil: array[1..10] of String = ('20:50:10', '40:30:30', '30:28:30', '60:20:20', '25:30:45', '50:40:10', '30:55:15', '45:35:20', '35:0:55', '55:25:20'); o A two-dimensional array of type real: arr2DSoil: array[1..10, 1..3] of Real; 4.1.1 Button [4.1.1 - Extract] Write code to extract the Clay, Sand and Silt values from the arrSoil array for each hectare and store them in the provided two- dimensional array arr2DSoil. Code has been provided to do the following: • Clear the rich edit component redQ4_1. • Call the Display method to output the data in the arr2DSoil two- dimensional array in the rich edit component redQ4_1. Example of output: (8) Copyright reserved Please turn over
Information Technology/P1 29 DBE/November 2025 NSC Confidential 4.1.2 Button [4.1.2 - Validate] It is essential for the SustainaFarm Collective that the sum of the Clay, Sand and Silt values for each hectare is equal to the value of 100. Code has been provided to clear the redQ4_1 component and to display the heading 'Hectares adjusted'. Write code to do the following: • Calculate the sum of the Clay, Sand and Silt values for each hectare. • If the sum for any hectare does not add up to the value of 100, do the following: o Adjust the Clay, Sand and Silt values in the same ratio for that hectare to ensure that the sum of the three values add up to 100. o Display the hectare number in the redQ4_1 component in the format: Hectare: <hectare number> NOTE: Assume that the total for each hectare will not exceed 100. Code has been provided to do the following: • Display the heading 'Updated data:'. • Call the Display method to output the data of the arr2DSoil two- dimensional array in the rich edit component redQ4_1. Example of output: (9) Copyright reserved Please turn over
Information Technology/P1 30 DBE/November 2025 NSC Confidential 4.2 Button [4.2 - Nutrient markers] The SustainaFarm Collective is researching crop growth potential using unique nutrient markers. Nutrient markers are special numbers where the sum of the factorials of their digits equals the number itself. Example 1: The number 145 is a nutrient marker since the sum of the factorials of the digits equals the original number 145. 1! = 1 x 1 = 1 4! = 4 × 3 × 2 × 1 = 24 5! = 5 × 4 × 3 × 2 × 1 = 120 1 + 24 + 120 = 145 Example 2: The number 32 is NOT a nutrient marker. 3! = 3 x 2 x 1 = 6 2! = 2 × 1 = 2 6 + 2 = 8 ≠ 32 Code has been provided to do the following: • Clear the memo component memQ4_2. • Display the underlined heading 'Nutrient markers:'. Write code to do the following: • Determine all the nutrient markers in the range from 1 to 50 000 (inclusive). • Display each nutrient marker in the memo component memQ4_2. Copyright reserved Please turn over
Information Technology/P1 31 DBE/November 2025 NSC Confidential Example of output: (13) • Enter your examination number as a comment in the first line of the program file. • Save your program. • Make a printout of the code if required. TOTAL SECTION D: 30 GRAND TOTAL: 150 Copyright reserved
Information Technology/P1 1 DBE/November 2025 NSC Confidential INFORMATION TECHNOLOGY P1 DATABASE INFORMATION FOR QUESTION 2: The design of the database tables is as follows: Table: tblFarmOwners This table contains the details of farm owners. Field name Data type Description OwnerID (PK) Number Unique identifier for the farm owner FullName Text (20) Full name of the farm owner ContactNumber Text (12) Contact number of the farm owner Email Text (25) E-mail address of the farm owner DateOfBirth Date/Time Date of birth of the farm owner Example of the first nine records of the tblFarmOwners table: Table: tblFarms This table contains the details of each farm. Field name Data type Description FarmID (PK) Number Unique identifier for each farm FarmName Text (20) Name of the farm NearestTown Text (20) The town nearest to the farm SizeInHectares Number Size of the farm in hectares FarmType Text (10) Type of farm (e.g. Dairy, Poultry, Mixed) OwnerID (FK) Number The owner ID of the farm owner Copyright reserved Please turn over
Information Technology/P1 2 DBE/November 2025 NSC Confidential Example of the first eleven records of the tblFarms table: NOTE: • Connection code has been provided. • The database is password-protected; therefore, you will not be able to access the database directly. The following one-to-many relationship with referential integrity exists between the two tables in the database: Copyright reserved
Information Technology/P1 DBE/November 2025 NSC Confidential PLANNING PAGE 1 Copyright reserved
Information Technology/P1 DBE/November 2025 NSC Confidential PLANNING PAGE 2 Copyright reserved
Information Technology/P1 DBE/November 2025 NSC Confidential Examination sticker _______ 150 INFORMATION TECHNOLOGY P1 – NOVEMBER 2025 INFORMATION SHEET (to be completed by the candidate AFTER the 3-hour session) CENTRE NUMBER: ______________________________________________________ EXAMINATION NUMBER: _________________________________________________ WORK STATION NUMBER: ________________________________________________ Version of Delphi used during the INFORMATION TECHNOLOGY NSC NOV. 2025 Examination: Mark appropriate Other: box with a Delphi Delphi Delphi Delphi Delphi Delphi (Specify) cross (X) 2010 XE 10.3 Community 11 12 ________ FOLDER NAME: _________________________________________________________ Candidate must tick if the file name(s) used for each answer has been saved and/or attempted. Question File name Saved Attempted Maximum Mark Marker number () () Mark Achieved Code Question1_P. 1 dproj 40 Question2_P. 2 dproj 40 Beehive_U. 22 pas 3 Question3_P. 18 dproj Question4_P. 4 dproj 30 TOTAL 150 Comment: (for office/marker use only) ______________________________________________________________________ ______________________________________________________________________ Copyright reserved

Study this subject

More from Grade 12 Information Technology

View all