Het maken van abstracte datatypes

In deze les ga je een contactenlijst-database app maken.

Op deze pagina bouw je een abstract datatype om contactgegevens (naam, adres, telefoonnummer etc.) op te slaan en te gebruiken.

Het opzetten van de contactenlijst

  1. Geen Afbeelding
  2. Maak een globale variabele genaamd contactenlijst.
  3. Je hebt geleerd over globale variabelen in Hoofdstuk 2 Les 1 Pagina 3: De score Bijhouden met globale variabelen.
  4. Initialiseer contactenlijst als een lege lijst.

Waarom globaal?

Het maken van het abstracte datatype

Robin en Yasmine zijn van plan een contactenlijst te maken in Snap!.
Robin: 'We hebben een manier nodig om een contact toe te voegen aan onze contactenlijst.'
Yasmine: 'Elk contact zal een lijst worden met iemands naam, telefoonnummer, adres en e-mailadres.'
Robin: 'In Hoofdstuk 2 Les 2 Pagina 2 hebben we een abstract datatype punt gemaakt om de coördinaten van ieder punt in een lijst van punten op te slaan. Nu kunnen we een abstract datatype contact maken om de data voor ieder contact in onze contactenlijst in op te slaan.'
Yasmine: 'Ja! We hebben toen een puntbouwer gebruikt om een lijst van coördinaten te maken.'
Yasmine bekijkt de code voor de puntbouwer nog eens:
Geen Afbeelding
Robin: 'We hebben daarna een selector gebruikt om een x- of y-coördinaat te kiezen.'
Robin bekijkt de code voor de coördinaatselectors:
Geen Afbeelding en Geen Afbeelding
Yasmine: 'In dit project hebben we een contactbouwer nodig en selectors om toegang te krijgen tot de naam, het adres en telefoonnummer van een contact.'
  1. Maak een contactbouwer die drie variabelen (naam, adres, telefoonnummer) accepteert als invoer:
    Geen Afbeelding

    De bouwer zal een contact terugrapporteren (een lijst van de drie variabelen):

    Geen Afbeelding

  2. Shortcut: Je zou de volgende tekst in het 'Maak een blok'venster kunnen plakken om het blok sneller te maken.

    contact met naam: %naam adres: %adres telefoon: %telefoon

    De %-tekens zorgen ervoor dat de woorden variabelen worden.

  3. Schrijf de selector-blokken om de naam van een contact, adres van een contact, of telefoonnummer van een contact terug te kunnen vinden:

    Geen Afbeelding
    Geen Afbeelding
    Geen Afbeelding

  4. Het is wat kunstmatig om de bouwer als een invoer van de selector te gebruiken, zoals je hierboven ziet. Deze afbeeldingen zijn alleen voorbeelden, om te laten zien wat de selectors zouden moeten kunnen doen, wanneer ze een contact als invoer krijgen.

    In jouw programma zullen de selectors een item uit de contactlijst als invoer nemen en het juiste stuk van dat contact uitvoeren, zoals hier:
    Geen Afbeelding


  5. Verander de invoertypes voor iedere selector, zodat het duidelijk is dat ze een lijst (een heel contact) als invoer nodig hebben.

    Geen Afbeelding Geen Afbeelding Geen Afbeelding

    Je hebt geleerd hoe je Een invoertype moet specificeren in Hoofdstuk 2 Les 2 Pagina 1.

  6. Kijk of je blokken werken. Debug de problemen die je vindt.

    1. Als eerste maak je een bouwer (met invoerwaarden) in iedere selector (zoals hierboven) om te kijken of ze het goede stukje van een contact rapporteren.

    2. Vervolgens gebruik je je contactbouwer om een paar contacten toe te voegen aan je contactenlijst.
      Je kan de volgende voorbeelden gebruiken of je eigen contacten verzinnen.

      Naam Adres Telefoonnummer
      Bo van der Kabarchenbok Kerkstraat 123, Amsterdam 020-5551234
      Alex Ypsilinti Zuidplein 382, Assen 0592-555678
      Yasmine Katadreuffe Hoofdlaan 420, Maastricht 043-5551098

    3. Bekijk hoe je contacten in je contactenlijst verschijnen.

    4. Snap! heeft twee verschillende manieren om lijsten in lijsten weer te geven. Je kan kiezen op welke manier je de lijst wilt weergeven door met je rechter-muisknop op de contactenlijstvariabele in het speelveld te klikken.
      Als je de variabele niet ziet in het speelveld, zorg er dan voor dat het vakje bij de contactenlijstvariabele in het Variabelen-palet is aangevinkt: Geen Afbeelding

      • Lijstweergave voor contactenlijst:
        Geen Afbeelding

      • Tabelweergave voor contactenlijst:
        Geen Afbeelding

    5. Probeer de naam, het adres, of het telefoonnummer te selecteren van een contact in jouw lijst.
      Geen Afbeelding

    6. Debug de problemen die je tegenkomt.

    Geen Afbeelding



Terug Volgende