Topic F: S4

Aushim
Master in de forumwetenschappen
Master in de forumwetenschappen
Berichten: 2628
Lid geworden op: 23 nov 2007, 23:02
Locatie: Haren
Contacteer:

Topic F: S4

Berichtdoor Aushim » 13 dec 2007, 20:29

Hieronder vinden jullie een van de oplossingen van S4: Account evolution.

Code: Selecteer alles

MODULE S4;
<* WOFF + *> <* NOOPTIMIZE + *>
    FROM IO IMPORT RdChar, WrChar, WrStr, RdStr, WrLn, RdLn, RdCard, WrCard, RdInt, WrInt,
RdReal, WrReal, WrFixReal, RdBool, WrBool;
    FROM RealMath IMPORT sqrt, exp, sin, cos, tan, arcsin, arccos, arctan, power, round;

    CONST              (* constants *)

    PROCEDURE PrintCardinalArray(arr: ARRAY OF CARDINAL);
      VAR i:CARDINAL;
    BEGIN
      FOR i := 0 TO HIGH(arr) DO
        WrCard(arr[i], 10);
      END;
      WrLn;
      WrLn;
    END PrintCardinalArray;

  PROCEDURE AccountEvolution(arr:ARRAY OF CARDINAL; bedrag:CARDINAL; intrestvoet:REAL);
    VAR i:CARDINAL;
    BEGIN arr[0]:=bedrag;
      FOR i:=1 TO HIGH(arr) DO
      arr[i]:= arr[i-1] + VAL (CARDINAL, (intrestvoet/100.0) * VAL(REAL, arr[i-1]));
      END;
    PrintCardinalArray(arr);
  END AccountEvolution;

    VAR arr1: ARRAY[1..10] OF CARDINAL;              (* 2 arrays of different size *)
        arr2: ARRAY[1..20] OF CARDINAL;
BEGIN
    WrLn;
    WrStr("Verloop in 10 jaar van je zichtrekening bij een beginkapitaal van 100.000 BEF:");
    AccountEvolution(arr1, 100000, 4.2); (* 100.000 BEF at 4,2%, 10 years *)
    WrStr("Verloop in 20 jaar van je zichtrekening bij een beginkapitaal van 100.000 BEF:");
    AccountEvolution(arr2, 100000, 3.0); (* 100.000 BEF at 3,0%, 20 years *)

END S4.

Terug naar “Oefeningen gemaakt in de klas”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast

cron