Skip to content

Information Technology Grade 12 P1 2020 Memo (Afr)

MemorandumInformation TechnologyGrade 12202014 pages

Grade 12 Information Technology Paper 1 memorandum from the Eastern Cape Mock Exam 2020 (Afrikaans), 14 pages. Read online or download the free PDF.

Free to read online, no sign-up needed

Answer online

Loading document…

Loading document…

Questions in this paper

Document textSearch extracted text and jump to a page.
Downloaded from hlayiso.com NASIONALE SENIOR SERTIFIKAAT GRAAD 12 SEPTEMBER 2020 INLIGTINGSTEGNOLOGIE V1 NASIENRIGLYN PUNTE: 150 Hierdie nasienriglyn bestaan uit 14 bladsye.
Downloaded from hlayiso.com 2 INLIGTINGSTEGNOLOGIE V1 (EC/SEPTEMBER 2020) NAAM VAN LEERDER: TOTAAL TOTAAL TOTAAL TOTAAL TOTAAL VRAAG 1: VRAAG 2: VRAAG 3: VRAAG 4: /40 /40 /40 /30 /150 MAKS. PUNTE VRAAG 1: ALGEMENE PROGRAMMERINGSVAARDIGHEDE PUNTE BEHAAL 1.1 Knoppie [1.1 Vertoon Klubnaam] Kry naam van redigeerblokkie  Voeg stelseldatum (omgeskakel na string)  aan einde van naam  6 Vertoon naam in paneel  Verander fontgrootte van paneel na 24  Verander die fontstyl van paneel na vetgedruk  1.2 Knoppie [1.2 Prosesseer] Kry gewig as ʼn syfer  gedeel deur 1000  verwyder desimale van gewig (trunc of enige ander metode)  gebruik globale veranderlikes  16 inisialiseer die globale veranderlikes  Gebruik case of IF  Vermenigvuldig korrekte bedrag per kategorie  Tel by totale  Vertoon bedrae  in korrekte panele  Vir al drie afvalprodukte  Geformateer as geldeenheid  2 desimale plekke  Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com (EC/SEPTEMBER 2020) INLIGTINGSTEGNOLOGIE V1 3 1.3 Knoppie [1.3 Toets vir skrikkeljaar] Kry die jaar van redigeerblokkie  verander na integer  As (if) jaar mod 400 = 0  Vertoon skrikkeljaar in afvoerkomponent  else  As (if) jaar mod 100 = 0  Vertoon NIE skrikkeljaar in afvoerkomponent  else  As (if) jaar mod 4 = 0  Vertoon skrikkeljaar in afvoerkomponent  else  Vertoon NIE skrikkeljaar in afvoerkomponent  Alternatiewe oplossing wat ‘Boolean flag’ gebruik: 12 Kry die jaar van redigeerblokkie  verander na integer  As (if) jaar mod 400 = 0  Stel Boolse veranderlike na true  else  As (if) jaar mod 100 = 0  Stel Boolse veranderlike na false  else  As (if) jaar mod 4 = 0  Stel Boolse veranderlike na true  As (if) Boolse veranderlike true is Vertoon skrikkeljaar in afvoerkomponent else  Vertoon NIE skrikkeljaar in afvoerkomponent  1.4 Knoppie [1.4 Gelukkige letters] Inisialiseer string  Inisialiseer char  Gebruik ʼn lus  6 Gebruik enige korrekte metode om 2 karakters oor te slaan  Voeg die derde karakter by die string  Vertoon die reël in die richedit buite die lus  TOTAAL VRAAG 1 40 Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com 4 INLIGTINGSTEGNOLOGIE V1 (EC/SEPTEMBER 2020) MAKS. PUNTE VRAAG 2: OBJEK-GEORIËNTEERDE PROGRAMMERING PUNTE BEHAAL 2.1.1 Konstruktor Create: Korrekte naam  met twee string parameters  5 Ken korrekte parameterwaardes toe aan fnaam en fleier  Maak fbome en fassistente 0  2.1.2 Funksie BerekenKoste : real Korrekte metode – funksie  Real datatype  6 Bereken: fbome x 2  + 250  + fassistente x 100  ‘Return’ result  2.1.3 Prosedure TelBy; Korrekte metode – prosedure  Twee integer parameters  7 Voeg waardes by  fbome  en fassistente  Roep BerekenKoste  om ffondse attribuut ʼn waarde te gee  2.1.4 Funksie tostring: string; Korrekte metode – funksie  String datatipe  Skep ʼn string  Korrekte attribute  8 Verander fassistente en fbome na string  Verander ffondse na geldeenheid en twee desimale plekke  Korrekte gebruik van #13  ‘Return’ die string  2.1 Subtotaal: Objekklas 26 2.2.1 Knoppie [V2.2.1] Instansieer die objek Objeknaam =  tcountry.create  Met twee string parameters  6 In korrekte volgorde  Laai die prentjie in component  Maak die paneel pnlQ2 sigbaar  2.2.2 Kry waardes van twee spinedits  Gebruik albei waardes as parameters en die objek om die prosedure TelBy te roep  8 Vertoon in die label gebruik die objeknaam  en tostring funksie  2.2 Subtotaal: Vormklas 14 TOTAAL VRAAG 2 40 Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com (EC/SEPTEMBER 2020) INLIGTINGSTEGNOLOGIE V1 5 MAKS. PUNTE VRAAG 3: DATABASISPROGRAMMERING PUNTE BEHAAL 3.1.1 Knoppie: [3.1.1] SQL: select TipeMateriaal from Materiaal order by TipeMateriaal DESC Konsepte: 4 SELECT korrekte veld  FROM korrekte tabel  ORDER BY korrekte veld  DESC  3.1.2 Knoppie: [3.1.2] SQL: Select TipeMateriaal from Materiaal where TipeMateriaal like ' + quotedstr('%' + SLINE + '%') Konsepte: SELECT korrekte veld  5 FROM korrekte tabel  WHERE materialtype LIKE  Quoted string (sline)  ‘Wildcards’ (%) in korrekte plekke  3.1.3 Knoppie: [3.1.3] SQL: Select DatumVerwerk, TipeMateriaal from Materiaal where Month(DatumVerwerk) = 10 Konsepte: 5 SELECT twee korrekte velde  FROM korrekte tabel  WHERE MONTH  (datumverwerk)  Gelyk is aan 10  3.1.4 Knoppie: [3.1.4] SQL: update Verwerk set Werknemers = Werknemers + Werknemers*10/100 Konsepte: UPDATE Verwerk  4 Set Werknemers =  Werknemers +  Werknemers x 10%  (aanvaar: werknemers x 1.1 of werknemers x 110/100) 3.1.5 Knoppie: [3.1.5] SQL: Select sum(Hoeveelheid) As Totale_Hoeveelhede, VerwerkMetode from Materiaal, Verwerk where Materiaal.VerwerkKode = Verwerk.VerwerkKode group by VerwerkMetode Konsepte: Select sum  (Hoeveelheid)  7 AS Totale_Hoeveelhede  Verwerkmetode  FROM Materiaal, Verwerk  Where om twee tabelle te verbind  Group by Verwerkmetode  3.1 Subtotaal: SQL 25 Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com 6 INLIGTINGSTEGNOLOGIE V1 (EC/SEPTEMBER 2020) 3.2.1 Knoppie: [3.2.1] Gaan na eerste rekord van tblmateriaal  ‘Loop while not end of table’  If VerwerkKode = 6  7 dan tblmateriaal.edit  Stel KweekhuisFaktor = 2  tblmateriaal.post  Gaan na volgende rekord voor einde van lus  3.2.2 Knoppie: [3.2.2] Eerste rekord van tblmateriaal  ‘Loop while not end of table’  ‘running’ Totaal van kweekhuisFaktor  x hoeveelheid  8 Gaan na volgende rekord voor einde van lus  Vertoon totaal aan die einde van die teks in die redigeerknoppie  Omgeskakel na ʼn ‘real’ getal  3.2 Subtotaal: Kode-konstruktor 15 TOTAAL VRAAG 3 40 Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com (EC/SEPTEMBER 2020) INLIGTINGSTEGNOLOGIE V1 7 MAKS. PUNTE VRAAG 4: PROBLEEMOPLOSSING PUNTE BEHAAL 4.1 Kombinasieblokkie-opsie [Totale gewig van AL die afval] Gebruik case of geneste IF vir al die opsies  4 Lus wat icount gebruik  Tel totale by gewigte in skikking  Vertoon in paneel as ʼn string buite die lus  4.2 Kombinasieblokkie-opsie [Totale gewig van HERWONNE afval] Inisialiseer totaal veranderlike  5 Lus  wat icount gebruik If arrdata ‘Herwonne’ bevat  Dan voeg totaal by gewig in skikking  Vertoon in paneel  as ʼn string buite die lus 4.3 Kombinasieblokkie-opsie [Persentasie van HERWONNE afval] 3 Herwonne/totaal x 100  afgerond  Vertoon in paneel as ʼn string  4.4 Kombinasieblokkie-opsie [TOTALE gewig van ELKE afvalproduk] Inisialiseer lokale skikking vir totale met 15 indekse wat na nul gestel is  Lus van 1 tot 15 (vir arrtipes)  Lus van 1 na icount (vir arrdata)  If  arrdata (korrekte lusindeks)  Bevat arrtipes inhoud (korrekte lusindeks)  Tel gewig  van arrgewig (korrekte lusindeks)  18 by skikking vir totale (korrekte lusindeks)  assignfile vir verslag.txt  rewrite stelling lus van 1 na 15  skryf na tekslêer  ʼn string wat uit arrtipes skikking  en nuwe totaal skikking bestaan  omgeskakel na string  closefile stelling TOTAAL VRAAG 4 30 Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com 8 INLIGTINGSTEGNOLOGIE V1 (EC/SEPTEMBER 2020) VOORGESTELDE OPLOSSINGS VRAAG 1 var frmQuestion1: TfrmQuestion1; rcountpaper, rcountplastic, rcountglass : real; implementation procedure TfrmQuestion1.btnQ1_1Click(Sender: TObject); begin pnlclub.Caption := edtclub.Text + ' - ' + datetostr(date); pnlclub.Font.Size := 24; pnlclub.font.Style := [fsbold]; end; procedure TfrmQuestion1.btnQ1_2Click(Sender: TObject); var icode, inum : integer; rweight : real; begin rweight := strtofloat(edtweight.Text)/1000; rweight := trunc(rweight); case rgpchoice.itemindex of 0 : rcountpaper := rcountpaper + rweight; 1 : rcountplastic := rcountplastic + rweight; 2 : rcountglass := rcountglass + rweight; end; pnlpaper.Caption := floattostrf(rcountpaper * 25,ffcurrency,10,2); pnlplastic.Caption := floattostrf(rcountplastic * 35,ffcurrency,10,2); pnlglass.Caption := floattostrf(rcountglass * 40,ffcurrency,10,2); end; procedure TfrmQuestion1.btnQ1_3Click(Sender: TObject); var iyear : integer; begin iyear := strtoint(edtyear.Text); if (iyear mod 400 = 0) then showmessage(inttostr(iyear) + ' is a leap year') else if iyear mod 100 = 0 then showmessage(inttostr(iyear) + ' is NOT a leap year') else if (iyear mod 4 = 0) then showmessage(inttostr(iyear) + ' is a leap year') else showmessage(inttostr(iyear) + ' is NOT a leap year'); end; Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com (EC/SEPTEMBER 2020) INLIGTINGSTEGNOLOGIE V1 9 procedure TfrmQuestion1.btnQ1_4Click(Sender: TObject); var sline : string; cold : char; k : integer; begin sline := 'A'; cold := 'A'; for k := 1 to 8 do begin cold := succ(cold); cold := succ(cold); cold := succ(cold); sline := sline + cold; end; reddisplay.Lines.Add(sline); end; end. VRAAG 2 Class Unit: unit Question2ClassDefinition; interface /// provided code do not delete/// uses sysutils, dialogs, math; type Tcountry = class private fcountry : string; fleader : string; ftrees : integer; ffunds : real; fassistants : integer; public constructor create(sname, sleader : string); function calculatefunds : real; procedure addnumbers(itrees, iassist : integer); function tostring : string; end; implementation constructor Tcountry.create(sname, sleader: string); begin fcountry := sname; fleader := sleader; ftrees := 0; fassistants := 0; end; Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com 10 INLIGTINGSTEGNOLOGIE V1 (EC/SEPTEMBER 2020) function Tcountry.calculatefunds: real; begin result := ftrees * 2 + 250 + (fassistants * 100); end; procedure Tcountry.addnumbers(itrees, iassist: integer); begin ftrees := ftrees + itrees; fassistants := fassistants + iassist; ffunds := calculatefunds; end; function Tcountry.tostring: string; begin result := fcountry + #13 + fleader + ' and ' + inttostr(fassistants) + ' assistants' + #13 + inttostr(ftrees) + ' trees' + #13 + 'Funds: ' + floattostrf(ffunds,ffcurrency,10,2); end; end. Main Unit: var frmQuestion2: TfrmQuestion2; objcountry : tcountry; implementation {$R *.dfm} procedure TfrmQuestion2.btnQ2_2_1Click(Sender: TObject); begin objcountry := tcountry.create(edtcountry.Text, edtleader.Text); imgtrees.Picture.LoadFromFile('Trees.jpg'); pnlQ2.Enabled := true; end; procedure TfrmQuestion2.btnQ2_2_2Click(Sender: TObject); var itrees, ivol : integer; begin itrees := sedtrees.value; ivol := sedassistants.Value; objcountry.addnumbers(itrees, ivol); lbldisplay.Caption := objcountry.tostring; end; Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com (EC/SEPTEMBER 2020) INLIGTINGSTEGNOLOGIE V1 11 VRAAG 3 //===================================================================== // Question 3.1.1 //===================================================================== procedure TQuestion_3.btnQuestion3_1_1Click(Sender: TObject); var sSQL1: String; begin sSQL1 := 'select MaterialType from Material order by MaterialType DESC'; // Provided code - do not change dbCONN.runSQL(sSQL1); end; //===================================================================== // Question 3.1.2 //===================================================================== procedure TQuestion_3.btnQuestion3_1_2Click(Sender: TObject); // Provided code - do not change/ var sline : string; sSQL2: String; begin // Provided code - do not change////////////////////// sline := inputbox('Enter a Material','','wood'); sSQL2 := 'Select MaterialType from Material where MaterialType like ' + quotedstr('%' + SLINE + '%'); // Provided code - do not change dbCONN.runSQL(sSQL2); end; //===================================================================== // Question 3.1.3 //===================================================================== procedure TQuestion_3.btnQuestion3_1_3Click(Sender: TObject); // Provided code - do not change var sSQL3: String; begin sSQL3 := 'Select Datedisposed, MaterialType from Material where Month(DateDisposed) = 10'; // Provided code - do not change dbCONN.runSQL(sSQL3); end; Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com 12 INLIGTINGSTEGNOLOGIE V1 (EC/SEPTEMBER 2020) //===================================================================== // Question 3.1.4 //===================================================================== procedure TQuestion_3.btnQuestion3_1_4Click(Sender: TObject); // Provided code - do not change var sSQL4: String; begin sSQL4 := 'update Disposal set Employees = Employees + Employees*10/100'; // Provided code - do not change dbCONN.executeSQL(sSQL4,dbgdisposal,dbgmaterials,dbggarbage); end; //===================================================================== // Question 3.1.5 //===================================================================== procedure TQuestion_3.btnQuestion3_1_5Click(Sender: TObject); // Provided code - do not change var sSQL5: String; begin sSQL5 := 'Select sum(Quantity) As Total_Quantities, DisposalMethod from Material, Disposal where Material.Disposalcode = Disposal.Disposalcode group by DisposalMethod' ; // Provided code - do not change dbCONN.runSQL(sSQL5); end; //===================================================================== // Question 3.2.1 //===================================================================== procedure TQuestion_3.btnQuestion3_2_1Click(Sender: TObject); begin /// enter your code below// tblmaterial.First; while not tblmaterial.eof do begin if tblmaterial['Disposalcode'] = 6 then begin tblmaterial.edit; tblmaterial['Greenhousefactor'] := 2; tblmaterial.Post; end; tblmaterial.Next; end; end; Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com (EC/SEPTEMBER 2020) INLIGTINGSTEGNOLOGIE V1 13 //===================================================================== // Question 3.2.2 //===================================================================== procedure TQuestion_3.btnQuestion3_2_2Click(Sender: TObject); var rtotal : real; begin /// enter your code below// tblmaterial.First; while not tblmaterial.eof do begin rtotal := rtotal + tblmaterial['Greenhousefactor'] * tblmaterial['Quantity']; tblmaterial.Next; end; edtdisplay.text := edtdisplay.text + floattostr(rtotal); end; Kopiereg voorbehou Blaai om asseblief
Downloaded from hlayiso.com 14 INLIGTINGSTEGNOLOGIE V1 (EC/SEPTEMBER 2020) VRAAG 4 Const arrtypes : array[1..15] of string = ('Paper','Cardboard','Trash','Timber','Pallets','Rubber','Tyres','Metal','Food','Grass','Trees','Soil ','Rubble','Clay','Computers'); var frmQuestion4: TfrmQuestion4; //provided code do not delete/////// arrdata : array[1..100] of string; arrweights : array[1..100] of integer; icount : integer; implementation {$R *.dfm} procedure TfrmQuestion4.cmbreportChange(Sender: TObject); var k, x, itotal, irecycled, ipos, ino : integer; sline,sline1, sline2 : string; tfile : textfile; arrtotalweights: array[1..100] of integer; inodup : integer; icheck : integer; bdup : boolean; begin //Enter code below: itotal := 0; irecycled := 0; for k := 1 to icount do begin itotal := itotal + arrweights[k]; if pos('RECYCLED' , uppercase(arrdata[k])) <> 0 then irecycled := irecycled + arrweights[k]; end; case cmbreport.itemindex of 0 : pnloutput.caption := inttostr(itotal); 1 : pnloutput.caption := inttostr(irecycled); 2 : pnloutput.caption := inttostr(round(irecycled/itotal*100)); 3 : begin for k := 1 to 100 do arrtotalweights[k] := 0; for x := 1 to 15 do begin for k := 1 to icount do begin if pos(arrtypes[x],arrdata[k]) <> 0 then inc(arrtotalweights[x], arrweights[k]); end; end; assignfile(tfile, 'report.txt'); rewrite(tfile); for k := 1 to 15 do writeln(tfile, arrtypes[k] + ' = ' + inttostr(arrtotalweights[k])); closefile(tfile); end; end; // end of case end; Kopiereg voorbehou Blaai om asseblief

Study this subject

More from Grade 12 Information Technology

View all