Monday, August 4, 2014

Vorige Eksamens

Hi julle

In voorbereiding vir die rekordeksamen en eindeksamen, hier is al die vorige eksamens wat ek kon in die hande kry (insluitende julle Junie eksamen), met memo's.

Onthou dat die mense wat die eksamens opstel baie lief is om vrae uit vorige eksamens uit te vat en te herhaal, soms net bietjie verander.  So hierdie is die absolute beste manier om voor te berei vir die prakties!

Click op die links om hulle te download:

November 2011
2010
2011
2012
2013
Junie 2014

Wednesday, June 18, 2014

Junie Eksamen Prakties

Hi julle.

Soos ek netnou in my boodskap gesê het, daar is aanbeveel dat ons nie nou al eksamen skryf oor databasisse nie.  Ek is ook in kontak met Study Opportunities om te hoor oor twee hoofstukke wat laasjaar nooit by die skool uitgekom het nie (juis oor databasisse), so dan kan ons dit deeglik deurwerk in die vakansie en volgende kwartaal.

So hier is die afbakening dan vir Vrydag se eksamen:
  1. Basiese Delphi programmerings vaardighede (basiese verwerkings, funksies, prosesse, soos in Graad 11 bespreek).
  2. OOP - Skep `n klas volgens voorgeskrewe spesifikasies.  Skep objekte uit die klas uit.
  3. Basiese probleemoplossing m.b.v. tekslêers (soos in Gr11).
 Wat die tekslêers aanbetref.  Gaan kyk na die videos hier onder vir goeie, praktiese voorbeelde:

https://www.youtube.com/watch?v=VM0o5IUo9RM
https://www.youtube.com/watch?v=oUE4If9rTqM

As julle vrae het, kontak my.

Sterkte, en lekker leer!

Tuesday, March 25, 2014

Delphi Videos

Hi julle

Daar is `n ou wat amazing Delphi hulp videos op YouTube publiseer.  Gaan kyk, veral vir voorbereiding vir Donderdag!  Hier is die links:

M.R. Long se YouTube Page

User Defined Objects Part 1
User Defined Objects Part 2
User Defined Objects Part 3
User Defined Objects Part 4

Die 4 videos dek alles wat julle nodig het vir Donderdag.  Onthou net, soos met alles in Delphi is dit nie die videos en goed wat julle gaan laat slaag nie; dis om dit te vat en prakties toe te pas.  DOEN DIE AKTIWITEITE!

Sterkte.  Lekker leer, en sien julle Donderdag.

Mnr T.

Monday, September 30, 2013

Graad 11 - Kwartaal 3 Toets Afbakening

Hi Graad 11's

Ons het more middag die kwartaal toets, soos ons laas kwartaal gereel het.  Dis ongelukkig al manier om dit te doen.  Die toets gaan sowat 1 uur lank wees vir teorie en prakties saam.  Ons hou dit redelik maklik en eenvoudig weens die handboek probleme.  Ek het ook toestemming van die departement gekry dat ons dit `n oopboek toets kan maak.

Hier is die afbakening.  Julle moet aandag gee aan al die volgende:

Teorie:
  • Modulêre ontwerp
  • Die komponente op die moederbord
  • RAM
  • Grafika kaarte
  • Data oordrag
  • Stoortoestelle
  • Tipes bedryfstelsels
  • Multitaak, Multidraad, en Multiverwerking
Prakties:
  • Die hele Hoofstuk 4 van Delphi (IF stellings, radio buttons, ens.)
Sterkte.  Ek sien julle more so vroeg as moontlik na 2.

Mnr T.

Wednesday, August 21, 2013

Om Tekslêers in Skikkings ("Arrays") in te lees

Dit is eintlik baie eenvoudig om die data van `n tekslêer in `n array in te lees.

Eerstens, kom ons gestel ons het `n tekslêer wat `n lys name bevat, onder mekaar ingevoeg.  Die naam van die tekslêer is "Name.txt".

Ek gaan aanvaar julle weet klaar hoe om seker te maak dat die tekslêer bestaan.  (Dis op bl 27 en 28 van die handboek).

Dan moet die tekslêer "Assign" word en "reset" word.  Ons doen dit met die volgende kode:

AssignFile(NameLr, 'Name.txt');                              {Ons verwys gevolglik na die lêer as "NameLr"
Reset(NameLr);

Daarna moet ons fisies al die name uit die tekslêer uit inlees in die array in.  Ons doen dit as volg:

while (NOT EOF(NameLr)) AND (iTelName < MAKSNAME) do
begin
    inc(iTelName);
    readln(NameLr, arrName[iTelName]);
end;

In die stuk kode hierbo kan ons sien daar is `n veranderlike ("iTelName", `n teller), en `n konstante ("MAKSNAME"), wat die maksimum aantal name bevat wat jy self gespesifiseer het.

Ons kan sien uit reel 1 dat die kode `n lus is wat herhaal totdat OF die einde van die tekslêer bereik is, OF totdat die maksimum aantal name bereik is.

Wanneer die prosedure begin kan ons sien "iTelName" word elke keer met een vermeerder (dis ons teller).
Dan word die inhoud van NameLr ingelees in die Array "arrName" na die posisie met dieselfde waarde as "iTelName".  Met ander woorde, in siklus 1 sal die waarde in die tekslêer gelees word na posisie 1, in siklus 2 na posisie 2, in siklus 13 na posisie 13, en so voorts.

Eintlik baie eenvoudig, ne?

Subprogramme

Subprogramme is stukke kode wat saamgevoeg word om `n sekere doel te bereik in sekere situasies.

Byvoorbeeld, `n "Event Handler" is een sekere tipe subprogram (`n "Prosedure") wat gehardloop word wanneer `n spesifieke iets gebeur, byvoorbeeld wanneer daar op `n sekere button geclick word.

Buiten prosedures kry ons ook funksies.  Daar is ingeboude funksies (soos Sqrt, StrToIn, en so aan) in Delphi, maar jy kan ook jou eie funksies skep.

Waar `n Prosedure eenvoudig `n stel stappe is wat gevat word, is `n funksie se doel om `n resultaat te lewer; byvoorbeeld, `n wiskundige berekening.  FUNKSIES LEWER ALTYD `n RESULTAAT.  Dit is die grootste verskil tussen `n Prosedure en `n Funksie.

Ek word baie gevra wat is dan die verskil tussen `n objek / klas en `n prosedure of funksie.  Dis doodeenvoudig; `n objek of klas kan self verskeie prosedures of funksies hê.  Sien `n objek as `n mini program op sy eie, terwyl prosedures en funksies stelle kode is wat deur daardie mini program uitgevoer kan word.  En dit als saam vorm een groot program.

Funksies word gewoonlik binne in prosedures gehardloop.

Byvoorbeeld.  Op bl. 220 van Geniet Delphi Deel 2 is daar Aktiwiteit 7.  In daardie kode is daar `n paar dinge wat ek wil uitwys.

Eerstens sien ons daar word `n class geskep genaamd "TWerker".
In die "TWerker" class is daar twee functions ("BerekenBonus" en "BerekenSalaris") wat altwee resultate lewer in die vorm "real" (rieële getalle).

Dan word daar `n objek geskep genaamd "Werker" van die class "TWerker".  Met ander woorde, "Werker" het nou daardie funksies oorgeërf omdat hy deel is van die "TWerker" class.

Nou word die funksie verduidelik.  Ons sien dat "BerekenBonus" gaan kyk of die werker se aantal ure meer is as 40.  As dit meer is, dan vat hy die verskil tussen die aantal ure en 40 en vermenigvuldig dit met sy vergoeding per uur.  As dit NIE meer is nie, dan is die bonus 0.
"BerekenSalaris" aan die ander kant is die vergoeding per uur vermenigvuldig met die aantal ure, plus die bonus wat reeds bereken is.
Beide die "BerekenBonus" en die "BerekenSalaris" is FUNKSIES.  Hulle lewer `n resultaat.

Dan, in die einde, sien ons `n "PROCEDURE", wat dan doodeenvoudig die OBJEK skep, en daarna (op bl 221) nog `n PROCEDURE wat plaasvind wanneer die "Bereken" knoppie geclick word, wat doodeenvoudig die funksies uitvoer.

So `n mens kan dit half opsom as volg:

`n Klas word gedefinieër,
     waaruit `n Objek geskep word,
           wat `n stel Funksies bevat,
                  wat uitgevoer word deur `n Prosedure.

Maak dit sin?  Ek hoop so.  Gooi my met die vrae as julle het. ;-)


Object Oriented Programming Deel 2

Soos ons gister gepraat het behels OOP basies dat `n klas gespesifiseer moet word.  Die klas is soos die raamwerk waaruit "objects" geskep word.  Hy spesifiseer sekere vaste dinge en funksies.

Byvoorbeeld, in gister se illustrasie het ons gepraat van `n klas "kar".  Hy bevat instruksies vir hoe om `n kar te laat vorentoe ry, of agtertoe, en om links en regs te draai.  Hy spesifiseer ook dat die kar sekere veranderlikes het, soos kleur, maksimum spoed, sulke dinge.

Om `n klas in Delphi te definieer gebruik jy die volgende formaat:

type                                                                                           
TKlasNaam = class                                                   {`n Klas genaamd TKlasNaam word gedefinieer

   fVeld1 : datatipe;                                                    {`n Veranderlike word met die klas geassosieer

   fVeld2 : datatipe;                                                    {Nog `n klas veranderlike


  procedure ProsedureNaam;                                     {`n Prosedure wat met die klas geassosieer word
  function FunksieNaam : datatipe;                          {`n Funksie wat met die klas geassosieer word

end;

var
  ObjekNaam : TKlasNaam;                                      {`n Objek van die spesifieke klas word geskep

Nou kan ons sien dat die klas self sekere veranderlikes, prosedures en funksies het.  So elke objek van die betrokke klas wat geskep word sal dieselfde veranderlikes, prosedures en funksies hê.  Die waardes wat daaraan geheg word sal wel verskil.