0% found this document useful (0 votes)
10 views16 pages

Question Paper

The document outlines the Grade 10 Information Technology June Examinations for 2024, specifically focusing on Paper 1 - Practical. It includes instructions for the exam, details on the Delphi projects, and specific coding tasks for three questions related to programming and application development. Students are required to complete all questions within a 2.5-hour timeframe, adhering to the provided specifications and using the supplied files.

Uploaded by

vascoelon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views16 pages

Question Paper

The document outlines the Grade 10 Information Technology June Examinations for 2024, specifically focusing on Paper 1 - Practical. It includes instructions for the exam, details on the Delphi projects, and specific coding tasks for three questions related to programming and application development. Students are required to complete all questions within a 2.5-hour timeframe, adhering to the provided specifications and using the supplied files.

Uploaded by

vascoelon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

<School Logo>

<SCHOOL NAME>
GRADE 10
JUNE EXAMINATIONS – 2024

INFORMATION TECHNOLOGY
PAPER 1 – PRACTICAL

TIME: 2.5 HOURS MARKS: 100

EXAMINER: MODERATOR:

This paper consists of 13 16pages (including the cover page), and there
are 3 Delphi projects in your exam folder.

Make sure that you have a complete set.

Page 1 of 16
INSTRUCTIONS AND INFORMATION
1. This question paper consists of 3 questions. You must answer ALL 3
questions.
2. The duration of this examination is 2 hours and 30 minutes. 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. Make sure that you answer the questions according to the specifications
that are given in each question. Marks will only be awarded according to
the set of requirements.
4. Answer only what is asked for in each question. For example, if the
question does not ask for data validation, then no marks will be
awarded for data validation.
5. 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.
6. You must save your work regularly on the disk space allocated to
you for the examination.
7. Make sure that your name and surname appears as a comment in
every program that you code.
8. At the end of the examination session, you must hand in all your work
saved. Ensure that all the files can be read.
9. The files you need to complete this question paper have been given to
you on the disk space allocated to you in the form of a password-
protected compressed file: GR10JUN2024.zip

Do the following:
● Right click on the file.

● Select ‘Extract All’ from the options.

● Click on the ‘Extract’ Button.

● Enter the following password: C@reerDayBudget

Once the folder has been extracted, the following list of files will be
available in the folder: GR10JUN2024
Question 1 Question 2 Question 3
Q1_p.dpr Q2_p.dpr Question3_p.dpr
Q1_p.dproj Q2_p.dproj Question3_p.dproj
Q1_u.dfm Q2_u.dfm Question3_u.dfm
Q1_u.pas Q2_u.pas Question3_u.pas

Rename this folder as follows: IT10June24_<your surname>_<your


Page 2 of 16
first name>
QUESTION 1: [30]

Open the Delphi project stored in the Question 1 folder and study the following form:

Complete the code for each question as described in QUESTION 1.1


to QUESTION 1.4

1. btnQ1_1 [Display name and grade]:


1 The following needs to be done when the user clicks btnQ1_1 using
code only:

1.1. Extract the person’s name and grade from edtName and (5)
1 cmbGrade and store it in suitable variables.

1.1. Display the extracted name and grade on the label component (4)
2 called lblNameGrade as shown in the sample output below:
Sample Output

Page 3 of 16
1. Write code for the buttons as described in Questions 1.2.1 and 1.2.2
2
1.2. btn1_2_1 [Change form caption to Delphi is Fun!]
1
Write code that will change the caption of frmQ1 to “Delphi is (2)
Fun!”

Sample Output

1.2. btn1_2_2 [1.2.2 Change form colour to green]


2
Write code to change the colour of the form frmQ1 to green. (2)

1. Write code for the buttons as described in Questions 1.3.1 to 1.3.2


3
1.3. btnSize [Small]
1
Write code to do the following:
● On the RichEdit named redOutput, display 'You clicked (6)

the button called small'


● Change the button’s height property to 75

● Change the button’s width property to 45

● Change the caption of the button from ‘Small’ to ‘Tall’


● On the RichEdit named redOutput, display the text 'The
button is now tall'

Page 4 of 16
Sample Output

1.3. btnProperties [Properties]


2
Write code to do the following:

● Clear the RichEdit named redOutput (4)

● In the redOutput component, display the value of the


left property of the button named btnProperties.
Refer to the sample output below for the format.

Sample Output

1. Change the following properties of components in the Object


4 Inspector as described in 1.4.1 to 1.4.5.

1.4. Change the caption of the label component called lblFruit to (1)
1 ‘Fruit’.

1.4. Set the items for the combo-box called cmbFruit to Apples, (1)
2 Bananas, Oranges.

1.4. Add a prompt message in the combo-box called cmbFruit (1)


3 that reads ‘Select a fruit’.

1.4. Clear the RichEdit component called redDisplay. (1)


4

Page 5 of 16
1.4. Set the font property of the button component btnDisplay as (3)
5 follows:
● Font to Courier new

● Font style to bold

● Size to 14
[30
]

QUESTION 2: [40]

Scenario
A top University in KZN is hosting a special Career Day. This opportunity is open to a
limited number of top achieving grade 10 students from various high schools.
Learners were encouraged by the schools to apply. Learners had to complete an
online form which requires their top 3 subjects, ranked from most favourite followed
by 2nd and 3rd favourite, as well as the marks (as a %) they obtained in the first
term for these subjects.

Open the Delphi project stored in the Question 2 folder and study the following
form:

Write code for the buttons as described in Questions 2.1 to 2.10.


NOTE: Sample data and output are provided at the end of this question (p. 9)

Page 6 of 16
2.1 btnSubmit [SUBMIT APPLICATION]

Page 7 of 16
2.1.1 Declare variables to store the student’s name and gender. (2)

2.1.2 Retrieve the student’s name from the edit component called (1)
edtName.

2.1.3 Retrieve the student’s gender from one of the RadioButton (4)
components rbtnFemale OR rbtnMale.

2.1.4 Retrieve the student’s favourite subjects from the ComboBox (3)
components cmbSub1, cmbSub2 and cmbSub3.

2.1.5 Retrieve the marks (%) for each subject from the SpinEdit controls (3)
spnMk1, spnMk2 and spnMk3.

2.1.6 Use the marks received in question 2.5 and calculate the average of (2)
all the subjects. Round this value 0 decimal places and store it in a
variable.

2.1.7 Identify the highest mark obtained from the selected subjects. (7)

2.1.8 Display all the results from the calculations above in the RichEdit (4)
component redOut1. Refer to the example below to see what the
output format should look like.

Sample Output

Page 8 of 16
2.1.9 The result of the application to attend the career day is determined (11)
based on the following criteria:

● ● The 1st subject (most favourite) selected MUST be ●


‘MATHEMATICS’.

● ● The 2nd subject chosen could be either ‘PHYSICAL ●


SCIENCE’ or ‘INFORMATION TECH’

● ● The 3rd subject chosen could be either ‘PHYSICAL ●


SCIENCE’ or ‘INFORMATION TECH’ depending on the
student’s 2nd choice.

● ● The student’s average term 1 mark in these 3 subjects ●


MUST be 80% or more.

Page 9 of 16
− Write code using the above criteria to determine the applicant’s result. −

● If the student is successful based on the above criteria,


output a suitable message stating that the student met
the requirements in the RichEdit named redOut2.

● If the student is NOT successful based on the above


criteria, output a suitable message stating that the
student dit not meet the requirements in the redOut2
component.

Refer to the screenshots below for guidance.

Sample Output: Requirements not met

Sample Output: Requirements met

2.2.1 btnClear [CLEAR] (3)

Write code to clear the student’s name from the edtName control as
well as both output displays redOut1 and redOut2.

[40]

SAMPLE RUN 1:

Page 10 of 16
SAMPLE RUN 2:

SAMPLE RUN 3:

QUESTION 3: GENERAL PROBLEM SOLVING

Page 11 of 16
SCENARIO
One of your friends came up with the idea of Budget-Buddy, an app that people can
use to budget their income and expenses, as well as track how much they actually
receive and spend. He heard that you take IT as a subject, and he asked you to help
him complete some of the code.

Do the following:
● Open the incomplete program in the Question 3 folder.

● Run the program. The program currently has limited functionality.

The following graphical interface has been provided:

Complete the code as specified in Question 3.1 - 3.4 that follow.

3.1 btnSave [Save Budget]

When btnSave is clicked the budgeted income and budgeted


expenses need to be saved to two global variables, and a panel
displayed where users can add their actual income and expenses.

Page 12 of 16
Code has been provided that will show the panel.

Example Output:

3.1.1 Write code to do the following: (4)

● Store the budgeted income from edtIncomeBudget in the


global variable rBudgetedIncome.

● Store the budgeted expenses from edtExpensesBudget in


the global variable rBudgetedExpenses.

3.1.2 Disable the button btnSave. (1)

3.2 btnAddIncome [Add Income]

When btnAddIncome is clicked, the value entered into


sedIncomeActual should be added to the total income stored in
the global variable rActualIncome and the total income so far
displayed to the user.

Page 13 of 16
Example Output:

3.2.1 Write code to do the following: (2)

● Extract (get) the actual income from sedIncomeActual and


store it in a variable.

● Add the actual income to the total income stored in


rActualIncome.

3.2.2 Update the label, lblTotalIncome, to say: (4)

‘Total Actual Income: R<amount>’

where <amount> is the amount stored in rActualIncome. Use one


of Delphi’s formatting functions to format the amount as a currency,
displaying only 2 decimal places.

3.2.3 Set the value of sedIncomeActual to 0. (1)

3.3 btnAddExpense [Add Expense]

When btnAddExpense is clicked, the expense the user types in


needs to be added to the correct variable, depending on the
category selected. The total actual expenses need to be calculated
and displayed, and the application should also indicate to the user
when they’re over budget.

3.3.1 Write code to do the following: (7)

● Add the amount in sedExpensesActual to the correct


variable (either iRent, iFood, iTransport, or iOther)
depending on which option was selected from
Page 14 of 16
rgpExpCategory.

3.3.2 Calculate rActualExpenses by adding the values in iRent, iFood, (2)


iTransport, and iOther.

3.3.3 Display the total expenses on the label lblTotalExpenses in the (2)
following format:

‘Total Actual Expenses: <amount>’

where <amount> refers to rActualExpenses.

Note: There’s no need for and no marks are awarded for the
formatting of rActualExpenses.

Example Output:

3.3.4 If the actual expenses are more than the budgeted expenses, the (4)
colour of pnlActual should change to clRed. Otherwise, the colour
of pnlActual should change to clLime.

3.3.5 Set sedExpensesActual to 0. (1)

3.4 btnCalculate [Calculate]

When btnCalculate is clicked, the user’s savings should be


calculated and displayed.

3.4.1 Calculate how much money the user can save this month, based on (2)
the actual income and expenses. Display just the savings amount
in a ShowMessage. See the screenshot below for guidance.

Page 15 of 16
Example Output:

[30]

GRAND TOTAL [100]

Page 16 of 16

You might also like