You're offline
Skip to content
Memorandum

IT P1 MEMO GR11 NOV 2022 AFR

Subject: Information TechnologyGrade 11202212 pages
Download

Loading document…

Loading document…

Document textSearch extracted text and jump to a page.
NASIONALE SENIOR SERTIFIKAAT GRAAD 11 NOVEMBER 2022 INLIGTINGSTEGNOLOGIE V1 NASIENRIGLYN (EKSEMPLAAR) PUNTE: 150 Hierdie nasienriglyn bestaan uit 12 bladsye.
2 INLIGTINGSTEGNOLOGIE V1 (EC/NOVEMBER 2022) 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 PUNTE BEHAAL 1.1 Menu opsie Nuwe Registrasie 1 pnlRegister.visible := true  1.2 Knoppie [btnV1_2] Registreer Kry datum  Onttrek die jaar  en tel een by  Kombineer die vervaldatum  Kry die toegang string van cmbToegang  Kry toevoer van die vier spinedits as ‘integers’  Bereken die totaal deur die korrekte vier rand waardes te 14 gebruik  As cmbToegang.itemindex = 1 (toegang is Streeks)  Dan moet 40% van die total afgetrek word  Gebruik die showmessage komponent  Met die korrekte woorde en #13  Gebruik toegang en vervaldatum  1.3 Menu opsie Teken In Maak pnlTekenIn sigbaar  Maak twee redigeerblokkies skoon  Stel focus na edtNaam  5 pnlTekenIn.font.color = clgreen  pnlTekenIn.color = clcream  Kopiereg voorbehou Blaai om asseblief
(EC/NOVEMBER 2022) INLIGTINGSTEGNOLOGIE V1 3 1.4 Knoppie [btnV1_4] Teken In Stel ʼn konstante alfabetstring  Kry die naam  Kry die wagwoord en skakel om na hoofletters (of skakel om na kleinletters)  Inisialiseer ʼn nuwe string  Lus van 1 na die lengte van die wagwoord  Gebruik if staat of case  Vervang spasie met *  16 Vervang Z met A  Vervang A tot Y met die korrekte karakter van die alfabet  Voeg 3 by die posisie van die karakter  Voeg die nuwe karakter by die nuwe string  Voeg al die ander karakters  (nie A tot Z en spasie) by die nuwe string  Voeg die laaste drie karakters van die naam  aan die einde van die nuwe string  Vertoon in edtEnkrip  1.5 Menu opsie Teken Uit If - then stelling  Boodskapkomponent  4 Toevoer = false  Application.terminate  Vraag 1 Totaal 40 Kopiereg voorbehou Blaai om asseblief
4 INLIGTINGSTEGNOLOGIE V1 (EC/NOVEMBER 2022) MAKS PUNTE VRAAG 2 PUNTE BEHAAL 2.1 Knoppie [V2.1 Lees en Vertoon] Lees van tekslêer stel teller na 0  assignfile na tekslêer veranderlike  reset  Lus tot einde van tekslêer  readln stelling  vermeerder die teller  kry boom se naam  verwyder die string om die hoeveelheid as integer te kry  en stoor dit in arrHoeveelheid deur gebruik te maak van die teller as indeks  as boomnaam aanhalingstekens het  verwyder die eerste karakter van boomnaam  en verwyder laaste karakter van boomnaam  stoor boom naam in arrBome, gebruik die teller as indeks  Sorteer twee skikkings Buite lus van 1 na teller - 1  Binne lus van buite lus teller + 1 na teller  As arrHoeveelheid[buite] > arrHoeveelheid [binne] dan  32 Stel integer temp veranderlike = arrHoeveelheid [buite]  Stel arrHoeveelheid[buite] = arrHoeveelheid[binne]  stel arrHoeveelheid[binne] = integer temp veranderlike  doen dieselde algoritme vir arrBome en gebruik ʼn string temp veranderlike  Bereken totaal Inisialiseer ʼn totaal veranderlike  Lus van 1 na teller  stel totaal = totaal + arrHoeveelheid gebruik lus indeks  Vertoon skikkings Lus van 1 na teller  Gebruik richedit  Vertoon inhoud van skikkings gebruik lusteller as indeks arrBome, arrHoeveelheid verwerk na string  gebruik tab stop  Vertoon totaal Vertoon total in richedit met korrekte boodskap  totaal omgeskakel na string  Vertoon die teller omgeskakel na string  in edtBeskermd  2.2 Knoppie [V2.2 Bedreigde Lys] Assignfile met korrekte lêernaam  Herskryf stelling  Lus van 1 na teller  As arrHoeveelheid met lusindeks < 100  8 Dan kry die string van arrBome  Vertoon string in richedit  Skryf string na die tekslêer  Closefile stelling na lus  Vraag 2 Totaal 40 Kopiereg voorbehou Blaai om asseblief
(EC/NOVEMBER 2022) INLIGTINGSTEGNOLOGIE V1 5 MAKS PUNTE VRAAG 3 PUNTE BEHAAL 3.1 Knoppie [V3.1 Wes-Kaap] Gaan na eerste rekord  Lus tot einde van tabel  As Area = ‘Western Cape’  6 Vertoon WetenskaplikeNaam  in richedit  Gaan na volgende rekord voor die einde van die lus  3.2 Knoppie [V3.2 Ikoon en Beskerm] Gaan na eerste rekord  Lus tot einde van table  As Ikoon = true  en  Beskrywing = ‘Protected’  8 Vertoon AnderNaam  in richedit  Gaan na volgende rekord voor die einde van die lus  3.3 Knoppie [V3.3 Verwyder Indringerbome] Gaan na eerste rekord  Lus tot einde van table  As Beskrywing = 'invasive'  7 Delete  else  Gaan na volgende rekord voor die einde van die lus  3.4 Knoppie [V3.4 Rooi Gunstelinge] Gaan na eerste rekord  Lus tot einde van tabel  Kry AnderNaam en stoor in ʼn string veranderlike  As eerste 3 karakters  = ‘Red  9 Dan edit mode  Stel Gunsteling = true  post  Gaan na volgende rekord voor die einde van die lus  3.5 Knoppie [V3.5 Inheemse Gemiddeld] Stel teller en totaal na 0  Gaan na eerste rekord en lus tot einde van tabel  As Inheems= true  en Aantal <> Null  Tel 1 by teller  Tel Aantal veld by totaal veranderlike  10 Gaan na volgende rekord voor die einde van die lus  Bereken gemiddeld: totaal /teller  Vertoon in richedit  Korrekte beskrywing, afgerond en verwerk na string  Vraag 3 Totaal 40 Kopiereg voorbehou Blaai om asseblief
6 INLIGTINGSTEGNOLOGIE V1 (EC/NOVEMBER 2022) MAKS PUNTE VRAAG 4 PUNTE BEHAAL 4.1 Knoppie [Vraag 4.1] Gebruik randomrange(1000,10000) of random(10001) + 1000 om ʼn ewekansige getal te genereer  Vertoon korrekte boodskap en ewekansige getal verwerk na string  in memo box  Buite lus van 1 na ewekansige getal  12 Inisialisieer totaal veranderlike  Binne lus van 1 na buite lus teller  As binne lus teller ʼn faktor is  van buite lus teller  Tel binne lus teller by totaal  Trek buite lus teller van totaal  As totaal = buite lus teller  Vertoon die buite lus teller omgeskakel na string in memo box  4.2 Knoppie [Vraag 4.2] Gebruik Val om te toets of redigeerblokkie integer bevat  Indien nie vertoon ʼn showmessage  en exit  Kry die getal van redigeerblokkie as ʼn integer  Stel ʼn stringveranderlike na ʼn leë string  Lus totdat die getal = 0  Stel ʼn res veranderlike = res van getal nadat dit deur 16 gedeel is (gebruik MOD)  Gebruik If staat of Case  18 Stel string vir heksadesimale getal na korrekte letters  A tot F  vir elke getal in reeks 10 tot 15  Voeg letter aan begin van stringveranderlike  Else  as res < 10  Voeg res veranderlike omgeskakel as ʼn string by  aan die begin van die stringveranderlike  gebruik DIV om getal deur 16 te deel  Vertoon die stringveranderlike in edtHeksadesimaal  Vraag 4 Totaal 30 Kopiereg voorbehou Blaai om asseblief
(EC/NOVEMBER 2022) INLIGTINGSTEGNOLOGIE V1 7 MOONTLIKE OPLOSSING VRAAG 1 //Question 1.1 procedure TQuestion1.Ques1_1Click(Sender: TObject); begin //Add your code below: pnlregister.visible := true; end; //Question 1.2 procedure TQuestion1.Ques1_2Click(Sender: TObject); begin //Add your code below: pnllogin.enabled := true; edtname.Clear; edtpassword.Clear; edtname.SetFocus; pnllogin.font.color := clgreen; pnllogin.Color := clcream; end; //Question 1.3 procedure TQuestion1.Ques1_3Click(Sender: TObject); var sans : string; begin //Add your code below: //if messagedlg('Are you sure you want to log out?',mtwarning,[mbYes, mbNo],0) = mryes then //application.Terminate; //Alternative answer sans := inputbox('Are you sure you want to log out?', 'Y or N',''); if uppercase(sans) = 'Y' then application.Terminate; end; //Question 1.2 procedure TQuestion1.btnQ1_2Click(Sender: TObject); var sdate, sexpire : string; saccess : string; iadult, isen, istud, ischolar : integer; rtotal : real; begin //Add your code below: sdate := edtdate.Text; sexpire := inttostr(strtoint(copy(sdate,1,4))+1)+copy(sdate,5,6); saccess := cmbaccess.Items[cmbaccess.ItemIndex]; iadult := sedadult.Value; isen := sedsenior.Value; Kopiereg voorbehou Blaai om asseblief
8 INLIGTINGSTEGNOLOGIE V1 (EC/NOVEMBER 2022) istud := sedstudent.Value; ischolar := sedscholar.Value; rtotal := (iadult * 500) + (isen*400) + (istud *300) + (ischolar *80); if cmbaccess.itemindex = 1 then rtotal := rtotal - rtotal *40/100 ; showmessage('You owe ' + floattostrf(rtotal,ffcurrency,8,2) + ' for ' + saccess + ' access.' + #13 + ' Expiry date = ' + sexpire); Ques1_3.Click; end; //Question 1.4 procedure TQuestion1.btnQ1_4Click(Sender: TObject); var sname, spass, snew , sword: string; k, ipos : integer; const salpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; begin //Add your code below: sname := edtname.Text; spass := uppercase(edtpassword.Text); snew := ''; for k := 1 to length(spass) do begin case spass[k] of ' ' : snew := snew + '*'; 'Z' : snew := snew + 'A'; 'A'..'Y' : begin ipos := pos(spass[k], salpha); ipos := ipos + 3; snew := snew + salpha[ipos] end else snew := snew + spass[k]; end; end; edtencrypt.Text := snew+ copy(sname,length(sname) - 2,3); end; VRAAG 2 ///Question 2.1 32 marks procedure TfrmQuestion2.btnQ2_1Click(Sender: TObject); var myfile : textfile; sline, stree,sqty, stemp : string; iqty, itotal,k,l, itemp : integer; begin redout.Clear; if not fileexists('Trees.txt') then Kopiereg voorbehou Blaai om asseblief
(EC/NOVEMBER 2022) INLIGTINGSTEGNOLOGIE V1 9 begin showmessage('file not found'); exit; end; assignfile(myfile,'Trees.txt'); reset(myfile); icountarr := 0; while not eof(myfile) do begin readln(myfile,sline); stree := copy(sline,1, pos('#',sline)- 1); delete(sline,1, pos('#',sline)); sqty := sline; inc(icountarr); arrqty[icountarr] := strtoint(sqty); if stree[1] = '"' then begin delete(stree,1,1); delete(stree,length(stree),1); end; arrtrees[icountarr]:= stree; end; for k := 1 to icountarr - 1 do for l := k + 1 to icountarr do begin if arrqty[k] > arrqty[l] then begin itemp := arrqty[k]; arrqty[k] := arrqty[l]; arrqty[l] := itemp; stemp := arrtrees[k]; arrtrees[k] := arrtrees[l]; arrtrees[l] := stemp; end; end; itotal := 0; for k := 1 to icountarr do itotal := itotal + arrqty[k]; for k := 1 to icountarr do redout.Lines.Add(arrtrees[k] + #9 + inttostr(arrqty[k])); redout.Lines.Add(''); redout.Lines.Add('Total number of protected trees: ' + inttostr(itotal)); edtprotected.Text := inttostr(icountarr); end; ///Question 2.1 8 marks procedure TfrmQuestion2.btnQ2_2Click(Sender: TObject); var k : integer; sline : string; tfile : textfile; begin Kopiereg voorbehou Blaai om asseblief
10 INLIGTINGSTEGNOLOGIE V1 (EC/NOVEMBER 2022) redout.Clear; assignfile(tfile,'Endangered.txt'); rewrite(tfile); for k := 1 to icountarr do begin if arrqty[k] < 100 then begin sline := arrtrees[k]; writeln(tfile,sline); redout.Lines.Add(sline); end; end; closefile(tfile); end; VRAAG 3 ////Question 3.1 6 Marks procedure TfrmQuestion3.btnQ3_1Click(Sender: TObject); begin reddisplay.Clear; tbltrees.First; while not tbltrees.eof do begin if tbltrees['Area'] = 'Western Cape' then reddisplay.lines.add(tbltrees['ScientificName']); tbltrees.Next; end; end; ////Question 3.2 8 Marks procedure TfrmQuestion3.btnQ3_2Click(Sender: TObject); begin reddisplay.Clear; tbltrees.First; while not tbltrees.eof do begin if (tbltrees['Iconic'] = true) and (tbltrees['Description'] = 'Protected') then reddisplay.lines.add(tbltrees['OtherName']); tbltrees.Next; end; end; ////Question 3.3 7 Marks procedure TfrmQuestion3.btnQ3_3Click(Sender: TObject); begin tbltrees.First; while not tbltrees.eof do begin if tbltrees['Description'] = 'invasive' then tbltrees.Delete else Kopiereg voorbehou Blaai om asseblief
(EC/NOVEMBER 2022) INLIGTINGSTEGNOLOGIE V1 11 tbltrees.Next; end; end; ////Question 3.4 9 Marks procedure TfrmQuestion3.btnQ3_4Click(Sender: TObject); var sn : string; begin tbltrees.First; while not tbltrees.eof do begin sn := tbltrees['OtherName']; if copy(sn,1,3) = 'Red' then begin tbltrees.edit; tbltrees['Favourite'] := true; tbltrees.Post; end; tbltrees.Next; end; end; ////Question 3.5 10 Marks procedure TfrmQuestion3.btnQ3_5Click(Sender: TObject); var itotal, inum : integer; rave : real; begin reddisplay.Clear; tbltrees.First; itotal := 0; inum := 0; while not tbltrees.eof do begin if (tbltrees['Indigenous'] = true) and (tbltrees['Counted'] <> null) then begin itotal := itotal + tbltrees['Counted']; inc(inum); end; tbltrees.Next; end; rave := itotal/inum; reddisplay.Lines.Add('Average Indigenous trees found:' + inttostr(round(rave))); end; VRAAG 4 /// Question 4.1 12 marks procedure TfrmQuestion4.btnQ4_1Click(Sender: TObject); var iperfect, isum, m, iran : integer; begin Kopiereg voorbehou Blaai om asseblief
12 INLIGTINGSTEGNOLOGIE V1 (EC/NOVEMBER 2022) //Enter your code here: iran := randomrange(1000,10000); memdisplay.Lines.Add('Perfect Numbers in the range from 1 to ' + inttostr(iran)); for iperfect := 1 to iran do begin isum := 0; for m := 1 to iperfect do begin if iperfect mod m = 0 then isum := isum + m; end; isum := isum - iperfect; if isum = iperfect then memdisplay.Lines.Add(inttostr(iperfect)) end; end; // Question 4.2 18 marks procedure TfrmQuestion4.btnQ4_2Click(Sender: TObject); var inum, icode, k, ihex : integer; shex : string; begin val(edtdecimal.Text,inum, icode); if icode <> 0 then begin showmessage('Please enter a valid integer'); exit; end; inum := strtoint(edtdecimal.Text); shex := ''; while inum <> 0 do begin ihex := inum mod 16; case ihex of 10 : shex := 'A' + shex; 11 : shex := 'B' + shex; 12 : shex := 'C' + shex; 13 : shex := 'D' + shex; 14 : shex := 'E' + shex; 15 : shex := 'F' + shex; else shex := inttostr(ihex) + shex; end; inum := inum div 16 end; edthexadecimal.Text := shex; end; Kopiereg voorbehou Blaai om asseblief

Verified matching documents

The question paper, memo or addendum that belongs with this document.

Published documents with matching subject and grade metadata.

Matched using subject, grade, language, document type and exam metadata.

More from Grade 11 Information Technology

Explore more published documents in this catalogue.

View all