Downloaded from hlayiso.com
NASIONALE
SENIOR SERTIFIKAAT
GRAAD 12
INLIGTINGSTEGNOLOGIE V1
NOVEMBER 2019
NASIENRIGLYNE
PUNTE: 150
Hierdie nasienriglyne bestaan uit 24 bladsye.
Kopiereg voorbehou Blaai om asseblief
Skip to contentAll 2019 papers 




_hlayiso.com_--50e776f8-b245-4554-9243-5cf350cf10d2/v1-50c5c39841428639bad4/card.webp)
View all





Information Technology Grade 12 P1 NSC November 2019 Memo
Grade 12 Information Technology Paper 1 memorandum from the NSC November Exam 2019 (Afrikaans), 24 pages. Read online or download the free PDF.
Information Technology · Grade 12 · NSC November Exam · 2019. Memorandum, 24 pages. Read online or download the PDF.
- Subject
- Information Technology
- Grade
- Grade 12
- Document type
- Memorandum
- Year
- 2019
- Exam period
- NSC November Exam
- Paper
- 1
- Curriculum
- CAPS
- Pages
- 24
- File size
- 542.7 KB
Free to read online, no sign-up needed
Loading document…
Loading document…
1 of 24
This exam
NSC November Exam 2019
Questions in this paper
Document textSearch extracted text and jump to a page.
Downloaded from hlayiso.com
Inligtingstegnologie/V1 2 DBE/November 2019
NSC –
ALGEMENE INLIGTING:
• Hierdie nasienriglyne moet as die basis vir die nasiensessie gebruik word. Dit is
voorberei om deur nasieners gebruik te word. Daar word na alle nasieners
verwag om 'n deeglike standaardiseringsvergadering by te woon om seker te
maak dat die riglyne konsekwent geïnterpreteer en tydens die nasien van die
kandidate se werk toegepas word.
• Let op dat leerders wat 'n alternatiewe korrekte oplossing as wat as voorbeeld
van 'n oplossing in die nasienriglyne gegee word verskaf, volle krediet vir die
relevante oplossing moet kry tensy die spesifieke instruksies in die vraestel nie
gevolg is nie of die vereistes van die vraag nie nagekom is nie.
• Bylaag A, B, C en D (bladsy 3-12) sluit die nasienrubriek vir elke om te gebruik
vir enigeen van die twee programmeringstale in.
• Bylaag E, F, G en H (bladsy 13-24) bevat voorbeelde in programmeringskode
van oplossings vir Vraag 1 tot Vraag 4.
• Kopieë van Bylaag A, B, C, D en die opsomming van die leerder se punte
(bladsy 3-12) moet vir elke leerder gemaak word en tydens die
nasiensessie voltooi word.
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 3 DBE/November 2019
NSC –
BYLAAG A
VRAAG 1: NASIENRUBRIEK - ALGEMENE PROGRAMMERINGSVAARDIGHEDE
SENTRUMNOMMER: EKSAMENNOMMER:
MAKS. LEERDER-
VRAAG BESKRYWING
PUNTE PUNT
1.1 Knoppie [1.1 – Vertoon bedrag verskuldig]
Verklaar ‘n konstante veranderlike PRYS en ken waarde 14.95
toe
Verklaar ‘n reële veranderlike vir die bedrag verskuldig
Verklaar 'n veranderlike vir die aantal pizzas 8
Kry getal uit spnV1_1
Bereken bedrag deur PRYS te gebruik
Verander skrifgrootte van byskrif ('label') na 20pt
Vertoon bedrag op lblV1_1 omgeskakel na string en
geldeenheid-formaat
1.2 Knoppie [1.2 – Pythagoras]
Skep veranderlikes vir sye A, B en C
Ken lengte van 4 toe aan A
Lengte vir sy B en skakel om na getal formaat
C = sqrt (sqr(A) + sqr(B))
korrekte gebruik van sqr(A) OF A * A
korrekte gebruik van sqr(rB) OF B * B 10
kry die som van die twee waardes
Vertoon lengte van sy C op paneel
geformatteer tot een desimale plek
Aanvaar:
Sqr: Power(A,2)
Sqrt: Power((sqr(A) +sqr(B)),0.5)
1.3 Knoppie [1.3 – Bepaal kleinste getal]
Ken ewekansige getal in die korrekte gebied aan veranderlike
toe
Vertoon getal omgeskakel na string
As (if) getal < kleinste
Ken getal toe aan kleinste
Vertoon kleinste in edtV1_3 omgeskakel na string 9
RandomRange(1,101)
Random(100) + 1
Ceil(Random() *100)
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 4 DBE/November 2019
NSC –
1.4 Knoppie [1.4 – Vertoon gedekripteerde string]
Lees toevoerstring met 'n toevoerdialoogblokkie in
met korrekte parameters
Lus ('Loop') van eerste tot laaste karakter
Korrekte toets uitgevoer (if/case)
Verkry karakter by indeks
Toets teen syfer vir vir al 10 syfers
Vervang syfer by korrekte indeks
Met korrekte karakter vir al 10 karakters
Vertoon
13
KONSEPTE:
Lees toevoerstring met 'n toevoerdialoogblokkie(1)
met korrekte parameters (1)
Lus ('Loop') (1) van eerste (1) tot laaste karakter (1)
Korrekte toets (if/case) (1)
Onttrek karakter by indeks (1)
Toets teen syfer (1) vir al 10 syfers (1)
Vervang syfer by korrekte indeks (1)
Met korrekte karakter (1) vir al 10 karakters (1)
Vertoon (1)
TOTAAL AFDELING A: 40
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 5 DBE/November 2019
NSC –
BYLAAG B
VRAAG 2: NASIENRUBRIEK – DATABASISPROGRAMMERING
SENTRUMNOMMER: EKSAMENNOMMER:
MAKS. LEERDER-
VRAAG BESKRYWING
PUNTE PUNT
2.1 SQL-stellings
2.1.1 Knoppie [2.1.1 – Beste speler]
SELECT SpelerVan, SpelerNaam FROM tblSpelers
WHERE VaardigheidsVlak = 10
KONSEPTE: 3
SELECT SpelerVan, SpelerNaam
FROM tblSpelers
WHERE VaardigheidsVlak = 10
2.1.2 Knoppie [2.1.2 – B-span-afrigters]
SELECT Afrigter, SpanNaam FROM tblSpanne WHERE
SpanNaam Like "%B"
KONSEPTE: 4
SELECT Afrigter, SpanNaam
FROM tblSpanne
WHERE SpanNaam LIKE "%B"
2.1.3 Knoppie [2.1.3 – Persentasie wedstryde gewen]
SELECT SpanNaam, Afrigter,
(GetalWedstrydeGewen/GetalWedstrydeGespeel*100)
AS [PersentasieWedstrydeGewen]
FROM tblSpanne
WHERE SpanNaam = "' + sSpan + '"
KONSEPTE:
SELECT SpanNaam, Afrigter,
4
(GetalWedstrydeGewen/GetalWedstrydeGespeel*100),
AS [PersentasieWedstrydeGewen]
FROM tblSpanne
WHERE SpanNaam = " ' + sSpan + ' " '
ALTERNATIEF:
‘WHERE SpanNaam = ‘ + QuotedStr(sSpan)
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 6 DBE/November 2019
NSC –
2.1.4 Knoppie [2.1.4 – Spangemiddeld meer as 6]
SELECT SpanNaam, ROUND(AVG(VaardigheidsVlak),1)
AS [GemidVaardigheidsVlak]
FROM tblSpelers
GROUP BY SpanNaam HAVING AVG(VaardigheidsVlak)>6
KONSEPTE:
SELECT SpanNaam, ROUND(AVG(VaardigheidsVlak) ,1) 5
AS GemidVaardigheidsVlak
FROM tblSpelers
GROUP BY SpanNaam
HAVING AVG(VaardigheidsVlak) > 6
2.1.5 Knoppie [2.1.5 – Dateer wedstryde gewen op]
UPDATE tblSpanne
SET GetalWedstrydeGewen = GetalWedstrydeGewen + 1
WHERE SpanNaam <> "o/14 B"
3
KONSEPTE:
UPDATE tblSpanne
SET GetalWedstrydeGewen = GetalWedstrydeGewen + 1
WHERE SpanNaam <> "o/14 B"
Subtotaal: 19
2.2 Databasismanipulasie deur Delphi-kode te gebruik
2.2.1 Knoppie [2.2.1 – Junior spelers in die o/18 A-span]
AssignFile & Rewrite
Stel tblSpelers om by eerste rekord te begin lees
Lus ('Loop') terwyl NOT tblSpelers.EOF
Toets of SpanNaam 'o/18 A' is EN
of eerste 2 karakters van IDnommer-veld >=3 is
Skryf van en naam na lêer 11
Vermeerder teller met 1
Gaan na volgende rekord in tblSpelers
Eindig lus
Maak lêer toe
Vertoon teller van getal junior speler in byskrif ('label')
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 7 DBE/November 2019
NSC –
2.2.2 Knoppie [2.2.2 – Afrigter en doelwagter se inligting]
Lus ('Loop') terwyl NOT tblSpanne.EOF
Stel tblSpelers om te begin lees by eerste rekord
Lus ('Loop') terwyl NOT tblSpelers.EOF
Toets of
die SpanNaam-veld in tblSpanne gelyk is aan
SpanNaam-veld in tblSpelers
EN DoelWagter = true
Voeg span se naam, afrigter se naam
Speler se van en naam
in regte formaat by afvoerstring
Gaan na volgende rekord in tblSpelers
Vertoon afvoer in reel
Gaan na volgende rekord in tblSpanne
10
Alternatief:
Lus ('Loop') terwyl NOT tblSpelers.EOF (1)
Toets of DoelWagter = true(1)
Stel tblSpanne om te begin lees by eerste rekord(1)
Lus ('Loop') terwyl NOT tblTeams.EOF(1)
Toets of die SpanNaam-veld in tblSpanne gelyk is aan
SpanNaam-veld in tblSpelers (1)
Voeg span se naam, afrigter se naam (1)
Speler se van en naam
in regte formaat by afvoerstring(1)
Gaan na volgende rekord in tblSpanne(1)
Vertoon afvoer in reel(1)
Gaan na volgende rekord in tblSpelers(1)
Subtotaal: 21
TOTAAL AFDELING B: 40
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 8 DBE/November 2019
NSC –
BYLAAG C
VRAAG 3: NASIENRUBRIEK - OBJEK-GEÖRIENTEERDE PROGRAMMERING
SENTRUMNOMMER: EKSAMENNOMMER:
MAKS. LEERDER-
VRAAG BESKRYWING
PUNTE PUNT
3.1.1 Konstruktor-metode:
Opskrif met regte parameters en datatipes
Ken naam van speler parameterwaarde toe aan
fSpelerNaam 4
Ken gewig van speler parameterwaarde toe aan
fGewigVanSpeler
Stel fTelling op 0
3.1.2 getTelling-metode:
Funksie opskrif met heelgetal as terugstuur-datatipe 2
fTelling aan 'result' toegeken
3.1.3 dateerTellingOp-metode:
Prosedure-opskrif met heelgetalparameter 3
Vermeerder fTelling met parameterwaarde
3.1.4 berekenLMI-metode:
Funksie verklaar met reële terugstuur datatipe en ontvang
reële parameterwaarde and return ‘n berekende LMI 3
Calculation = fGewigVanSpeler /
Sqr(parameterwaarde lengte van speler)
3.1.5 geskikVirSeleksie-metode:
Toets of telling 'n waarde tussen 0 en 7 is (inklusief)
Result = Klein moontlikheid
Toets of telling 'n waarde tussen 8 en 14 is (inklusief) 4
Result = Gemiddelde moontlikheid
Toets of telling > 14 is
Result = Groot moontlikheid
3.1.6 toString-metode:
Byskrifte (Naam, Gewig, Huidige telling)
Regte attribute 4
Regte omskakelings (gewig – float; telling – integer)
Return string
Subtotaal: Objekklas 20
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 9 DBE/November 2019
NSC – Nasienriglyne
VRAAG 3: NASIENRUBRIEK (VERVOLG)
MAKS. LEERDER
VRAAG BESKRYWING
PUNTE - PUNT
3.2.1 Knoppie [3.2.1 - Instansieer speler-objek]
Instansieer die objSpeler-objek:
objSpeler := TSpeler.Create
Stuur naam en spelergewig in korrekte volgorde
5
met korrekte datatype (dieselfde as konstruktor)
Gebruik ‘n dialoogboks om aan te dui dat die objek ge-
instansieer is
3.2.2 Knoppie [3.2.2 – Bereken LMI]
Gebruik toevoerdialoogblokkie om lengte in te sleutel
Roep berekenLMI-metode deur gebruik van objek
gebruik lengte as argument omgeskakel na reële getal 7
Vertoon die inligting in redV3_2_2
deur die toString-metode van die objek te gebruik
Vertoon die LMI in redV3_2_2
in die regte formaat met een desimale plek
3.2.3 Knoppie [3.2.3 – Dateer telling op]
Kry itemindex uit die radio group
Om die telling te kry
Roep die dateerTellingOp metode 6
met korrekte argument
Vertoon opgedateerde telling op pnlV3_2_3
deur die getTelling-metode te gebruik
3.2.4 Knoppie [3.2.4 – Geskik vir seleksie]
Roep die relevante metode as volg:
2
Vertoon op die byskrif ('label') lblV3_2_4
Deur gebruik te maak van objSpeler.geskikVirSeleksie
Subtotaal: Form-klas 20
TOTAAL AFDELING C: 40
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 10 DBE/November 2019
NSC – Nasienriglyne
VRAAG 4: NASIENRUBRIEK – PROBLEEMOPLOSSING
SENTRUMNOMMER: EKSAMENNOMMER:
MAKS. LEERDER-
VRAAG BESKRYWING
PUNTE PUNT
4.1 Knoppie [4.1 – Vertoon Doolhof]
Kies doolhof uit kombinasieblokkie
Regte lêernaam + '.txt'
Toets en vertoon ‘n boodskap indien die lêer nie bestaan nie
Assign file, Reset die tekslêer 11
Initialiseer indeks-veranderlike
Lus (Loop) deur die tekslêer
Inkrementeer die waarde van indeks
(Posisie word bepaal deur beginwaarde)
Lees reël ken die reël toe aan die skikking arrDoolhof
Vertoon die reëlnommer en die reël
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 11 DBE/November 2019
NSC – Nasienriglyne
4.2 Knoppie [4.2 – Langste gang]
Inisialieer veranderlike na 0 om maksimum waarde te stoor
Lus (Loop) deur die skikking
Initialiseer veranderlike vir langste gang in die reël
Initialiseer veranderlike om agtereenvolgende '-' in reël te tel
Lus (Loop) deur elke karakter in die reël
Toets of karakter 'n '-' is
Inkrementeer dash-teller
As dash-teller meer is as langste gang in reël
Vervang langste gang met dash-teller
Anders as karakter nie '-' is nie
Stel dash-teller na 0
Stoor langste gang in die ry in arrRye skikking/ 'n string
As langste in ry langer is as langste – vervang langste
19
Vertoon boodskap met lengte van langste gang
Lus (Loop) deur skikking/string met langste gange per reël
Vertoon reëlnommer van rye
wat dieselfde as langste gang se lengte is
KONSEPTE:
Inisialiseer veranderlike vir langste gang na 0 (1)
Lus deur skikking (1)
Initialiseer dash-teller per reël(1)
en maksimum aantal aaneenlopende dashes per reël (1)
Lus (loop) deur elke karakter in die reël (2)
Toets of karakter dash is (1)
Vermeerder die dash-teller (1)
Toets of die dash-teller langste in die reël (2)
en stoor in maksimum aantal(1)
As karakter nie dash is nie (1)
Herstel dash-teller na 0 (1)
Bepaal die langste gang in al die lyne in die doolhof
(Toets en stoor maksimum aantal) (2)
Vertoon langste (1)
Toets vir lyne wat selfde lengte het as langste gang (2)
Vertoon lyn nommer(s) (1)
TOTAAL AFDELING D: 30
GROOTTOTAAL: 150
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 12 DBE/November 2019
NSC – Nasienriglyne
OPSOMMING VAN LEERDER SE PUNTE:
SENTRUMNOMMER: LEERDER SE EKSAMENNOMMER:
AFDELING A AFDELING B AFDELING C AFDELING D
GROOT-
VRAAG 1 VRAAG 2 VRAAG 3 VRAAG 4
TOTAAL
MAKS.
40 40 40 30 150
PUNTE
LEERDER
SE PUNTE
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 13 DBE/November 2019
NSC – Nasienriglyne
BYLAAG E: OPLOSSING VIR VRAAG 1
unit Vraag1_u;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, Spin, pngimage;
type
TfrmV1 = class(TForm)
gpbV1_1: TGroupBox;
gpbV1_4: TGroupBox;
gpbV1_3: TGroupBox;
btnV1_1: TButton;
btnV1_4: TButton;
edtV1_3: TEdit;
btnV1_3: TButton;
redV1_3: TRichEdit;
btnReset: TButton;
gpbV1_2: TGroupBox;
btnV1_2: TButton;
Label1: TLabel;
pnlV1_2: TPanel;
lblV1_1: TLabel;
lbl1_2Pies: TLabel;
edtV1_2Deursnee: TEdit;
Label2: TLabel;
Label3: TLabel;
edtV1_2Breedte: TEdit;
Label4: TLabel;
spnV1_1: TSpinEdit;
Label5: TLabel;
procedure btnResetClick(Sender: TObject);
procedure btnV1_1Click(Sender: TObject);
procedure btnV1_2Click(Sender: TObject);
procedure btnV1_3Click(Sender: TObject);
procedure btnV1_4Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
iKleinste: integer; // global
{ Public declarations }
end;
var
frmV1: TfrmV1;
implementation
{$R *.dfm}
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 14 DBE/November 2019
NSC – Nasienriglyne
====================================================================
Vraag 1.1 = 8 punte
====================================================================
procedure TfrmV1.btnV1_1Click(Sender: TObject);
const
PRYS = 14.95;
var
iGetal: integer;
rBedrag: real;
begin
lblV1_1.Font.Size := 20;
iGetal := spnV1_1.Value;
rBedrag := iGetal * PRYS;
lblV1_1.Caption := FloatToStrF(rBedrag, ffCurrency, 10, 2);
end;
====================================================================
Vraag 1.2 = 10 punte
====================================================================
procedure TfrmV1.btnV1_2Click(Sender: TObject);
var
rA, rB, rC : real;
begin
rA := 4;
rB := StrToFloat(edtV1_2.Text);
rC := Sqrt(Sqr(rA) + Sqr(rB));
pnlV1_2.Caption := FloatToStrF(rC,ffFixed,8,1);
end;
====================================================================
Vraag 1.3 = 9 punte
====================================================================
procedure TfrmV1.btnV1_3Click(Sender: TObject);
var // Kode wat voorsien is
iGetal: integer;
begin
iGetal := random(100) + 1;
redV1_3.lines.Add(IntToStr(iGetal));
if iGetal < iKleinste then
iKleinste := iGetal;
edtV1_3.Text := IntToStr(iKleinste);
end;
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 15 DBE/November 2019
NSC – Nasienriglyne
====================================================================
Vraag 1.4 = 13 punte
====================================================================
procedure TfrmV1.btnV1_4Click(Sender: TObject);
const
ALFA = 'ABCDEFGHIJ';
var // Kode wat voorsien is
sString, sVertoon: String;
I, iIndeks: integer;
begin
// Kode wat voorsien is
sString := InputBox('Sleutel ''n geënkripteerde string in: ', '','');
sVertoon := '';
for I := 1 to Length(sString) do
if sString[I] in ['0' .. '9'] then
begin
iIndeks := StrToInt(sString[I]) + 1;
sVertoon := sVertoon + ALFA[iIndeks];
end
else
sVertoon := sVertoon + sString[I];
ShowMessage(sVertoon);
end;
===================================================================
Kode wat voorsien is
===================================================================
procedure TfrmV1.btnResetClick(Sender: TObject);
begin
// Kode wat voorsien is - moenie verander nie
iKleinste := 100;
redV1_3.Clear;
edtV1_3.Clear;
end;
procedure TfrmV1.FormActivate(Sender: TObject);
begin
// Kode wat voorsien is - moenie verander nie
iKleinste := 100;
redV1_3.Clear;
edtV1_3.Clear;
CurrencyString := 'R';
end;
end.
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 16 DBE/November 2019
NSC – Nasienriglyne
BYLAAG F: OPLOSSING VIR VRAAG 2
VRAAG 2.1: SQL kode
====================================================================
Vraag 2.1: 2.1.1(3), 2.1.2(4), 2.1.3(4), 2.1.4(5), 2.1.5 (3)
====================================================================
2.1.1: SELECT SpelerVan, SpelerNaam
FROM tblSpelers WHERE VaardigheidsVlak = 10
2.1.2: SELECT Afrigter, SpanNaam
FROM tblSpanne
WHERE SpanNaam Like "%B"
2.1.3: SELECT SpanNaam, Afrigter,
(GetalWedstrydeGewen/GetalWedstrydeGespeel*100) AS
[PersentasieWedstrydeGewen]
FROM tblSpanne
WHERE SpanNaam = "' + sSpan + '"'
2.1.4: SELECT SpanNaam, round(avg(VaardigheidsVlak),1) AS
[GemidVaardigheidsVlak]
FROM tblSpelers
GROUP BY SpanNaam HAVING avg(VaardigheidsVlak) > 6
2.1.5: UPDATE tblSpanne
SET GetalWedstrydeGewen = GetalWedstrydeGewen + 1
WHERE SpanNaam <> "o/14 B"
QUESTION 2.2: DATABASE MANIPULATION met gebruik van Delphi-kode
// {$REGION 'VRAAG 2.2'}
=======================================================================
Vraag 2.2.1 = 11 punte
=======================================================================
procedure TfrmDBVraag2.btnV2_2_1Click(Sender: TObject);
var
tFile: textfile;
iTel, iJaar: integer;
begin
AssignFile(tFile, 'Junior18A.txt');
Rewrite(tFile);
tblSpelers.first;
iTel := 0;
while not tblSpelers.eof do
begin
iJaar := StrToInt(copy(tblSpelers['IDNommer'], 1, 2));
if (tblSpelers['SpanNaam'] = 'o/18 A') AND (iJaar>= 3) then
begin
Writeln(tFile,
tblSpelers['SpelerVan'] + ' ' + tblSpelers['SpelerNaam']);
inc(iTel);
end;
tblSpelers.Next;
end;
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 17 DBE/November 2019
NSC – Nasienriglyne
CloseFile(tFile);
lblV2_2_1.Caption := 'Getal junior spelers in die o/18 A-span: ' +
IntToStr(iTel);
// Kode wat voorsien is
dbCONN.setupGrids(dbgrdONE, dbgrdMany, dbgrdSQL);
end;
=======================================================================
Vraag 2.2.2 = 10 punte
=======================================================================
procedure TfrmDBVraag2.btnV2_2_2Click(Sender: TObject);
var
sAfvoer: String; // veranderlike om span wat geselekteer is te stoor
begin // Vraag 2.2.2
// Kode wat voorsien is
redV2_2_2.Clear;
redV2_2_2.Paragraph.TabCount := 2;
redV2_2_2.Paragraph.Tab[0] := 70;
redV2_2_2.Paragraph.Tab[1] := 160;
redV2_2_2.Lines.Add('Span' + #9 + 'Afrigter' + #9 + 'Doelwagter');
// --------------------------------------------------
// Sleutel jou kode hier in:
tblSpanne.first;
while NOT tblSpanne.eof do
begin
sAfvoer := tblSpanne['SpanNaam'] + #9 + tblSpanne['Afrigter'] + #9;
tblSpelers.first;
while NOT tblSpelers.eof do
begin
if (tblSpanne['SpanNaam'] = tblSpelers['SpanNaam']) AND
(tblSpelers['DoelWagter'] = true) then
begin
sAfvoer := sAfvoer + tblSpelers['SpelerVan'] + ', ' + tblSpelers
['SpelerNaam'];
end;
tblSpelers.Next;
end; tblSpanne.Next;
redV2_2_2.Lines.Add(sAfvoer);
end;
// Kode wat voorsien is
dbCONN.setupGrids(dbgrdONE, dbgrdMany, dbgrdSQL);
end;
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 18 DBE/November 2019
NSC – Nasienriglyne
===================================================================
{$REGION 'Provided code: Setup DB connections - DO NOT CHANGE!'}
===================================================================
procedure TfrmDBVraag2.bmbHerstelDBClick(Sender: TObject);
begin
// Herstel die database
dbCONN.RestoreDatabase;
redV2_2_2.Clear;
dbCONN.setupGrids(dbgrdONE, dbgrdMany, dbgrdSQL);
end;
// ================================================================
procedure TfrmDBVraag2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin // Diskonnekteer databasis en maak alle oop konneksies toe
dbCONN.dbDisconnect;
end;
procedure TfrmDBVraag2.FormCreate(Sender: TObject);
begin
CurrencyString := 'R';
end;
// =================================================================
procedure TfrmDBVraag2.FormShow(Sender: TObject);
begin // Stel konneksie met databasis op en maak die tabelle oop.
dbCONN := TConnection.Create;
dbCONN.dbConnect;
tblSpanne := dbCONN.tblOne;
tblSpelers := dbCONN.tblMany;
dbCONN.setupGrids(dbgrdONE, dbgrdMany, dbgrdSQL);
pgcDBAdmin.ActivePageIndex := 0;
end;
// =================================================================
// {$ENDREGION}
end.
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 19 DBE/November 2019
NSC – Nasienriglyne
BYLAAG G: OPLOSSING VIR VRAAG 3
Objekklas
unit Speler_U;
interface
uses StdCtrls, SysUtils;
type
TSpeler = class(TObject)
//Kode wat voorsien is - moenie verander nie
private
fSpelerNaam: String;
fGewigVanSpeler : real;
fTelling : integer;
public
//Kode wat voorsien is - moenie verander nie
constructor create(sSpelerNaam : String; rGewigVanSpeler : real);
function getTelling : integer;
//Voeg kode hier in
function berekenLMI (rLengteVanSpeler : real) : real;
procedure dateerTellingOp (iTelling : integer);
function geskikVirSeleksie: String;
function toString : String;
end;
implementation
{ TSpeler }
====================================================================
Vraag 3.1.1 = 4 punte
====================================================================
constructor TSpeler.create(sSpelerNaam : String; rGewigVanSpeler :
real);
begin
fSpelerNaam := sSpelerNaam;
fGewigVanSpeler := rGewigVanSpeler;
fTelling := 0;
end;
====================================================================
Vraag 3.1.2 = 2 punte
====================================================================
function TSpeler.getTelling: integer;
begin
result := fTelling;
end;
====================================================================
Vraag 3.1.3 = 3 punte
====================================================================
procedure TSpeler.dateerTellingOp(iTelling: integer);
begin
fTelling := fTelling + iTelling;
end;
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 20 DBE/November 2019
NSC – Nasienriglyne
====================================================================
Vraag 3.1.4 = 3 punte
====================================================================
function TSpeler.berekenLMI(rLengteVanSpeler: real) : real;
begin
result := fGewigVanSpeler / sqr(rLengteVanSpeler);
end;
====================================================================
Vraag 3.1.5 = 4 punte
====================================================================
function TSpeler.geskikVirSeleksie:string;
begin
if fTelling < 8 then
result := 'Klein moontlikheid'
else
if fTelling < 15 then
result := 'Gemiddelde moontlikheid'
else
result := 'Groot moontlikheid'
end;
====================================================================
Vraag 3.1.6 = 4 punte
====================================================================
function TSpeler.toString : String;
begin
result := 'Naam: ' + fSpelerNaam + #13 + 'Gewig: '+
FloatToStr(fGewigVanSpeler)+ #13+ 'Huidige telling: ' +
IntToStr (fTelling);
end;
end.
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 21 DBE/November 2019
NSC – Nasienriglyne
Hoofvormeenheid
unit Vraag3_U;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Speler_U, ComCtrls, ExtCtrls, Spin, DateUtils;
type
TfrmVraag3 = class(TForm)
lblNaamVanSpeler: TLabel;
edtNaamVanSpeler: TEdit;
btnV3_2_2: TButton;
redV3_2_2: TRichEdit;
pnlV3_2_3: TPanel;
btnV3_2_3: TButton;
btnV3_2_1: TButton;
rgpV3_2_3: TRadioGroup;
btnV3_2_4: TButton;
lblV3_2_4: TLabel;
Label1: TLabel;
edtGewigVanSpeler: TEdit;
Label3: TLabel;
grpV3_2_1: TGroupBox;
grpV3_2_2: TGroupBox;
grpV3_2_3: TGroupBox;
grpV3_2_4: TGroupBox;
procedure btnV3_2_2Click(Sender: TObject);
procedure btnV3_2_3Click(Sender: TObject);
procedure btnV3_2_1Click(Sender: TObject);
procedure btnV3_2_4Click(Sender: TObject);
// procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmVraag3: TfrmVraag3;
// Veranderlike wat reeds verklaar is
objSpeler : TSpeler;
implementation
{$R *.dfm}
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 22 DBE/November 2019
NSC – Nasienriglyne
====================================================================
Vraag 3.2.1 = 5 punte
====================================================================
procedure TfrmVraag3.btnV3_2_1Click(Sender: TObject);
var
sNaamVanSpeler : String;
rGewigVanSpeler : real;
begin
sNaamVanSpeler := edtNaamVanSpeler.Text; rGewigVanSpeler :=
StrToFloat(edtGewigVanSpeler.Text); objSpeler :=
TSpeler.create(sNaamVanSpeler,rGewigVanSpeler);
ShowMessage('Speler-objek is ge-instansieer.');
end;
====================================================================
Vraag 3.2.2 = 7 punte
====================================================================
procedure TfrmVraag3.btnV3_2_2Click(Sender: TObject);
var
rLengteVanSpeler, rLMI : real;
sLMI : String;
begin
redV3_2_2.Clear;
rLengteVanSpeler := StrToFloat(InputBox('Lengte van die speler',
'Sleutel die lengte van die speler in meter in: ',''));
rLMI := objSpeler.berekenLMI(rLengteVanSpeler);
sLMI := FloatToStrF(rLMI,ffFixed,3,1);
redV3_2_2.Lines.Add(objSpeler.toString);
redV3_2_2.Lines.Add ('LMI: '+ sLMI);
end;
====================================================================
Vraag 3.2.3 = 6 punte
====================================================================
procedure TfrmVraag3.btnV3_2_3Click(Sender: TObject);
var
iTelling: integer;
begin
iTelling := StrToInt(rgpV3_2_3.Items[rgpV3_2_3.ItemIndex]);
objSpeler.dateerTellingOp(iTelling);
pnlV3_2_3.Caption :=('Opgedateerde telling: ' +
IntToStr(objSpeler.getTelling));
end;
====================================================================
Vraag 3.2.4 = 2 punte
====================================================================
procedure TfrmVraag3.btnV3_2_4Click(Sender: TObject);
begin
lblV3_2_4.Caption := objSpeler.geskikVirSeleksie;
end;
end.
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 DBE/November 2019
NSS – Nasienriglyne
BYLAAG H: OPLOSSING VIR VRAAG 4
unit Vraag4_U;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,Dialogs, StdCtrls, ComCtrls;
type
TfrmV4 = class(TForm)
gpbVrae: TGroupBox;
btnV4_1: TButton;
btnV4_2: TButton;
cmbV4_1: TComboBox;
Label1: TLabel;
redV4: TRichEdit;
procedure btnV4_1Click(Sender: TObject);
procedure btnV4_2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
// Kode wat voorsien is
const
iRyTel = 16;
var
frmV4: TfrmV4;
arrDoolhof: array [1..iRyTel] of String;
implementation
{$R *.dfm}
========================================================================
Vraag 4.1 = 11 punte
========================================================================
procedure TfrmV4.btnV4_1Click(Sender: TObject);
var
iIndeks: integer;
sLeerNaam, sReel: String;
tNaamLeer: TextFile;
begin
========================================================================
Kode wat voorsien is
========================================================================
redV4.Clear;
========================================================================
Kode wat voltooi moet word
========================================================================
iIndeks := 1;
sLeerNaam := cmbV4_1.Text + '.txt';
if FileExists(sLeerNaam) then
begin
AssignFile(tNaamLeer, sLeerNaam);
Reset(tNaamLeer);
Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com
Inligtingstegnologie/V1 DBE/November 2019
NSS – Nasienriglyne
while not(eof(tNaamLeer)) do
begin
Readln(tNaamLeer, sReel); arrDoolhof[indeks] :=
sReel; redV4.Lines.Add(IntToStr(iIndeks) + #9 +
sReel); Inc(iIndeks);
end;
end;
end;
========================================================================
Vraag 4.2 = 19 punte
========================================================================
procedure TfrmV4.btnV4_2Click(Sender: TObject);
var
iRy, iKol, iTel, iLangsteInReel, iMaks: integer;
arrRye: array [1..iRyTel] of integer;
sRy: String;
begin
iMaks := 0;
for iRy := 1 to iRyTel do
begin
sRy := arrDoolhof[iRy];
iLangsteInReel := 0;
iTel := 0;
for iKol := 1 to Length(sRy) do
begin
if sRy[iKol] = '-' then
begin
Inc(iTel);
if iTel > iLangsteInReel then
iLangsteInReel := iTel
end
else
iTel := 0;
end;
arrRye[iRy] := iLangsteInReel;
if iMaks < arrRye[iRy] then
iMaks := arrRye[iRy];
end;
redV4.Lines.Add('');
redV4.Lines.Add('Langste gang(e) met ' + IntToStr(iMaks)
+ ' spasies in ry(e):');
for iRy := 1 to Length(arrRye) do
begin
if arrRye[iRy] = iMaks then
redV4.Lines.Add(' ' + IntToStr(iRy));
end;
end;
end.
Kopiereg voorbehou
Study this subject
Recommended for this subject

Question paper
Information Technology Grade 12 P1 NSC November 2019 QP

Memorandum
Information Technology Grade 12 P2 NSC November 2019 Memo

Memorandum
Information Technology Grade 12 P2 NSC November 2019 Memo

Memorandum
Information Technology Grade 12 P1 2019 Memo (Eng)

Memorandum
Information Technology Grade 12 P1 NSC June 2019 Memo (Afr)
_hlayiso.com_--50e776f8-b245-4554-9243-5cf350cf10d2/v1-50c5c39841428639bad4/card.webp)
Memorandum
Information Technology Grade 12 P1 NSC November 2020 Memo
More from Grade 12 Information Technology

Question paper
Information Technology Grade 12 P2 Eastern Cape Mock 2025 QP

Question paper
Information Technology Grade 12 P2 2024 QP (Afr)

Question paper
Information Technology Grade 12 P2 2024 QP (Eng)

Question paper
Information Technology Grade 12 P1 November 2024 NSC QP

Question paper
Information Technology Grade 12 P2 November 2024 NSC QP

Memorandum