# Information Technology Grade 12 P2 NSC June 2012 QP (Eng)

> Grade 12 Information Technology Paper 2 question paper from the NSC June 2012 (English), 18 pages. Read online or download the free PDF.

- Page: https://www.hlayiso.com/library/computer-studies-p2-hg-english-june-2012/9638ac14-9176-46a9-9694-98814532c8b9
- Updated: 2026-09-27
- Subject: Information Technology
- Grade: Grade 12
- Language: English
- Document type: Question paper
- Year: 2012
- Exam period: NSC June
- Paper: 2
- Curriculum: CAPS
- Pages: 18

Breadcrumbs: [Home](https://www.hlayiso.com/) › [Library](https://www.hlayiso.com/library) › [Grade 12](https://www.hlayiso.com/library/grade-12) › [Information Technology](https://www.hlayiso.com/library/grade-12/information-technology) › [Information Technology Grade 12 P2 NSC June 2012 QP (Eng)](https://www.hlayiso.com/library/computer-studies-p2-hg-english-june-2012/9638ac14-9176-46a9-9694-98814532c8b9)

## About this document

Information Technology · Grade 12 · NSC June · 2012 · English. Question paper, 18 pages. Read online or download the PDF.

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

## Matching paper and memo

- [Computer Studies P2 (HG) (English) June 2012 Memo](https://www.hlayiso.com/library/computer-studies-p2-hg-english-june-2012-memo/fe3b6637-21ff-45c2-9b0e-e3ab71d232ce) — Memo · 2012 · Eng

## Document text

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

### Page 1

Downloaded from hlayiso.com

basic education

Department:
Basic Education
REPUBLIC OF SOUTH AFRICA

SENIOR CERTIFICATE EXAMINATION

COMPUTER STUDIES P1

HIGHER GRADE
2012

MEMORANDUM

MARKS: 100

This memorandum consists of 18 pages.

Copyright reserved Please turn over

moe =

### Page 2

Downloaded from hlayiso.com

Computer Studies/HG/P1

2
SCE — Memorandum

DBE/2012

QUESTION 1: DELPHI/QUESTION 3: TURBO PASCAL

MARKS: 80

Explanation

Marks

Total

Level

Level

Level

Declare data type

Declare file and file variables

Function Surinit

Heading

Concatenate surname and first letter

Repeat loop

Determine position of space

Delete and add following letter

Result of function

=! rp} wm} a] a} a

Show procedure

Determine if file exists

Test and message

Heading and subheading

Columns

Call function Surnamelnit

File structure
While/read/reset/close

wo] YM) dR) =

Write statement

12

HoursWorked function

Declaration of function

TextFile {assign/reset/close/while}

readin

Get first number

Test for worker number

=] rm} al nl a

Copyright reserved

Please turn over

### Page 3

Downloaded from hlayiso.com

Computer Studies/HG/P1 3 DBE/2012
SCE — Memorandum

Determine start time

Determine end time

Initialise and add time

Calculate time if/then/else

—) oO] NM) N! Nw

Send time back

19

Calculate salary procedure

Parameters 2 2

Case with category 2 2

If — determine salary 3 <)

Payment statement

Initialise Total

Read month number

Case to determine month name

Headings and subheadings

nm} =] wo] =) =

File statements {reset/close/read/while}

Call HoursWorked function

Call salary procedure

Increase total

Get date of birth

Test for bonus and add R1 000
Write * at end of line

Show Total

>| ©] ©] M! =]! NM! MH) NM) =|] Cw) A] =>
NM} =|) NM} NM

Question ...Write to textfile/upcase

Append/close

Determine new line to write to textfile

=| w) =| dD
=

User-friendly sentence/message

29
80

Copyright reserved Please turn over

### Page 4

Downloaded from hlayiso.com

Computer Studies/HG/P1 4 DBE/2012
SCE — Memorandum

QUESTION 2: DELPHI/QUESTION 4: TURBO PASCAL MARKS: 20
Explanation Marks | Total Level Level Level
Declare two-dimensional array 1 1
Declare one-dimensional array 1 1
Assign/reset/close 1 1
while/readin 1 1
Determine row/column/value 3 3
Read into a two-dimensional array 2 2
Initialise totals 1 1
Nested for-loop 2 2
Determine totals for each column 2 2
Headings 1 1
Write down totals/field widths 1 1
if/petrol amount — calculation 3 3
Colour and wording in output 1 1
20

Totals of levels

Tot 1 2 3
Question 1 80 28 34 18
Question 2 20 5 10 5
Total 100 33% | 44% | 23%

Copyright reserved Please turn over

### Page 5

Downloaded from hlayiso.com

Computer Studies/HG/P1 5
SCE — Memorandum

DBE/2012

| QUESTION 1: DELPHI

MARKS: 80 __|

unit Vri_Qul_u;
//Exam number
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics
Forms,
Dialogs, StdCtrls, ComCtrls, Buttons;

type
str10 = string[10];
str20 = string[20]; v
TWorker = record
Surname : Str20;
SName : Str20;
DOB : Str10; vv
Category integer;
end;

TForml = class (TForm)
btnShow: TButton;
redshow: TRichEdit;
btnLoneStatement: TButton;
Buttonl: TButton;
BitBtn TBitBtn;
BitBtn2: TBitBtn;
procedure btnShowClick(Sender: TObject
procedure ButtonlClick(Sender: TObject
procedure FormActivate(Sender: TObject
procedure BitBtn1lClick(Sender: TObject
procedure btnLoneStatementClick(Sender: TObject);

private
{ Private declarations }
dfile : file of TWorker;
worker : TWorker;

tfile : textFile;
TLine: string; Vv

public
{ Public declarations }
function TSurInit (surname, sName:str20) :str20;
function HoursWorked(nr:integer) :integer;
procedure Salary(cat,hours:integer; var sal : real);
end;

var
Forml: TForml;

implementation

{$R *.dfm}

Copyright reserved

Controls,

Please turn over

### Page 6

Downloaded from hlayiso.com

Computer Studies/HG/P1 6 DBE/2012
SCE — Memorandum

procedure TForml.FormActivate(Sender: TObject);
begin
redshow. Paragraph.TabCount
redshow. Paragraph.Tab[0
redshow. Paragraph.Tab[1
redshow. Paragraph.Tab[2]
redshow. Paragraph.Tab[3
end;

function TForm1l.TSurInit(surname, sName: str20): str20; V
var

p : integer;

va: Str20;

begin
VL:= Surname+', '+sName[1]; v
Repeat
p := pos(' ',sName) ; v
ifp <0 Vv
then
begin
delete (sName,1,p);
VL := VL + SName[1]; VV fo
end; {
until p = 0; \ 8
result := VL; Vv ~
end;

procedure TForml.btnShowClick (Sender: TObject);
begin
assignFile(dfile,'d_worker.dat');
if not (fileExists('d_worker.dat')) Vv
then
showmessage('File does not exist’) Vv
else
begin
redshow.Clear;
redshow.Lines.add('Worker Info:');
redshow.Lines.add('AmaGluGlu-Petrol station:'); V { headings}
redshow.Lines.add('');
redshow.Lines.add('Record no:'+#9+'Name:'+#9+'Date of Birth: '+
#9+'Category:');
redshow.Lines.add('');
reset (dfile); V {reset/close}
while not eof(dfile) do Vv {while}
begin
read(dfile,worker) ; V {read}
redshow.lines.add(IntToStr(filepos(dfile)) Vv
+#9+TSurInit (worker.Surname,worker.SName) VV
+#9+worker.DOB+#9+IntToStr(worker.category) Vv);
end; —
closefile(dfile);

end; ( 1 @) )

end; \

Copyright reserved Please turn over

### Page 7

Downloaded from hlayiso.com

Computer Studies/HG/P1 7 DBE/2012
SCE - Memorandum

function TForml.HoursWorked(nr: integer): integer; V

var
bTime,eTime,p,time,sessionTime: integer;

begin

assignFile(tFile,'D_times.txt'); VV {assign/reset/close/while}

time := 0;

sessionTime := 0;

reset (tFile);
while not eof (tfile) do

begin
readln(tfile,TLine) ; Vv {readin}
p := StrToInt (copy(TLine,1,pos(',',TLine)-1)); VV{get first number}
tf op = ore V {test worker number
then
begin
delete (TLine,1,pos(',',TLine) );
bTime := StrToInt(copy(TLine,1,pos(',',TLine)-1));VV¥ {determine
bTime}

delete (TLine,1,pos(',',TLine) );

eTime := StrToInt (TLine) ; VV {determine eTime}

if bTime < eTime V {if}

then
sessionTime := eTime - bTime VV {then}
else \. /
sessionTime := 24-bTime + eTime; VV {else} ~~

time := time + sessionTime; VV {Initialise and add}

end;
end;

closeFile(tfile);
result := sessionTime; V {send back}

end;

procedure TForml.Salary(cat, hours: integer; var sal: real); VV
var

Maand,r_hour : integer;
begin

case cat of
1: r_hour := 30;
2: r_hour := 35; VV {Determine tarif}
3: © ohour :— 55;

end;
if hours > 45 f 7
then Sal hours * R_hour * 1.12 \
else Sal := hours * R_hour; VVV {Determine Salary}
end;

procedure TForml.BitBtniClick(Sender: TObject);
begin

redshow.Clear;

end;

Copyright reserved Please turn over

### Page 8

Downloaded from hlayiso.com

Computer Studies/HG/P1 8 DBE/2012
SCE — Memorandum

procedure TForml.btnLoneStatementClick(Sender: TObject);
var
GebMonth,MonthNr,category,hours : integer;
Salary,Total : real;
MonthName,sTotal : string;
ans : char;

begin

redshow.Clear;

Total := 0; vv
MonthNr StrToInt (inputbox('MonthNr', 'What is the resent month
number?',''));

case MonthNr of

1 =: MonthName ‘January';

Z MonthName 'February';
3 MonthName ‘March';

4 MonthName "April';

5 : MonthName ‘May';

6 : MonthName "June';

a MonthName ‘July';

8 : MonthName "August';

9 : MonthName := 'September';
10 : MonthName "October';
12 : MonthName := 'December'; Vv

=
11 : MonthName := 'November';
end;
redshow.Lines.add('AmaGluGlu-petrol station');
redshow.Lines.add('Lonestatement for: '+ MonthName) ;
redshow.Lines.add('');
redshow.Lines.add('Surname'+#9+'SName'+#9+'Category'+#9+'Salary');

redshow.Lines.add(''); V {headings}
reset (dfile); VV {reset se/while/read}
while not eof(dfile) do
begin
read (dfile,worker) ;
ure := HoursWorked(filepos(dfile)-1); VV {call HoursWorked
function}
Salary (worker.category, hours, salary) ; AN a
Total := Total + salary; 4 {add to total}
GebMonth := StrToInt (copy(worker.DOB,4,2));VV {Determine birth month}}
with worker do
begin
if GebMonth = MonthNr V {Test for bonus}
then
begin
salary salary + 1000; VV {add R1000 to salary and total}

Total

Total + 1000;

redshow. lines. add (Surname+#9+SName+#9+IntToStr (category) +#9+FloatToStrf (sal
ary,ffcurrency,10,2)+' '+ "*');

end

else
redshow. lines.add(Surname+#9+SName+#9+IntToStr (category) +#9+FloatToStrf (sal
ary,ffcurrency,10,2));

end; VWV {output with * and without *}
end;
closefile(dfile);
redshow.lines.add('Total : '+ FloatToStrf (Total, ffcurrency,10,2));

Copyright reserved Please turn over

### Page 9

Downloaded from hlayiso.com

Computer Studies/HG/P1 9 DBE/2012
SCE — Memorandum

redshow.lines.add(''); V {show Total}
ans := inputbox('Write','Write data to file? J/N','') [1];
if upcase(ans) = 'J' VV {Question - upcase}
then
begin
assignFile(tfile,'D_payments.txt');
append (tFile); V {append/close} '
TLine := MonthName +/,'+ FloatToStrf (Total, ffcurrency,10,2); eee”
writeln(tFile,TLine) ; VVV {Determine TLine and write}
closeFile(tFile);
showmessage('Data written to file'); V (User-friendly sentence}
end;
end;
end.
Copyright reserved Please turn over

### Page 10

Downloaded from hlayiso.com

Computer Studies/HG/P1

10 DBE/2012

SCE — Memorandum

| QUESTION 2: DELPHI

MARKS: 20 |

unit Vr2XXXX_u;
//exam number
interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms,
Dialogs, StdCtrls, ComCtrls;

type
TForml = class (TForm)
redOutput: TRichEdit;
Buttonl: TButton;

procedure ButtonlClick(Sender: TObject);
procedure FormActivate (Sender: TObject);

private
{ Private declarations }

public
{ Public declarations }
end;

var
Forml: TForml;

implementation

{$R *.dfm}

procedure TForml.ButtonlClick (Sender:
Rie
TFile : textFile;
row,column,i integer;
Amount : real;
ArrT : array[1..3,1..4] of real;
Tot : array[1..4] of real;
line : string;
begin
redOutput.clear;
assignFile(TFile,'D_reading.txt');
reset (TFile);
while not eof(TFile) do
begin
readin (TFile, line) ;

TObject);

V Declare two D array
NV Declare one D array

V assign/reset/close

V while/readin

row := StrToInt(line[1]); VVVY determine row, column and value
column StrToInt (copy (line,3,1));

amount := StrToFloat(copy(line,5,10)); VV read into two D array

arrT[row,column] := amount;

end;
closeFile(TFile) ;

Copyright reserved

Please turn over

### Page 11

Downloaded from hlayiso.com

Computer Studies/HG/P1 11 DBE/2012
SCE - Memorandum

for i := 1 to 4 do

tot[i] := 0; V Inisialise totals
for column := 1 to 4 do
for row := 1 to 3 do
tot[column] := arrT[(row,column] + tot[column]; vv

NV Determine totals for
redOutput.Clear;
redOutput.Lines.add('Summary of petrol used);

redOutput.Lines.add('');

redOutput.Lines.add(#9+'Unleaded 93'+#9+'Unleaded 95'+#9+ 'LRP'+#9
+'Diesel');

redOutput.Lines.add(''); V heading

line := 'Petrol used:';

for i 1 to 4 do

line := line + #9+floatToStrf(tot[i],fffixed,10,2)+ 'L';
redOutput.Lines.add(line) ; V Write totals
redOutput.Lines.add('');

Wine = Petrol Lent = 1;
for i := 1 to 4 do
begin
if (40000-tot[i]) <= 5000 VV if/calculating petrol
then
begin
redOutput.SelAttributes.Color := clred;
line := line +#9+ 'INSUFFISIENT';
| end
else
| begin
redOutput.SelAttributes.Color := clblack;
line := line + #9 +'SUFFICIENT'; V colour and wording
end;
end;
redOutput.lines.add(line);
end;
procedure TForml.FormActivate (Sender: TObject);
begin
redOutput.Paragraph.TabCount := 4;
redOutput.Paragraph.Tab[0] := 100;
redOutput.Paragraph.Tab[1] 200;
redOutput.Paragraph.Tab[2] 300;
redOutput.Paragraph.Tab[3] 450;
end;
end.
Copyright reserved Please turn over

### Page 12

Downloaded from hlayiso.com

Computer Studies/HG/P1 12 DBE/2012
SCE — Memorandum

| QUESTION 3: TURBO PASCAL MARKS: 80

program Vr3_Qu3_p;
| // exam number
uses crt;
type
str20 = string[20]; V
strl0 = string[10];
TWorker = record
surname,sname : str20; VV
dob : str10;
category : integer;

end;
var y,
dFile : file of TWorker;
worker : TWorker; Vv
TFile : text;
tLine : string; v

[opp rbbdtobioero’ Surname en Initial s 000 G GRIGG ik doe ioe}

function surnameV1l (surname, sname:str20):str20; V
var
p : integer;
vl : str20;
begin
VL := surnamet+', ' +sname[1]; Vv
| Repeat v
P := pos(' ', sname); Vv
ifp <0 Vv
then
begin
delete (sname,1,p);
VL := VL + sname(1]; VV
end; y .
until p = 0; :
surnameVL := vl; V i 8
end;
DOCS IGE Show III IK a eae}
procedure show;
var
error : integer;
begin
clrscr;

{$i-}
reset (dFile);
error := IOResult;
af error <> 0 Vv {Test existence of file}
then
writeln('File do not exist') V {Message}

else

begin

writeln;

writeln('Worker Info');

writeln('AmaGluGlu-station') ; V {Headings and subheadings}

writeln;

writeln('Record no:','Sname:':10,'Date of birth:':32,'Category:':15);

writeln;

Copyright reserved Please turn over

### Page 13

Downloaded from hlayiso.com

Computer Studies/HG/P1 13 DBE/2012
SCE — Memorandum

while not eof(dFile) do V {reset/close}
begin V {while}
read(dFile, worker); Vv {read}
with worker do
writeln(filepos(dFile):2V,' ':14,surInit(surname,sname) VV," ': 15 -
length (surInit (surname, sname) ),dob:20,category:15V);
end;
end; VV (kolomme}
close (dFile);
{Sit}
writeln;
writeln('Press <enter> to continue.');
readin;

end;
[FFARR RRR EE Calculate hours WOrked ***EK ARERR RHR REE)
function HoursWorked(nr:integer):integer; V

var
bTime,eTime,p, code, time, sessionTime: integer;

begin

assign(TFile,'p_times.txt'); VV {assign/reset/close/while}
time := 0;
sessionTime 0;

reset (TFile) ;
while not eof (TFile) do

begin
readln(TFile,tline) ; Vv {readln}
val(copy(tline,1,pos(',',tline)-1),p,code); VV {get first number}
if p = nrtl VN {test worker nr}
then
begin
delete (tline,1,pos(',',tline));
val (copy(tline,1,pos(',',tline)-1),bTime, code) ; VV{determine
bTime}
delete (tline,1,pos(',',tline) );
val (tLine, eTime, code) ; VV {determine eTime}
if bTime < eTime v {if}
then
sessionTime := eTime — bTime VV (then}
else
sessionTime := 24-bTime + eTime; VV {else}
time := time + sessionTime; VV {initialise and add}
end;
end;
close (TFile);
HoursWorked := sessionTime; V {send back}
end;
Copyright reserved Please turn over

### Page 14

Downloaded from hlayiso.com

Computer Studies/HG/P1

14
SCE - Memorandum

DBE/2012

OOOO Calculate salary (OCCU OOOO OO ii ii }

Procedure Salary(kat,hours:integer; var sal:real);

var

Month, code,r_hour

begin

case kat of
1: y_Hour :=
2 : r_Hour
3: r_Hour
end;

if hours > 45
then Sal
else Sal

end;

:= hours * R_Hour * 1.12) WV
:= hours * R_Hour;

integer;

vv

VV {Determine tarif}

{Determine salary}

(Oboooorombbbbrrt Print wages statement CC dine}

procedure WageStatement;

var

BMonth, MonthNr, category, hours, code
real;
monthName, sTotal

rSal,Total

ans : char;

integer;

string;

begin
clrscr;

Total := 0; Vv
writeln('What is the month number ?');
readin (MonthNr) ; Vv
case MonthNr of

1 : monthName ‘January';

2 : monthName ‘February';

3 >: monthName "March";

4 monthName "April";

5 monthName "May";

6 : monthName ‘June

7 : monthName "July";

8 : monthName "Augustus';

9 : monthName := 'September';

10 : monthName "October';

11 : monthName ‘November ';

12 : monthName "December'; VY

end;
writeln;
writeln('AmaGluGlu-station');
writeln('Wages statement for ',monthName) ;
writeln;
writeln('Surname', 'Sname':20, 'Category':30,'Wage':10); V{headings ana

subheadings}
writeln;
Copyright reserved Please turn over

### Page 15

Downloaded from hlayiso.com

Computer Studies/HG/P1 15 DBE/2012
SCE - Memorandum

reset (dFile);

while not eof(dFile) do VV (reset/close/while/read}
begin
read (dFile, worker) ;
hours := Hoursworked(filepos(dFile)-1); VV {call hoursworked
function}
salary(worker.category,hours,rsal); VV {call salary procedure}
Total := Total + rsal; V {increase total}
val (copy (worker.dob,4,2),GebMonth,code); VV {determine dob month}
with worker do
begin
if GebMonth = MonthNr VN {test for bonus}
then
begin
rsal := rsal + 1000; VV {add R1000 to salary and total}
Total := Total + 1000;
writeln(Surname,' ':20-length(Surname),Sname,' ':22-
length (sname),category:8,'R':8,rsal:10:2,'*':3);
end
else
writeln(Surname,' ':20-length(Surname),Sname,' ':22-
length(sname),category:8 ,'R':8,rsal:10:2); VV {output with * or not}
end;
end;
close (dFile) ;
writeln;
Werceln (ioral + en Totals 10.2). Vv {show Total}
writeln;
writeln('Write data to file? J/N');
readin(ans) ;
if upcase(ans) = 'J' Vv Vv (Question - upcase}
then
begin
assign(TFile,'p_ payments.txt');
append (TFile) ; V{append/close}
str (Total, sTotal);
tLine := MonthName +',R'+sTotal;
writeln(TFile,tLine); VV Vv {determine Line and write}
close (TFile);
writeln;
writeln('Data written to file'); V{user-friendly sentence}
end;
readln;
end;

[XO GIGI I ISIS OD EZ OT SII ae}

procedure menu;
begin
clrscr;
writeln('MAIN MENU:');
writeln;
writeln('l. Show Worker Info');
writeln('2. Wagestatement');

writeln('');

writeln('3. End');

writeln;

writeln('Make a choice');
end;

Copyright reserved Please turn over

### Page 16

Downloaded from hlayiso.com

Computer Studies/HG/P1 16
SCE — Memorandum

procedure choose;
var

k :char;
begin

repeat

menu;
repeat
k := readkey;
ae not(k in [lie i230) )
then
begin
writeln('Wrong choice. Try again');
delay(1000);
clrscr;
menu;
writeln;
writeln('Make a choice');
end;

until k in ['1','2','3"'];

case k of

"1" 3 show;
'2' ; Wagestatement;
end;
until k = '3';

end;

{COB S SBS RoerObbb6Or Main program OOOO IOC i i ei}
begin
assign (dfile,'P_worker.dat');

choose;
end.

Copyright reserved

DBE/2012

Please turn over

### Page 17

Downloaded from hlayiso.com

Computer Studies/HG/P1 17 DBE/2012
SCE — Memorandum

| QUESTION 4: TURBO PASCAL MARKS: 20
program Vr4XXX_u;
uses crt;
var

tFile : text;

row,col,i,code : integer;
Amount : real;

ArrT : array[1..3,1..4] of real;
Tot : array[1..4] of real;

[I I I OCIS II ICICI II EI ICICI IOI II I EI I I I I I I I A eek

begin

clrscr;
assign(tfile,'P_reading.txt'); Yassio
reset (tfile);
while not eof(tfile) do

begin
readln(tfile,line); Ywhile
val (copy(line,1,1),row,code) ; ¥¥Vdere 1@ TOW, mt U
val (copy (line, 3,1),col,code) ;
val (copy (line, 5,10) ,amount, code) ; ¥YVread ir ray
arrT[row,col] := amount;
end;
close (tfile);
for i := 1 to 4 do
cOcla)] 3 07 VYinitialise totals
for col := 1 to 4 do
for row 1 to 3 do
Loe(col] s= arcl|cow,col) + totlcoll, or
clrscr;
writeln('Summary of petrol used);
writeln;
writeln('Unleaded 93 Unleaded 95 LRP Diesel': 75);
writeln;

write('Petrol used:':18);

for i := 1 to 4 do
write(tot[i]:12:2,'L");
writeln; YWrite and field wid
writeln;

write('Petrol used : ': 18);
for i := 1 to 4 do
begin
if (40000-tot[i]) <= 5000 ¥VViE/petro
then
begin
textcolor (red);
write ('INSUFFICIENT':14);
end
else
begin

Copyright reserved Please turn over

### Page 18

Downloaded from hlayiso.com

Computer Studies/HG/P1 18 DBE/2012
SCE — Memorandum

textcolor (white) ;
write ('SUFFICIENT':14); Ycolour and wer
end;
end;
readln;end.

TOTAL: 100

Copyright reserved

## Related documents

- [IT P2 GR12 QP SEPT2022 English](https://www.hlayiso.com/library/it-p2-gr12-qp-sept2022-english/59a4dc5f-1ee1-44b9-b838-76b7e9322abb) — Information Technology · QP · 2022 · Eng
- [IT P2 GR12 QP SEPT2019 English](https://www.hlayiso.com/library/it-p2-gr12-qp-sept2019-english/c2de4cf0-8224-429d-a20e-3f94fdb92255) — Information Technology · QP · 2019 · Eng
- [Information Technology P2 Nov 2013 Afr](https://www.hlayiso.com/library/information-technology-p2-nov-2013-afr/fa5bd8c3-aac3-401b-96ec-ef5b4ab74c40) — Information Technology · QP · 2012 · Afr
- [IT P2 MEMO GR12 SEPT 2024 English](https://www.hlayiso.com/library/it-p2-memo-gr12-sept-2024-english/4d74acb4-cb8b-4fd3-874f-4801fbcb8f44) — Information Technology · Memo · 2024 · Eng
- [IT P2 GR12 MEMO SEPT2023 English](https://www.hlayiso.com/library/it-p2-gr12-memo-sept2023-english/41fa8299-d258-40e9-8c8b-a3ce984eef54) — Information Technology · Memo · 2023 · Eng
- [IT P2 GR12 MEMO SEPT2021 English](https://www.hlayiso.com/library/it-p2-gr12-memo-sept2021-english/dc6b2b22-5eff-42a1-abf6-da544d6fc4c9) — Information Technology · Memo · 2021 · Eng

## More from Grade 12 Information Technology

- [Information Technology P1 May-June 2025 MG Eng](https://www.hlayiso.com/library/information-technology-p1-may-june-2025-mg-eng/109c2e1d-bc20-46d3-ac02-c08c05ad9c78) — Memo · 2025 · Eng
- [IT P1 MEMO GR12 SEPT 2024 English](https://www.hlayiso.com/library/it-p1-memo-gr12-sept-2024-english/8994aed2-83ec-413e-b7dc-b0d0b93b82f4) — Memo · 2024 · Eng
- [Information Technology P1 May-June 2023 MG Eng](https://www.hlayiso.com/library/information-technology-p1-may-june-2023-mg-eng/f868554b-8f4f-4370-aa4e-cfa745fc806d) — Memo · 2023 · Eng
- [IT P1 GR12 MEMO SEPT 2022 English](https://www.hlayiso.com/library/it-p1-gr12-memo-sept-2022-english/6e7cbe6a-69aa-4c7d-bcd4-dcfeaf4c8272) — Memo · 2022 · Eng
- [Information Technology P2 May June 2021 Eng](https://www.hlayiso.com/library/information-technology-p2-may-june-2021-eng-1/7454979b-cba2-4b39-a884-69e6b1c0f5c6) — QP · 2022 · Eng
- [Information Technology P2 May June 2021 Afr](https://www.hlayiso.com/library/information-technology-p2-may-june-2021-afr-1/500d3219-d02f-4c1c-af0e-452a5fe87f3b) — QP · 2022 · Afr

## Collection

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