TOPIC B: Arrays.

Contents :

  ARRAY of CARDINAL, CONST.
  Standards: indentation, naming!

Exercises :


D1: Fill an array

  • open Modula2 compiler XDS: start -> programs ->  [TW] Programming ->  XDS environment
  • copy the    to a new file (remember: same name as module!), run it and try to understand it...
    1. Define an array of 10 integers. Fill it with 1's and print the array.
    2. Fill the array with its indices. Use a constant for the array size. Change the value of the constant to 20.

    D2: Draw Blocks

  • open Modula2 compiler XDS: start -> programs ->  [TW] Programming ->  XDS environment
  • copy the    to a new file, run it and try to understand it...
    1. Dit programma toont hoe je graphics kan maken in een apart graphics venter.  Het window-gedeelte aan het begin en het press-key gedeelte aan het einde zal je steeds nodig hebben.
    2. Dit programma toont hoe je een figuur kunt laten 'verdwijnen', je wacht even en maakt het dan weer zwart (de achtergrondkleur).
    The Same In English:
    1. This program shows you how to draw graphis in a seperate graphics window. Press Enter to finish the program.
    2. Create 'movement' by adding a delay and making the figures black again.

    D3:


    S1: Array with the powers of 2.

    start with the solution of D1 Part2
     
    1. Fill the array with the powers of -2, without using the power procedure! Print the array.
    2. Calculate the average of all elements of the array. Print it.
    3. Change the array size to 20, does your program still work?

    S2:Curve vorm

        Start met dit programma. Gegeven is een functie, waarvan de eerste 10 punten in een array staan. Gevraagd:
    1. Zoek de grootste waarde van de array en print deze af.
    2. Print de elementen van de array af, zolang de waarden stijgen (zolang de functie die y_values[i] voorstelt, monotoon stijgend is).


    S3: Array Reversal

    1. Reverse the array by copying it into a new array arr2
    2. If possible, reverse the elements within the array, thus without copying it into array arr2! You may only use one extra INTEGER variable.

    S4: Plot Functie

    Bestudeer eerst D1.
    Teken de functie mbv de waarden die we in de array y_values gestoken hebben. Start met deze code (= combinatie S2 & D2).
    1. Teken een lijn van cirkels met straal SIZE  mbv. de array: neem als x-waarde de index van de array en als y-waarde de waarde van de array, vermenigvuldig beiden met SIZE om de tekening te vergroten.
    2. Creeer beweging met een cirkel die de vorm van de curve volgt. Doe dit mbv een delay en het zwart maken van de laatste cirkel zoals uitgelgd in D2 part2.

    S5: Chessboard (Schaakbord)

    Use D2 as a start. Vraag: kan je op een eenvoudige manier je code veranderen en er een dambord van maken? Kan je gemakkelijk de grootte van elk vakje aanpassen? (gebruik van constantes)



    S6: Moving figures

    Start with D2 part b. Follow your creativity to create more figures... Let also the colour change from one circle to another.

    Examples:



    H1: Fill array with the fibonacci numbers

    1. Define an array of 10 cardinals. Fill it with the Fibonacci numbers (see topicA#H2). They are defined as a sequence of numbers:
    2. Print the array.
    3. Ask the user for a certain element of the array and print it out.
    4. Calculate the sum and the average of the 10 first Fibonacci Numbers.

    X1: Zero

    Remark: Are the values of the resulting array correct?

    T1: Output

    .....