# Information Technology Grade 11 P1 2020 Memo (Eng)

> Grade 11 Information Technology Paper 1 memorandum from the National Exemplar November Exam 2020 (English), 11 pages. Read online or download the free PDF.

- Page: https://www.hlayiso.com/library/grade-11-information-technology-2020-national-exemplar-november-exam-memorandum-paper-1-english/1c56f647-d05d-40de-96e6-fe7010df8e15
- Updated: 2026-09-28
- Subject: Information Technology
- Grade: Grade 11
- Language: English
- Document type: Memorandum
- Year: 2020
- Exam period: National Exemplar November Exam
- Paper: 1
- Curriculum: CAPS
- Pages: 11

Breadcrumbs: [Home](https://www.hlayiso.com/) › [Library](https://www.hlayiso.com/library) › [Grade 11](https://www.hlayiso.com/library/grade-11) › [Information Technology](https://www.hlayiso.com/library/grade-11/information-technology) › [Information Technology Grade 11 P1 2020 Memo (Eng)](https://www.hlayiso.com/library/grade-11-information-technology-2020-national-exemplar-november-exam-memorandum-paper-1-english/1c56f647-d05d-40de-96e6-fe7010df8e15)

## About this document

Information Technology · Grade 11 · National Exemplar November Exam · 2020 · English. Memorandum, 11 pages. Read online or download the PDF.

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

## Matching paper and memo

- [IT P1 QP GR11 NOV2020 English D](https://www.hlayiso.com/library/grade-11-information-technology-2020-national-exemplar-november-exam-question-paper-paper-1-english/dc265938-825b-48dc-ba14-f71339195b39) — QP · 2020 · Eng

## Document text

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

### Page 1

NATIONAL
                  SENIOR CERTIFICATE

                       GRADE 11

                   NOVEMBER 2020

           INFORMATION TECHNOLOGY P1
               MARKING GUIDELINE

MARKS:   150

               This marking guideline consists of 11 pages.

### Page 2

2                               INFORMATION TECHNOLOGY P1              (EC/NOVEMBER 2020)

 NAME OF LEARNER:
      TOTAL             TOTAL                 TOTAL             TOTAL
                                                                                  TOTAL
    QUESTION 1        QUESTION 2            QUESTION 3        QUESTION 4

              /46                  /42                  /40          /22                 /150
                                                                        MAX          MARKS
                                QUESTION 1                             MARKS        ACHIEVED

 1.1    Button [Q1.1 Get patient code]

        Get full name from edtfullname 
        Get year from edtyob 
        Get province from cmbprovince 

        If itemindex of combobox = 0 
            add 1 to counter for EC 
        Else
           if itemindex = 1 
              add 1 to counter for WC 
           Else
              Showmessage  and exit 

            Alternative no 1:
            Case structure 
            Itemindex = 0  add 1 to counter for EC 
            Itemindex = 1  add 1 to counter for WC                       26
            Else 
            Showmessage  and exit 

        Compile code:
        Get first name initial 
        Get surname initial  using pos 
        1st character of first name 
        1st character of surname 
        Characters 3 and 4 from year 
        First 4 characters  from province 
        Random number  in correct range 
        (randomrange(1000,60001) using inttostr 

        Showmessage component to display code 
        pnlEC caption = counter for EC 
        pnlWC caption = counter for WC 
        using inttostr for both 

Copyright reserved                                                         Please turn over

### Page 3

(EC/NOVEMBER 2020)                INFORMATION TECHNOLOGY P1                                     3

 1.2    Button [Q1.2 Encryption]

        get input from edtinput  and set to uppercase 

        initialise new string to a star 
        use a loop  from 1 to length of the input string 
                                                                                 13
          get the correct encrypted number (using any method)  
          add the character number to the new string and add a star 

        display compiled  string in label lbldisplay 

 1.3    The rgpbackground onclick event:

        If radiogroup box itemindex = 0 
        then set imgbackground visible property  = false 
                                                                                  7
        If radiogroup box itemindex = 1 
        then set imgbackground picture to ‘SAFlag.jpg’ 
          and  set imgbackground visible property = true 

                                                          Question 1 Total       46

Copyright reserved                                                           Please turn over

### Page 4

4                                   INFORMATION TECHNOLOGY P1                                (EC/NOVEMBER 2020)

                                                                                               MAX         MARKS
                                     QUESTION 2
                                                                                              MARKS       ACHIEVED
    2.1   Button [Q2.1 Display]
          Sorting two arrays
          outer loop from 1 to 9 
           Inner loop from outer loop counter + 1 to 10 
             If arrqty[outer] < arrqty [inner] then 
                       set temp = arrqty [outer] 
                       set arrqty [outer] = arrqty [inner] 
                       set arrqty [inner] = temp 
                       do the same swap algorithm for arrdays 
                       using string temp variable 

          Display arrays
          loop from 1 to 10                                                                     21
             use richedit 
             display contents of arrdays,  arrqty 
             using tab stop  using inttostr for arrqty 

          Calculate and display average
          initialise total variable 
          loop from 1 to 10 
             set total variable = total  + arrqty using loop index 

          calculate average = total/10 
          display average in richedit with a message rounded to a
          whole number 
    2.2   Button [Q2.3 Multiples]

          If file does not exist then 
                 Show message  exit 
          Assignfile and reset text file      Alternative solution
          Set counter = 0                       for loop from 1 to 5 
          Loop to end of text file             Read line  into an array 
                                                using for loop counter 
              Add 1 to counter (initialised) 
              Read line Add to an array using counter 
          (subtract 1 mark if the same text file variable is used to write to text file in
          next operation and the text file was not closed after reading)                         21
          Loop from 1 to counter (or 5) 
              append number  from constant array using loop index
              to end of array using loop index 
              and store into same array 
          Assignfile with correct file name and Rewrite statement 
          Loop from 1 to counter or 5 
             Write content of array using loop index  to text file 
          Closefile statement after loop 
          Display a message that the file was written 

                                                                     Question 2 Total            42

Copyright reserved                                                                            Please turn over

### Page 5

(EC/NOVEMBER 2020)                   INFORMATION TECHNOLOGY P1                                      5

                                                                            MAX        MARKS
                             QUESTION 3
                                                                           MARKS      ACHIEVED
  3.1     BUTTON: [Q3.1 Display Pages]
          Go to first record 
          Loop to end of the table 
            If Pages  > 100                                                7
              Then display Title  in richedit 
           Go to next record before end of loop 

  3.2     BUTTON: [Q3.2 Change to English]
          Go to first record 
          Loop to end of the table 
            If Language = ‘eng’ 
                Then Edit                                                   7
                     Set Language = ‘English’ 
                     Post 
            Go to next record before end of loop 

  3.3     BUTTON: [Q3.3 Delete PMC articles]
          Go to first record 
          Loop to end of the table 
            if Source = 'PMC' then 
                                                                             6
                 Delete 
                else 
           Go to next record before end of loop 

  3.4     BUTTON: [Q3.4 Percentage of Chinese articles]
          Set counter to 0  and total to 0 
          Go to first record 
          Loop to end of the table 
             If Language = ‘Chinese’  Then Add 1 to counter 
           Add 1 to total variable 
                                                                            13
           Go to next record before end of loop 
          Display in richedit 
            Total of all articles converted to string 
             Percentage calculated correctly  and converted to
             string with no decimal places 

  3.5     BUTTON: [Q3.5 Insert Article]

          tblresearch.Insert; 
          tblresearch['Title'] := ‘Vaccine trials’; 
          tblresearch['Author'] := ‘Watson M’; 
                                                                             7
          tblresearch['Publisher'] := ‘Cureus’; 
          tblresearch['Pages'] := 43;
          tblresearch['Language'] := ‘English’; 
          tblresearch.Post; 

                                                        Question 3 Total    40

Copyright reserved                                                               Please turn over

### Page 6

6                             INFORMATION TECHNOLOGY P1                 (EC/NOVEMBER 2020)

                                                                       MAX      MARKS
                            QUESTION 4
                                                                      MARKS    ACHIEVED

    Button [Q4 Request for test]

    Get full name and age  from input components
    Get system date 

    If age >= 60 then
          string = ‘your test date is on’ 
          joined to system date converted to string 
    Else 
       string = ‘your test date is on’                                22
        joined to system date  + 1 day 
         converted to string 

    if chksymptoms.Checked  and 
               (chktravel.Checked or chkcontact.Checked )
     then
         lbldisplay.Caption  = name + #13  + compiled string 
     else
     lbldisplay.Caption = 'Phone your doctor if you are worried'; 

                                                   Question 4 Total    22

Copyright reserved                                                       Please turn over

### Page 7

(EC/NOVEMBER 2020)               INFORMATION TECHNOLOGY P1                         7

SAMPLE SOLUTIONS

QUESTION 1
procedure TQuestion1.btnQ1_1Click(Sender: TObject);
var
 sfull, sfirst, ssur, scode : string;
 sdate, sprov : string;
begin
// enter your code here
 case cmbprovince.itemindex of
  0 : inc(inumec);
  1 : inc(inumwc)
  else
  begin
  showmessage('Please choose a province');
  exit;
  end;
 end;
 sfull := edtfullname.Text;
 sfirst := sfull[1];
 delete(sfull,1,pos(' ',sfull));
 ssur := sfull[1];
 sdate := edtyob.text;
 sprov := cmbprovince.Text;
 scode := sfirst + ssur + copy(sdate,3,2) + copy(sprov,1,4) +
inttostr(randomrange(1000,60001));

showmessage('Your patient code is ' + scode);
pnlec.Caption := inttostr(inumec);
pnlwc.Caption := inttostr(inumwc);
end;

procedure TQuestion1.btnQ1_2Click(Sender: TObject);
var k, ipos : integer;
snew, SSENT : string;
const
salpha = ' ABCDEFGHIJKLMNOPQRSTUVWXYZ';
begin
// enter your code here
 ssent := uppercase(edtinput.Text);
 snew := '*';
 for k := 1 to length(ssent) do
    begin
     ipos := pos(ssent[k],salpha);
     snew := snew + inttostr(ipos) + '*';
    end;
 lbldisplay.Caption := snew;
end;

Copyright reserved                                              Please turn over

### Page 8

8                                INFORMATION TECHNOLOGY P1                    (EC/NOVEMBER 2020)

procedure TQuestion1.rgbpictureClick(Sender: TObject);
begin
// enter your code here
case rgbpicture.itemindex of
 0 : imgdisplay.Visible := false;
 1 : begin
     imgdisplay.Visible := true;
     imgdisplay.Picture.LoadFromFile('SAFlag.jpg');
    end;

 end;
end;

QUESTION 2
procedure TfrmQuestion2.btnQ2_1Click(Sender: TObject);
var k, l, itemp, inum, icount, itotal : integer;
stemp, snum : string;
rpercent : real;
bfound : boolean;
begin
// provided code do not delete////////
redout.Paragraph.TabCount := 1;
redout.Paragraph.tab[0] := 40;
redout.Lines.Add('Date' + #9 + 'Cases');
for k := 1 to 9 do
    for l := k + 1 to 10 do
      begin
        if arrqty[k] < arrqty[l] then
           begin
            itemp := arrqty[k];
            arrqty[k] := arrqty[l];
            arrqty[l] := itemp;

             stemp := arrdays[k];
            arrdays[k] := arrdays[l];
            arrdays[l] := stemp;
          end;
      end;
itotal := 0;
for k := 1 to 10 do
 itotal := itotal + arrqty[k];

for k := 1 to 10 do
 redout.Lines.Add(arrdays[k] + #9 + inttostr(arrqty[k]));

redout.Lines.Add('');
redout.Lines.Add('Average number of infections = ' + floattostrf(itotal/10,fffixed,8,0));

end;

Copyright reserved                                                             Please turn over

### Page 9

(EC/NOVEMBER 2020)                    INFORMATION TECHNOLOGY P1                      9

procedure TfrmQuestion2.btnQ2_2Click(Sender: TObject);
// provided code do not delete///////
const
arradd : array [1..5] of integer = (8,6,4,2,0);
///////////////////////////////////////////////
var myfile, tfile : textfile;
sline : string;
k : integer;
arrnumbers : array[1..6] of string;
icount : integer;
begin
if not fileexists('numbers.txt') then
begin
  showmessage('file not found');
  exit;
end;
assignfile(myfile,'numbers.txt');
reset(myfile);
icount := 0;
while not eof(myfile) do
   begin
   inc(icount);
   readln(myfile,sline);
   arrnumbers[icount]:= sline;
  end;
//closefile(myfile);

for k := 1 to icount do
   begin
    arrnumbers[k] := arrnumbers[k]
              + inttostr(arradd[k]);
    end;

assignfile(tfile,'Multiples of 18.txt');
rewrite(tfile);
for k := 1 to 5 do
  writeln(tfile, arrnumbers[k]);

closefile(tfile);
end;

Copyright reserved                                                Please turn over

### Page 10

10                             INFORMATION TECHNOLOGY P1   (EC/NOVEMBER 2020)

QUESTION 3

procedure TfrmQuestion3.btnQ3_1Click(Sender: TObject);
begin
reddisplay.Clear;
tblresearch.First;
while not tblresearch.eof do
   begin
     if tblresearch['Pages'] > 100 then
          reddisplay.Lines.Add(tblresearch['Title']);
     tblresearch.Next;
   end;
end;

procedure TfrmQuestion3.btnQ3_2Click(Sender: TObject);
begin
tblresearch.First;
while not tblresearch.eof do
   begin
     if tblresearch['Language'] = 'eng' then
         begin
          tblresearch.Edit;
          tblresearch['Language'] := 'English';
          tblresearch.Post;
         end;
     tblresearch.Next;
   end;
end;

procedure TfrmQuestion3.btnQ3_3Click(Sender: TObject);
begin
tblresearch.First;
while not tblresearch.eof do
   begin
     if tblresearch['Source'] = 'PMC' then
        tblresearch.Delete
       else
     tblresearch.Next;
   end;
end;

procedure TfrmQuestion3.btnQ3_4Click(Sender: TObject);
var inum , itotal : integer;
begin
  inum := 0;
  itotal := 0;
reddisplay.Clear;
tblresearch.First;

while not tblresearch.eof do
  begin

Copyright reserved                                          Please turn over

### Page 11

(EC/NOVEMBER 2020)                 INFORMATION TECHNOLOGY P1                               11

    if tblresearch['Language'] = 'Chinese' then
         inc(inum);
    inc(itotal);
   tblresearch.next;
   end;
reddisplay.Lines.Add('Total number of articles = ' + inttostr(itotal));
reddisplay.Lines.Add('Percentage of Chinese articles = ' + floattostrf(inum/itotal
*100,fffixed,8,0) + ' percent');
end;

procedure TfrmQuestion3.btnQ3_5Click(Sender: TObject);
begin
 tblresearch.insert;
 tblresearch['Title'] := 'Vaccine trials';
 tblresearch['Author'] := 'Watson M';
 tblresearch['Publisher'] := 'Cureus';
 tblresearch['Pages'] := '43';
 tblresearch['Language'] := 'English';
 tblresearch.Post;
end;

QUESTION 4

procedure TfrmQuestion4.btnQ4Click(Sender: TObject);
var sname : string;
 iage : integer;
stestdate : string;
begin
// enter your code here//
sname := edtname.Text;
iage := sedage.Value;

if iage >= 60 then
 stestdate := 'Your test is on ' + datetostr(date)
else
 stestdate := 'Your test is on ' + datetostr(date + 1);

if cbxsymptoms.Checked and (cbxtravel.Checked or cbxcontact.Checked) then
 lbldisplay.Caption := sname + #13 + stestdate
else
 lbldisplay.Caption := 'Phone your doctor if you are worried';

Showmessage('File has been written');
end;

Copyright reserved                                                           Please turn over

## Related documents

- [IT P2 GR11 MEMO NOV2020 ENG D](https://www.hlayiso.com/library/grade-11-information-technology-2020-national-exemplar-november-exam-memorandum-paper-2-english/788cd297-3bbb-4665-91fb-fd5121d74c91) — Information Technology · Memo · 2020 · Eng
- [IT-P2-GR11 QP MEMO NOV2020 ENG D](https://www.hlayiso.com/library/grade-11-information-technology-2020-national-exemplar-november-exam-memorandum-paper-2-english/9830133e-4040-4a2c-b4ac-49258d12b3b2) — Information Technology · Memo · 2020 · Eng
- [IT-P2-GR11 QP-Eng-NOV-2020](https://www.hlayiso.com/library/grade-11-information-technology-2020-national-exemplar-november-exam-question-paper-paper-2-english/6c71c346-5df7-4154-a75a-1e72787fed78) — Information Technology · QP · 2020 · Eng
- [IT P1 QP GR11 NOV2020 English D](https://www.hlayiso.com/library/it-p1-qp-gr11-nov2020-english-d/7b2666c6-ba4e-471a-b82d-0e9cc054a7f3) — Information Technology · QP · 2020 · Eng
- [IT P1 QP GR11 NOV2020 English](https://www.hlayiso.com/library/it-p1-qp-gr11-nov2020-english/f76e86f9-8bcb-424c-afaf-00ec85aa21a0) — Information Technology · QP · 2020 · Eng
- [IT P2 GR11 MEMO 2020 Afr](https://www.hlayiso.com/library/grade-11-information-technology-2020-national-exemplar-november-exam-memorandum-paper-2/42eca0ae-ea7c-48c5-a65e-33a549c78978) — Information Technology · Memo · 2020 · Afr

## More from Grade 11 Information Technology

- [Gr 11 Info Tech ATP 2023-24](https://www.hlayiso.com/library/gr-11-info-tech-atp-2023-24/67fc595c-646e-4c38-9951-fe5fe3a113a7) — ATP
- [IT P1 QP GR11 NOV 2022 AFR](https://www.hlayiso.com/library/it-p1-qp-gr11-nov-2022-afr/e4251ebe-2f65-4c6f-992b-f7208b36300a) — QP · 2022 · Afr
- [IT P1 QP GR11 NOV 2022 English](https://www.hlayiso.com/library/it-p1-qp-gr11-nov-2022-english/3db564bd-1d04-48ab-aedd-fae2d9f9939f) — QP · 2022 · Eng
- [IT P2 GR11 QP NOV2022 English](https://www.hlayiso.com/library/it-p2-gr11-qp-nov2022-english/1c12dccc-2a5b-4b41-a80c-5bd8b30f6151) — QP · 2022 · Eng
- [IT P1 QP GR11 NOV 2022 English](https://www.hlayiso.com/library/grade-11-information-technology-2022-exemplar-november-exam-question-paper-paper-1-english/c2d16637-c6bc-43d6-b469-cb62712d9eb0) — QP · 2022 · Eng
- [IT P2 GR11 QP NOV2022 English](https://www.hlayiso.com/library/grade-11-information-technology-2022-exemplar-november-exam-question-paper-paper-2-english/b3f6c643-27fc-4fd5-baa3-b8c49c4b6f61) — QP · 2022 · Eng

## Collection

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