TOPIC L: Complete Exercises

Contents :

   Exercises that make use of all Modula-2 aspects
   Abstraction, use of general procedures, datastructures.

Exercises :


D1:


S1: Klanten database (examen '98).

  1. We willen beschikken over een database met klanten, waarbij van een klant het klantnummer, zijn naam (van maximaal 25 letters), bijbehorende t-shirt maat (S, M, L, XL, XXL) en datum van laatste bezoek wordt gestockeerd. Schrijf de datastruktuur voor deze database met de naam gTshirtDatabase.
  2. Implementeer de procedure NieuweKlant die een klant toevoegt aan de database, gegeven naam en maat. Geef zelf een uniek klantnummer aan elke nieuwe klant (vrij te bepalen, het moet wel uniek zijn voor elke klant).
  3. Definieer de volgende procedures (we willen dus enkel de procedure definities, de eerste lijn dus!!!!):
  4. Implementeer een procedure die het klantnummer van het n-de voorkomen van de maat m teruggeeft, alsook of hij de n-de heeft gevonden.

S2: Robotje (examen 1999)

Graphics: wie schrijft me een 'engine' die het labyrinth + robotje tekent en de bovenstaande procedures uitvoert? Bedankt John



S3: Centre of Gravity (zwaartepunt).

Start with this code.
The type for a point is defines as:
        TYPE PointRc = RECORD
                        x, y: REAL;
                       END;
  1. Define the variable arr which can contain 10 points (punten) in a two-dimensional space, thus use the given type PointRc.
  2. Make a procedure that plots an array of points, an array of arbitrary (willekeurige) size (use an open array!).
  3. Make a procedure that calculate the centre of gravity (zwaartepunt) cg and returns a record for this.
  4. Calculate for each point the distance to the centre of gravity, add this to the datastructure! Print out all the 10 calculated distances.
  5. Use this procedure that calculates the average distance of 1 point to an (open) array of points. Use this to calculate the average distance of the 10 points to the center of gravity. Draw a circle to indicate this average distance.
  6. Mark the points that are further away from the calculated average distance to the centre of gravity. Add this property to the datastructure. Print this points in red.

X1:




H1:




H2:




T1: Output

MODULE Test1;
FROM IO IMPORT WrLn, WrCard, RdCard;

BEGIN

END Test1.