Ster tekenen (Topic F S3 b)

Jaarvak op 7 studiepunten
Forumregels
Misschien werd je vraag al vorig jaar gesteld? Gebruik dus eerst de zoekoptie!

Er zijn formularia/samenvattingen aanwezig op de volgende link: viewtopic.php?f=19&t=93
dirk
Regelmatig forumgebruiker
Regelmatig forumgebruiker
Berichten: 76
Lid geworden op: 05 jan 2009, 13:20

Ster tekenen (Topic F S3 b)

Berichtdoor dirk » 22 jun 2009, 23:04

Hellow,

Een andere oefening waar ik vast zit. hij geeft een error: "Incompatible Types" , maar ik definieer alles in Real en toch geeft hij fout? Het probleem zit hem bij de definiëring van px en py:

px1[1] := x - power(0,43,S); px1[2] := x - S/2; px1[3] := x + power(0,43,S);
px2[1] := x - power(0,43,S); px2[2] := x + S/2; px2[3] := x + power(0,43,S);

py1[1] := y - S/4; py1[2] := y; py1[3] := y + S/4;
py2[1] := y + S/4; py2[2] := y; py2[3] := y + S/4;

Code: Selecteer alles


MODULE F_S3b;

    FROM IO IMPORT RdChar, WrChar, WrStr, RdStr, WrLn, RdLn, RdCard, WrCard, RdInt, WrInt, RdReal, WrReal, WrFixReal, RdBool, WrBool, RdKey, KeyPressed;
    FROM RealMath IMPORT sqrt, exp, sin, cos, tan, arcsin, arccos, arctan, power, round, pi;
    FROM Lib IMPORT Delay; (* Wait n milliseconds *)
    FROM Graph IMPORT Init, Line, Rectangle, Circle, Disc, Polygon, RawOutText, _clrBLACK, _clrBLUE, _clrGREEN, _clrCYAN, _clrRED, _clrMAGENTA;
    FROM Graph IMPORT _clrBROWN, _clrWHITE, _clrGRAY, _clrLIGHTBLUE, _clrLIGHTGREEN, _clrLIGHTCYAN, _clrLIGHTRED, _clrLIGHTMAGENTA, _clrLIGHTYELLOW, _clrBRIGHTWHITE;
         (* zie C:/Bin/Xds/Def/Ts/Graph.def  *)

    CONST SCREEN_SIZE = 600;   (* constants *)

     VAR n: CARDINAL;
         x,y,S: REAL;
    px1,px2,py1,py2: ARRAY [1..3] OF REAL;
BEGIN
    WrLn;
    n := 3;

    WrStr("Geef de grootte van de ster in: ");WrLn;
    S:=RdReal();

    WrStr("Geef de x-coordinaat van het middelpunt in: ");WrLn;
    x:=RdReal();

    WrStr("Geef de y-coordinaat van het middelpunt in ");WrLn;
    y:=RdReal();

    px1[1] := x - power(0,43,S); px1[2] := x - S/2; px1[3] := x + power(0,43,S);
    px2[1] := x - power(0,43,S); px2[2] := x + S/2; px2[3] := x + power(0,43,S);

    py1[1] := y - S/4; py1[2] := y; py1[3] := y + S/4;
    py2[1] := y + S/4; py2[2] := y; py2[3] := y + S/4;

   Polygon(n ; px1, py1 ;_clrBLUE;TRUE);
   Polygon(n ; px2, py2 ;_clrBLUE;TRUE);



  IF NOT Init(1, 1 , SCREEN_SIZE+7, SCREEN_SIZE+33) THEN
    WrStr("Sorry, graphics doesn't work");WrLn;
    RETURN;
  END;


  (* Show graphics until user presses a key *)
  WrStr("Press any key to finish the program");
  x := RdKey();
  WrLn; RdLn;
END F_S3b.

Beerend
IRW-FAN!
IRW-FAN!
Berichten: 313
Lid geworden op: 30 sep 2008, 18:15
Locatie: Mechelen
Contacteer:

Re: Ster tekenen (Topic F S3 b)

Berichtdoor Beerend » 23 jun 2009, 06:40

Polygon(n ; px1, py1 ;_clrBLUE;TRUE);
Polygon(n ; px2, py2 ;_clrBLUE;TRUE);

Mijn Modula is alweer een beetje roestig, maar ik geloof niet dat je parameters mag scheiden met een ';', gewoon een ',' gebruiken dus. Over de incompaticle types: vragen de Graph functies niet al hun coördinaten in CARDINALS? Als jij dan ARRAY OF REAL doorgeeft gaat het dus niet werken.
Gebruikersavatar
Minnebo
IRW-FAN!
IRW-FAN!
Berichten: 454
Lid geworden op: 29 sep 2008, 19:00

Re: Ster tekenen (Topic F S3 b)

Berichtdoor Minnebo » 23 jun 2009, 07:31

de fout "Incompatible Types" geeft idd weer dat er ergens verkeerde types worden gebruikt in een procedure.
Meestal is dit ivm integers, reals en cardinals :)
Afbeelding
It's ok, I'm a ninja.
Tom
Doctor in de forumwetenschappen
Doctor in de forumwetenschappen
Berichten: 3851
Lid geworden op: 05 okt 2008, 08:11
Locatie: Vilvoorde

Re: Ster tekenen (Topic F S3 b)

Berichtdoor Tom » 23 jun 2009, 08:08

voor de zekerheid moet je in de def file kijken, maar zoals Pieter zegt is het dat je types verkeerd zijn
Je x en y component enzo moeten allemaal Cardinals zijn ipv reals


En componenenten zou je idd moeten scheiden met "," maar het kan zijn dat het ook met ; werkt

Terug naar “Informatica”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 1 gast

cron