MODULE ProduktiePlanning; (* ZET HIER JE NAAM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) <* +NOOPTIMIZE *> FROM IO IMPORT WrLn, RdKey, WrCard, WrStr, WrFixReal; CONST AANTAL_PRODUKTEN = 3; AANTAL_MACHINES = 3; TYPE ProduktEn = (P1, P2, P3); ProduktRc = RECORD naam: ARRAY[1..10] OF CHAR; proc: ARRAY[1..10] OF CHAR; (* produktieproces *) verkoopsprijs, materiaalkost: REAL; END; VAR gProdukten: ARRAY [P1 .. P3] OF ProduktRc; gMachineWerkingskost: ARRAY ['A'..'C'] OF REAL; (* euro per uur *) (************************** NUTTIGE PROCEDURE voor vraag 4 ***********************************) PROCEDURE VulString(VAR strTo, strFrom: ARRAY OF CHAR; endOfString: CHAR); (* Vult string strTo helemaal op, met de letters van strFrom te herhalen. De letter gegeven met endOfString duidt het einde van strFrom aan strFrom "abco" en strTo 8 groot geeft "abcabcao" *) VAR i, j: CARDINAL; BEGIN j := 0; FOR i := 0 TO HIGH(strTo) -1 DO strTo[i] := strFrom[j]; j := j + 1; IF strFrom[j] = endOfString THEN (* begin tergu vooraan *) j := 0; END; END; strTo[HIGH(strTo)] := endOfString; END VulString; (***********************************************************************************) (* vraag 1 *) (* vraag 2 *) (* vraag 3 *) (* vraag 4 *) (* vraag 5 *) VAR c: CHAR; BEGIN WrLn; (* Invullen van de gegeven gegevens *) gProdukten[P1].naam := "P1"; gProdukten[P1].proc := "ABCCBBO";gProdukten[P1].verkoopsprijs := 499.90;gProdukten[P1].materiaalkost := 22.27; gProdukten[P2].naam := "P2"; gProdukten[P2].proc := "BCABCABO";gProdukten[P2].verkoopsprijs := 559.90;gProdukten[P2].materiaalkost := 16.98; gProdukten[P3].naam := "P3"; gProdukten[P3].proc := "AABACAACO";gProdukten[P3].verkoopsprijs := 669.90;gProdukten[P3].materiaalkost := 25.67; gMachineWerkingskost['A'] := 26.55; gMachineWerkingskost['B'] := 41.85; gMachineWerkingskost['C'] := 31.05; (* vraag 1 *) (* vraag 2 *) (* vraag 3 *) (* vraag 4 *) (* vraag 5 *) END ProduktiePlanning.