Moderator: Praesidium
Subprocedures komen in het declaratiegedeelte van een procedure.Wim wrote:Volges mij moete die verschillende procedures van de oefening onder mekaar zette ipv in mekaar. Ik snapte da nie echt goe en ik hem uitleg gevraagd en dee kerel heeft op een blad geschreve da da zo moest.
Bij oef 1 zou de structuur er dan zo uitzien (ik typ nu over van wa deen assistent op da blad heeft geschreve)
PROCEDURE Oef1*;
VAR
a: ...
BEGIN
In.Open;
...
Keerom(a);
OutExt.String(a);
END Oef1;
PROCEDURE Keerom(VAR x: Word)
BEGIN
(alles in x omkeren)
END Keerom;
Kweenie of da echt zoveel verschil maakt, mor kdenk toch da ge da best zo doe.
In oberon kan da ni nee in de meeste andere talen wel.Norfolk wrote:Dit kan niet dat procedure Keerom na procedure Oef1 komt.
De compiler kan namelijk niet vooruit lezen en kent op dat moment Keerom nog niet.
Wat wel lukt is deze ervoor zetten, maar tijdens practicum dinsdag hebben ze mij en waarschijnlijk ook Shinta dat de Keerom procedure in de procedure Oef1 moet.
Veel maakt dat eigenlijk niet uit. En je zet de procedure er trouwens in omdat je Keerom hoogst waarschijnlijk nergens anders nog zult nodig hebben.
Groetjes,
Olivier
MODULE Reeks2;
IMPORT
OutExt,
In,
Strings;
TYPE
String = ARRAY 100 OF CHAR;
PROCEDURE Oef1*;
VAR
a: String;
BEGIN
In.Open();
In.String(a);
Keerom(a);
OutExt.Open();
OutExt.Clear();
OutExt.String(a);
END Oef1;
PROCEDURE Keerom(VAR x: String);
VAR
i: LONGINT;
j: LONGINT;
y: String;
BEGIN
j := Strings.Length(x)+1;
i := 0;
In.Open();
FOR i := 0 TO Strings.Length(x) DO
DEC(j);
In.Char(y[j]);
END;
x := y;
END Keerom;
END Reeks2.
Code: Select all
FOR x := 0 TO (i-1) DO
b := ORD(string[a]) - ORD ("0");
output := (10 * output) + b;
INC(a);
END;
Inderdaad,EagleEye812 wrote:Ik dacht dat ge bij Oefening 6 een Array of CHAR naar ne LONGINT moest overzetten, maar als invoer doede dus bv "6234" (als ARRAY OF CHAR) en uitvoer is 6234 (als LONGINT), dus dat hij die characters kan omzetten naar integers waarmee em kan rekenen.
Ik heb da op deze manier gedaan
(de threadstarter heeft niet eens een array of char in zijne code in oef 6?)
Jaja, mijnen array zal wel wa groter moete zijn en mijn vars zijn ni goe gekoze maar t macheert :p
Oefening 6 is een vreemd geval, mijn oefening is correct, ze daar ma zeker van. Ik vond het zo vreemd dat ik mijn resultaat had vermenigvuldigd met drie en ik kwam op miraculeuse wijze een juist antwoord uit. Ksnapte et zelf ni.Norfolk wrote:Inderdaad,EagleEye812 wrote:Ik dacht dat ge bij Oefening 6 een Array of CHAR naar ne LONGINT moest overzetten, maar als invoer doede dus bv "6234" (als ARRAY OF CHAR) en uitvoer is 6234 (als LONGINT), dus dat hij die characters kan omzetten naar integers waarmee em kan rekenen.
Ik heb da op deze manier gedaan
(de threadstarter heeft niet eens een array of char in zijne code in oef 6?)
Jaja, mijnen array zal wel wa groter moete zijn en mijn vars zijn ni goe gekoze maar t macheert :p
de oefening 6 van shinta is niet correct...
Ik deed het ook ongeveer zoals u
Oefening 6 leest:Oefening 6 is een vreemd geval, mijn oefening is correct, ze daar ma zeker van. Ik vond het zo vreemd dat ik mijn resultaat had vermenigvuldigd met drie en ik kwam op miraculeuse wijze een juist antwoord uit. Ksnapte et zelf ni.
EN ALS ER IETS FOUT IS ZEGT DATTAN EERDER
Joenge ik zet da meteen om bij het inlezenEagleEye812 wrote:Oefening 6 leest:Oefening 6 is een vreemd geval, mijn oefening is correct, ze daar ma zeker van. Ik vond het zo vreemd dat ik mijn resultaat had vermenigvuldigd met drie en ik kwam op miraculeuse wijze een juist antwoord uit. Ksnapte et zelf ni.
EN ALS ER IETS FOUT IS ZEGT DATTAN EERDER
Schrijf een procedure voor het omzetten van een string (ARRAY OF CHAR) naar een
geheel getal (LONGINT).
Waar staat uwe Array of CHAR? gij hebt nen array of integer!
ge moet het karakter "6" kunnen omzetten naar een (INT) 6 .
Users browsing this forum: No registered users and 62 guests