15
Kopiereg voorbehou Blaai om asseblief PROVINSIALE EKSAMENS INLIGTINGTEGNOLOGIE VRAESTEL 1 JUNIE 2015 GRAAD 11 TYD: 3 URE PUNTE: 150 Hierdie vraestel bestaan uit 10 bladsye

PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Embed Size (px)

Citation preview

Page 1: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Kopiereg voorbehou Blaai om asseblief

PROVINSIALE EKSAMENS

INLIGTINGTEGNOLOGIE

VRAESTEL 1

JUNIE 2015

GRAAD 11

TYD: 3 URE

PUNTE: 150

Hierdie vraestel bestaan uit 10 bladsye

Page 2: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 2

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

INSTRUKSIES EN INLIGTING

1. Hierdie vraestel is in DRIE afdelings verdeel. Kandidate moet AL DRIE afdelings beantwoord.

2.

Die duur van hierdie eksamen is drie uur. As gevolg van die aard van hierdie eksamen is dit belangrik om kennis te neem dat jy nie toegelaat sal word om die eksamenlokaal voor die einde van die eksamensessie te verlaat nie.

3.

Maak seker dat jy die vrae volgens die spesifikasies wat in elke vraag gegee word, beantwoord. Punte sal slegs volgens die voorgeskrewe spesifikasies toegeken word.

4.

Beantwoord in elke vraag slegs wat gevra is. Byvoorbeeld, indien die vraag nie datavalidering vereis nie, sal geen punte vir datavalidering toegeken word nie.

5.

Jou programme moet so gekodeer word dat dit met enige data sal werk en nie net met die voorbeelddata wat voorsien is of enige data-uittreksels wat in die vraestel verskyn nie.

6.

Roetines soos soek, sorteer en seleksie moet vanuit eerste beginsels ontwikkel word. Jy mag nie die ingeboude funksies van 'n programmeringstaal vir enige van hierdie roetines gebruik nie.

7.

Alle datastrukture moet deur jou as programmeerder verklaar word. Jy mag nie komponente wat in die koppelvlak voorsien is, gebruik om data te stoor en later weer op te roep nie.

8.

Jy moet jou werk gereeld stoor op die disket wat aan jou gegee is of die skyfspasie wat aan jou toegeken is vir hierdie eksamensessie.

9.

Maak seker dat jou naam en van as kommentaar in elke program verskyn wat jy kodeer, asook op elke gebeurtenis wat aangedui word.

10.

Indien dit vereis word, druk die programmeringskode van al die programme/klasse wat jy voltooi het. Jy sal 'n halfuur tyd vir drukwerk gegun word na die eksamensessie.

11.

Aan die einde van hierdie eksamensessie moet jy 'n disket/CD/DVD/geheuestokkie met al jou werk daarop gestoor, inlewer OF jy moet seker maak dat jou werk op die skyfspasie wat vir hierdie eksamensessie aan jou toegeken is, gestoor is. Maak seker dat alle lêers gelees kan word.

Page 3: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 3

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

Lys van lêersgidse met lêers kan in die Data- lêergidse verkry word:

Vraag_Question_2

Vraag_Question_3

SCENARIO:

„n Aantal vriende wil „n LAN-aand hou. Jy word versoek om hulp te verleen met die organisasie van die aand deur „n rekenaarprogram te skryf wat sekere logistieke take sal vergemaklik.

AFDELING A

VRAAG 1: ALGEMENE PROGRAMMERINGSVAARDIGHEDE

INSTRUKSIES:

Doen die volgende:

• Skep die onderstaande grafiese koppelvlak (GUI). (13) Die naamlabel moet soos volg geformatteer word: Font: Times New Roman Font style: Bold Italic Font size: 20 Colour: Purple

x Skep die projek Vraag1. x Voeg jou naam en van as kommentaar in die eerste reël van die hoofvormeenheid

(Vraag1_U) -lêer by.

Page 4: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 4

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

Elke speler moet aandui watter grootte pizza hy wil bestel en of hy „n koeldrank wil bestel of nie. Die bedrag wat elke speler moet betaal is die gemiddelde koste van al die eetgoed en die prys vir die nuwe speletjie wat hulle wil aankoop. Onthou om BTW van 14% op die totale bedrag in berekening te bring. Die prys van die speletjie moet via die OI in „n teksboks („text box‟) aangebring word. Die rekenaarprogram moet die gemiddelde koste bereken en vertoon.

x Voltooi die kode vir elke afdeling van VRAAG 1 soos in VRAAG 1.1 tot

VRAAG 1.3 hieronder beskryf word.

1.1 Knoppie (‘BUTTON’) – [Vertoon/ Show] (31)

Verkry die volgende data uit die relevante komponente:

o Naam o Vlak waarop hy/ sy deelneem ('combo box'). o Grootte pizza wat hy/ sy wil bestel ('radio group'). o Of hy „n koeldrank wil bestel of nie („checkbox').

Vertoon die speler se inligting, in kolomme, op „n “rich edit”. „n Voorbeeld van die afvoer verskyn op die volgende bladsy.

Page 5: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 5

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

Neem die volgende in ag:

o Die prys van pizzas is soos volg: „n L pizza kos R83.00 „n M pizza kos R 60.25 „n S pizza kos R45.50

o „n Koeldrank kos R15.99.

o Indien „n speler „n koeldrank bestel moet dit aangedui word met Ja/Yes

anders met Nee/No. Voorbeeld van afvoer:

1.2 Knoppie – [Bereken koste/ Calculate cost] (7)

Bereken die bedrag wat elke speler moet betaal en vertoon die geformateerde bedrag op die „rich edit‟.

1.3 Knoppie – [Reset] (4)

Maak die „edit‟, „radio group‟ en „checkbox‟ skoon. Plaas die merker in die naam „edit‟. • Stoor jou program. • 'n Drukstuk van die kode mag vereis word.

TOTAAL AFDELING A: 55

Page 6: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 6

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

AFDELING B

VRAAG 2:

Die organiseerder van die speletjiesaand benodig „n wagwoord vir elke speler. Skep „n rekenaarprogram wat „n wagwoord vir elke speler genereer.

INSTRUKSIES:

Doen die volgende:

• Kompileer en voer die program uit. Die program het tans geen funksionaliteit nie.

'n Voorbeeld van die koppelvlak verskyn hieronder: • Voltooi die kode vir hierdie program soos hieronder gespesifiseer word.

o Die gebruiker sleutel sy naam en van as een string in en sy geboorte datum in die formaat JJJJ/MM/DD

o Die wagwoord word saamgestel deur die van, naam, maand en die geboortedag

aaneen te skakel, nadat daar aan die volgende spesifikasies voldoen is:

� Skei die naam en van, u mag aanvaar dat die gebruiker slegs een naam insleutel, sonder enige spasies.

� Die van moet omgeskakel word na hoofletters, alle vokale moet verwyder word en spasies moet vervang word met „n #. Bv. van der Walt sal soos volg verander VN#DR#WLT.

x Die projek Vraag_Question 2 is in die Vraag_Question 2-lêergids voorsien. x Voeg jou naam en van as kommentaar in die eerste reël van die hoofvormeenheid

(“main form unit”) (Vraag_Question 2_U) -lêer by

Page 7: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 7

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

� Die naam moet in kleinletters vertoon en van agter na voor omgedraai word.

Bv. As die naam Johan is moet dit soos volg verander: nahoj.

o Die dag, maand en jaar moet volledig getoets word vir geldigheid.

� U mag aanvaar dat spelers se geboortejaar tussen 1994 en 2001 is.

� Indien die datum geldig is moet die eerste drie karakters van die maand gegee word. Bv. As die geboortedatum 1997/02/28 is, wys die maand aan as Feb.

� Indien die datum ongeldig is moet ERROR as die maand gegee word.

� Die geboortedag is die syfer verkry vanuit die geboortedatum.

Voorbeeld van „n wagwoord saamgestel uit geldige data, soos met die volgende toetsdata:

Naam en van: Johan van der Walt Geboortedatum: 1997/02/28 VN#DR#WLTnahojFeb28

Voorbeeld van „n wagwoord saamgestel uit ongeldige data, soos met die volgende toetsdata:

Naam en van: Johan van der Walt Geboortedatum: 1997/02/31 VN#DR#WLTnahojERROR

x Vertoon die oorspronklike naam en van, geboortedatum en wagwoord netjies in kolomme op

die “rich edit”. Voorsien die kolomme van opskrifte.

Voorbeeld van finale afvoer op die volgende bladsy:

Page 8: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 8

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

Voorbeeld van finale afvoer: • Maak seker dat jou naam en van as kommentaar in die eerste reël van die die vorm

verskyn. • Stoor al die lêers. • Druk die kode wat jy geskep het, indien drukstukke verlang word.

TOTAAL AFDELING B: 55

Page 9: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 9

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

AFDELING C

VRAAG 3

Na afloop van die speletjiesaand moet die wenners aangewys word. Die drie toppresteerders ontvang elk „n prys. Skryf kode wat die wenners bepaal en die pryse toeken.

'n Onvoltooide program om die uitslae te verwerk, asook „n tekslêer, is voorsien. Hieronder verskyn „n uittreksel van die inhoud van die tekslêer, Uitslae_Results.txt. Naam; punt1; punt2; punt3; punt4 Johan;34;54;65;1 Kevishin;54;67;12;98 Nellie;34;76;56;54 Sam;45;45;34;43 Divan;76;54;23;98 Monja;44;55;66;77

INSTRUKSIES:

Doen die volgende: 3.1 Knoppie (‘BUTTON’) – [Kry Data _Get Data] (30)

� Verkry die data vanuit die tekslêer en plaas die name van die spelers in „n skikking, genaamd arrName.

� Bepaal die gemiddelde punt wat elke speler vir die vier wedstryde behaal

het en plaas die gemiddeld in skikking arrAvg.

� Vertoon die name en gemiddeldes. 3.2 Knoppie – [Verwerk data_ Process data] (10)

� Sorteer die skikkings van groot na klein volgens die gemiddelde punt (decending order”)

� Ken die pryse toe aan die drie toppresteerders. (Sien gegewe skikking as deel van kode vir pryse)

� Vertoon die name en pryse van die wenners.

x Die projek Vraag_Question 3 is in die Vraag_Question 3-lêergids voorsien. x Voeg jou naam en van as kommentaar in die eerste reël van die hoofvormeenheid

(Vraag_Question 3_U) -lêer by.

Page 10: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

Inligtingstegnologie/V1 10

MP/Junie 2015

Kopiereg voorbehou Blaai om asseblief

Voorbeeld van afvoer:

� Maak seker dat jou naam en van as kommentaar in die eerste reël van die die vorm verskyn.

� Stoor al die lêers. � Druk die kode wat jy geskep het, indien drukstukke verlang word.

TOTAAL AFDELING C: 40

Page 11: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

1

PROVINCIAL EXAMINATION

INFORMATION TECHNOLOGY

PAPER 1 MEMORANDUM

JUNE 2015

GRADE 11

This paper consists of 6 pages

Page 12: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

2

AFDELING A / SECTION A

GUI 13 private iCountPlayers : integer;D rCostPerPlayer, rTotCost, rPrizeGame : double; D

2

procedure TForm1.btnBerekenClick(Sender: TObject); begin rTotCost := rTotCost + rPrizeGame; D rTotCost := rTotCost + rTotCost*0.14; DD rCostPerPlayer := rTotCost/ iCountPlayers; DD redAfvoer.Lines.Add('Cost per player: ' + FloatToStrF(rCostPerPlayer,ffCurrency,8,2)); DD end;

7

procedure TForm1.btnVertoonClick(Sender: TObject); var sName, sLevel, sBeverage : string; iSize : integer; DDDD cSize : char; rPizzaPrice, rBeveragePrize : double; begin sName := edtNaam.Text; D inc(iCountPlayers); D rCostPerPlayer := 0; D sLevel := Vlak_Level.Items[Vlak_Level.ItemIndex]; DD iSize := rgpPizza.ItemIndex; D case iSize ofD 0 : rPizzaPrice := 45.5; D 1 : rPizzaPrice := 60.25; D 2 : rPizzaPrice := 83; D end; rBeveragePrize := 0; D sBeverage := 'Nee/No'; D if chbKoeldrank.Checked thenD begin rBeveragePrize := 15.99; D sBeverage := 'Ja/Yes'; D end; rTotCost := rTotCost + rPizzaPrice + rBeveragePrize; D redAfvoer.Lines.Add(sName + #9 + sLevel+ #9 + FloatToStrF(rPizzaPrice,ffCurrency,8,2) + #9 + sBeverage); DD end;

22

procedure TForm1.FormShow(Sender: TObject); begin iCountPlayers := 0; D rTotCost := 0; D rPrizeGame := StrToFloat(copy(edtPrys.Text,2)); DD redAfvoer.Paragraph.TabCount := 4; D redAfvoer.Paragraph.Tab[0] := 100; redAfvoer.Paragraph.Tab[1] := 200; DD redAfvoer.Paragraph.Tab[2] := 300; redAfvoer.Paragraph.Tab[3] := 400; end;

7

procedure TForm1.BitBtn1Click(Sender: TObject); begin edtNaam.Text := ''; D chbKoeldrank.Checked := false; D rgpPizza.ItemIndex := -1; D edtNaam.SetFocus; D end;

4

TOTAAL /TOTAL 55

1.1

1.2

1.3

Page 13: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

3

AFDELING B / SECTION B

procedure TForm1.btnKodeer_EncryptClick(Sender: TObject); var sName, sSurname, sDOB ,sNameSurname , sPassWord:string; D newSurname1,newSurname2, newSurname3, sMonth, sAbrMonth, sDay, sYear: string; D iSpace, len, i,iYear, iMonth , icode, icode2 ,iDay, iDays: Integer; D monthFlag, dayFlag, yearFlag: boolean; D

4

// Input data sNameSurname := edtNaamVan_NameSurname.Text; D sDOB := edtGeboorteDatum_DateOfBirth.Text; D

2

len := Length(sNameSurname); iSpace := Pos(' ',sNameSurname); D sName := Copy(sNameSurname,1,iSpace-1); D sSurname := Copy(sNameSurname,iSpace+1); D sSurname := UpperCase(sSurname); D

4

newSurname1 := ''; D newSurname2 := ''; D // Change surname for i := 1 to Length(sSurname) doD begin if not(sSurname[i] in ['A','E','I','O','U']) thenDD begin newSurname1 := newSurname1 + sSurname[i] ; D end; end; for i := 1 to Length(newSurname1) doD begin if (newSurname1[i] = ' ') thenD begin newSurname2 := newSurname2 + '#' ; D end else newSurname2 := newSurname2 + newSurname1[i] ; D end;

10

// Draai naam om newSurname3 := ''; D for i := Length(sName) downtoD 1 doD begin newSurname3 := newSurname3 + sName[i]; D end;

4

2.

Page 14: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

4

// Get the month of DOB and validate monthFlag := false; dayFlag := false; DD yearFlag := false; sAbrMonth := 'ERROR'; sMonth := Copy(sDOB,6,2); D Val(sMonth,iMonth,icode); D sDay := Copy(sDOB,9,2); D Val(sDay,iDays,icode2); D iYear := StrToInt(Copy(sDOB,1,4)); D if (icode = 0) AND (iCode2 = 0) thenD if (iYear >= 1995) AND (iYear <= 2000) thenD begin yearFlag := true; D case iMonth of 4,6,9,11 : if iDays <= 30 then dayFlag := true; DD 1,3,5,7,8,10,12 : if iDays <= 31 then dayFlag := true; DD 2 : beginD if IsLeapYear(iYear) thenD begin if iDays <= 29 then dayFlag := trueD end else if iDays <= 28 then dayFlag := true; D end; end; // end case if (iMonth in [1..12]) then monthFlag := true; DD end;// end if if monthFlag AND dayFlag AND yearFlag thenD begin case iMonth ofD 1: sAbrMonth := 'Jan'; 2: sAbrMonth := 'Feb'; 3: sAbrMonth := 'Mar'; 4: sAbrMonth := 'Apr'; 5: sAbrMonth := 'May'; 6: sAbrMonth := 'Jun'; DDD 7: sAbrMonth := 'Jul'; 8: sAbrMonth := 'Aug'; 9: sAbrMonth := 'Sep'; 10: sAbrMonth := 'Oct'; 11: sAbrMonth := 'Nov'; 12: sAbrMonth := 'Dec'; end; sPassWord := newSurname2 + newSurname3 + sAbrMonth + IntToStr(iDays); D end else sPassWord := newSurname2 + newSurname3 + sAbrMonth; D redtAfvoer_Output.Lines.Add(sNameSurname+ #9+ sDOB + #9+sPassWord); D

28

procedure TForm1.FormActivate(Sender: TObject); begin redtAfvoer_Output.Paragraph.TabCount := 3; redtAfvoer_Output.Paragraph.Tab[0] := 100; DD redtAfvoer_Output.Paragraph.Tab[1] := 200; redtAfvoer_Output.Paragraph.Tab[2] := 300; // Clear output redtAfvoer_Output.Clear; redtAfvoer_Output.Lines.Add('Naam en Van' + #9+ 'Geboortedatum' + #9+'Wagwoord'); D end;

3

TOTAAL /TOTAL 55

Page 15: PROVINSIALE EKSAMENS …resources.besteducation.co.za/Afrikaans/Graad-11/Vraestelle/Junie...„n S pizza kos R45.50 o „n Koeldrank kos R15.99. o Indien „n speler „n koeldrank

5

AFDELING C / SECTION C private tData : TextFile; D sLine : string; D arrName : array[1..30] of string; D arrAvg : array [1..30] of double; D iCount : integer; D

5

procedure TVraag_Question_3.btnGetDataClick(Sender: TObject); var iP, iPos, i, iTot : integer; D begin AssignFile(tData,'Uitslae_Results.txt'); D tryD Reset(tData); D Except ShowMessage('File not found'); D Exit; D end; memAfvoer.Lines.Add(''); memAfvoer.Lines.Add('Deelnemers'); memAfvoer.Lines.Add('Naam'+#9+'Gemiddeld'); DD memAfvoer.Lines.Add('~~~~'+#9+'~~~~~~~~~'); while NOT EOF(tData) doD begin inc(iCount); D Readln(tData, sLine); D iPos := pos(';',sLine); D arrName[iCount] := copy(sLine,1,iPos-1); D delete(sLine,1,iPos); D iTot := 0; D for I := 1 to 3 doD begin iPos := pos(';',sLine); D iP := StrToInt(copy(sLine,1,iPos-1)); DD iTot := iTot + iP; D delete(sLine,1,iPos); D end; iTot := iTot + StrToInt(sLine); D arrAvg[iCount] := iTot /4 ; D end; for I := 1 to iCount doD memAfvoer.Lines.Add(arrName[i]+ #9+FloatToStrf(arrAvg[i],ffFixed ,8,1 )); D memAfvoer.Lines.Add(''); memAfvoer.Lines.Add(''); end;

25

procedure TVraag_Question_3.btnProcessClick(Sender: TObject); var i, j : integer; sTemp : string; D rTemp : double; begin memAfvoer.Lines.Add('Wenners'); memAfvoer.Lines.Add('Naam'+#9+'Prys'); D memAfvoer.Lines.Add('~~~~'+#9+'~~~~'); for I := 1 to iCount-1 doD for j := 1 to iCount doD if arrAvg[i] > arrAvg[j] thenD begin sTemp := arrName[i]; arrName[i] := arrName[j]; D arrName[j] := sTemp; rTemp := arrAvg[i]; arrAvg[i] := arrAvg[j]; D arrAvg[j] := rTemp; end; for I := 1 to 3 doD memAfvoer.Lines.Add(arrName[i]+ #9 +arrPrizes[i]); D end;

9

procedure TVraag_Question_3.FormShow(Sender: TObject); begin iCount := 0; D end;

1

TOTAAL / TOTAL GROOTTOTAAL / GRAND TOTAL

40 150

3.1

3.2