TOPIC F: Procedures.

Contents :

PROCEDURE, open arrays, HIGH().

Exercises :


D1: SumDivisibleBy.

copy the   to a new file, run it and try to understand it...




S1: Factorial (faculteit)


S2: Search (bis)

Start with your solution of Topic C: S1  and put your search code in a procedure:

S3: Vierkanten & Sterretjes

Gebruik de graph-procedures Line en Polygon (de definities van deze vind je in wimdows.def of voor de oude graph gebruikers in graph.def die in C:/bin/XDS/def/ts staat).
Teken de ster mbv. 2 driehoeken, maar een procedure om een driehoek te tekenen bestaat er niet. Gebruik hiervoor de Polygon procedure, die als volgt gedefinieerd is:
PROCEDURE Polygon(n :CARDINAL; px, py :ARRAY OF INTEGER; FillColor :CARDINAL; Fill :BOOLEAN);
tekent een polygoon door de n punten te verbinden, waarbij de x,y coordinaten gegeven zijn in respectievelijk 2 arrays px, py. Geef ook de kleur mee en of de polygoon opgevuld moet worden.
Om een driehoek te tekenen, creeer 2 arrays van 4 punten en vul deze met de hoekpunten van de driehoek. Geef het eerste punt ook mee als laatste om de driehoek te vervolledigen.
De verhoudingen vind je terug in de tekening (waarbij sin(30 graden)/2 = 1/4  en  cos(30 graden)/2 = 0.43)
Tip: om een cardinal met de reele constante 0.43 te vermenigvuldigen, moet je deze naar een REAL omzetten. Dit kan je omzeilen door de cardinal te vermenigvuldigen als volgt: *43/100.

 


S4: Account evolution.

  • Complete this code.
  • Implement a procedure AccountEvolution that fills an array with the yearly evolution of a deposit account (zichtrekening). Each year the invested amount (het belegd bedrag) is raised with the interest. Use an open array of cardinals as parameter, the initial amount and the interest rate. Fill the whole array.
  • Use the given procedure PrintCardinalArray that prints a cardinal array of arbitrary (willekeurige) size.

  • S5: Bitmaps

    Start with the code from .
    We defined:




    S6: Permutaties

      x[1] := 201;   y[1] := 60;
      x[2] := 401;   y[2] := 60;
      x[3] := 542;   y[3] := 201;
      x[4] := 542;   y[4] := 401;
      x[5] := 401;   y[5] := 542;
      x[6] := 201;   y[6] := 542;
      x[7] := 60;    y[7] := 401;
      x[8] := 60;    y[8] := 201;


    X1: Flikkering.

    1. Maak 4 arrays van 100 waarden voor:

    2.  - x
       - y
       - grootte
       - kleur
    3. Vul deze arrays met random waarden, gebruik hiervoor de gegeven RandomCard procedure. Hiervoor heb je de grenswaarden nodig:

    4.  - x & y moeten binnen het scherm liggen
       - grootte tussen 6 & 16
    5. Teken nu 1 voor 1 cirkels met de gegeven waarden, zet een delay van 0.2 s tussen het tekenen van elke cirkel
    6. Na 8 (= constante SHIFT) cirkels getekend te hebben, maak je de eerste weer zwart. Er staan dus steeds SHIFT cirkels op het scherm.
    Een beetje moeilijker: als je een cirkel laat verdwijnen, toon je eerst een ster (zie S3) op die plaats. Dan is het net alsof de cirkel uiteenspat!



    H1: Array Print




    H2: String compare