Lussen met een teller

Computer wetenschappers omschrijven zo'n structuur als "lussen", herhalen, of itereren. Opeenvolgen, selectie en itereren zijn bouwblokken van algoritmes. Je wilt misschien nog even kijken bij Hoofdstuk 1 Les 2 Pagina 4: Spelersnamen leren voor een herinnering aan opeenvolgen en selecteren.

Het herhaalblok genereert een oneindige lus die voor altijd zal blijven herhalen (lussen). Een oneindige lus kan soms het resultaat zijn van een bug, maar in sommige interactieve programma's, wil je dat het programma blijft lopen totdat het gestopt wordt door de gebruiker.

Je hebt de onderstaande manieren gezien om een set opdrachten te herhalen:

Op deze pagina, ga je herhaallussen gebruiken om iets te laten herhalen en deze herhalingen te tellen zodat je die teller kunt gebruiken om vormen te laten tekenen met herhaalde patronen...
Geen Afbeelding Geen Afbeelding

Je kunt Geen Afbeelding gebruiken om een variabele een naam te geven (hier, Geen Afbeelding) die elke herhaling telt, en je kunt die teller-variabele gebruiken in het herhalende script. het herhaalblok laat je bijvoorbeeld, lange scripts simplificeren zoals:

Elke keer wanneer het herhaalblok het script binnenin doorloopt, verandert het de waarde van de variabele met 1, tellend vanaf het eerste invoer getal tot aan de tweede.
Geen Afbeelding       naar Geen Afbeelding

  1. Klik op het Document Geen Afbeelding menu aan de bovenkant van het snap beeld en selecteer "Importeer Tools."
  2. Het herhaal blok geeft je een standaard variabele, i (voor index). Je kunt de naam van deze variabele veranderen door er op te klikken. Eenmaal veranderd, sleep je het buiten zijn vakje en kan je het net als elke andere variabele gebruiken.
  3. Bouw dit script waarin een sprite elk nummer van 1 tot 10 zegt.
    Geen Afbeelding
    1. Bewerk het zodanig dat de sprite het zegt als 0, 2, 4, 6, 8, ... tot en met 30.
    2. Bespreek je oplossingen met iemand anders (of een ander paar).
  4. Experimenteer met spiralen.
    1. Bouw het onderstaande script en probeer het volgende:
      Dit ontwerp kreeg de bijnaam "vierkant" want het is een vierkante spiraal.
      Geen Afbeelding
    2. Geen Afbeelding Zorg ervoor dat je ook kunt uitleggen waarom de vierkante spiraal naar buiten draait.
    3. Probeer eens om de volgorde van de 100 en de 1 om te draaien in het herhaal blok in het vierkante script. Wat is het resultaat hiervan?
    4. Probeer eens om de draaihoek in het vierkant-script te veranderen in andere getallen zoals 92, 126, etc.
    5. Verander de invoer in draai en neem om zo dicht mogelijk in de buurt te komen van een effen spiraal:
      Geen Afbeelding
  5. "H1L3-Squiral"Geen Afbeelding
  1. Open je H1L3-Molen project en bouw een genest, vierkanten blok dat een herhaal en je polygoonblok gebruikt om een genest vierkant te tekenen. Geef het een invoer zodanig dat het een willekeurig aantal vierkanten zal tekenen die jij specificeert, met elk vierkant groter dan de voorgaande:
    Geen Afbeelding
  2. Bouw geneste polygonen die een bepaald aantal polygonen aanneemt en de aantal kanten voor de polygonen aanneemt.
  3. Bouw een script dat 12 gewone polygonen tekent, elke met steeds één kant meer dan de voorgaande, zoals hieronder weergegeven.
    Geen Afbeelding
  4. Voorspel wat dit script doet voordat je het uitprobeert:
    Geen Afbeelding
 
  1. Bouw een script dat met stappen van 10 (dat is dus, 100, 90, 80, etc.) aftelt van 100 tot 0.
  2. Vind een manier die het forblok gebruikt om een vierkant te nesten op deze manier. Bouw je blok met twee invoeren die je laat specificeren hoeveel vierkanten het ontwerp bevat en hoeveel groter elk vierkant zal worden ten opzichte van de vorige.
    Geen Afbeelding Geen Afbeelding
  3. Hieronder zijn twee animaties die de molencode gebruikt met invoer. Zoek uit hoe je voor jezelf zulke artistieke animaties kunt maken.
    Geen Afbeelding Geen Afbeelding

    De onderstaande code kan je ideeën geven over hoe je animaties kunt maken. Zorg ervoor dat je alle wacht 0.5 sec blokken van je molencode hebt verwijderd, zodat ze niets zullen vertragen. Het warp blok staat toe alles tegelijkertijd te laten gebeuren.

    Geen Afbeelding
  4. Geen Afbeelding Geen Afbeelding Geen Afbeelding Dit blok is net als het vierkante, maar in plaats van de invoer te veranderen naar neem, verandert het de invoer naar draai:
    Geen Afbeelding
    1. Probeer te schetsen wat het zal tekenen met een hoek van 2.
    2. Bouw het dan en probeer elk van deze tests:
      Je kunt elke test stoppen met de "stop" knop (Geen Afbeelding) als je er zeker van bent dat er niks nieuws gaat gebeuren, maar beslis dit nooit te snel!
      Geen Afbeelding
    3. Wat gebeurt er? Kun je een theorie bedenken die iets voorspelt over de vorm die het tekent voor een specifieke hoek-invoer?
      Hint: Denk aan deelbaarheid.
TerugVolgende