Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

πŸ’» Programmeeroefening – Behoud de originele lijst: hulpfunctie

In de vorige oefeningen werd de lijst zelf aangepast om ze te sorteren.
In deze oefening pakken we het anders aan: we willen de originele lijst behouden en dus niet veranderen.

In plaats van elementen te verplaatsen, ga je nu een hulpfunctie schrijven die je helpt om stap voor stap de juiste elementen te kiezen.


🧠 Idee achter de oefening

Stel dat je een lijst hebt en je wil telkens het volgende juiste element vinden zonder de lijst te veranderen.

Je vertrekt van een bepaalde waarde (de ondergrens) en zoekt:

πŸ‘‰ β€œWat is het kleinste element in de lijst dat groter is dan deze ondergrens?”

Dat element kan je dan gebruiken in een sorteeralgoritme dat de originele lijst ongemoeid laat.


πŸ›  Wat moet je doen?

Schrijf de functie:

kleinste_element_groter_dan(lijst, ondergrens)

Deze functie moet:

  1. Door de volledige lijst gaan.
  2. Enkel de elementen bekijken die groter zijn dan ondergrens.
  3. Van die elementen het kleinste kiezen.
  4. De index van dat element teruggeven (niet de waarde zelf!).

⚠️ Belangrijk om goed te begrijpen

  • Je verandert de lijst niet.
  • Je zoekt alleen een element en geeft de plaats (index) terug.
  • Er is altijd een geldig antwoord (je hoeft dus geen foutgevallen te behandelen).

πŸ”„ Speciaal geval: ondergrens = None

Als ondergrens gelijk is aan None, betekent dit:

πŸ‘‰ β€œEr is nog geen ondergrens.”

In dat geval moet je gewoon:

  • het kleinste element van de volledige lijst zoeken
  • en daarvan de index teruggeven

πŸ§ͺ Voorbeelden (stap voor stap)

πŸ‘‰ Voorbeeld 1:

kleinste_element_groter_dan([7, 3, 9, 5], None)
  • Er is geen ondergrens β†’ zoek het kleinste element
  • Kleinste element is 3
  • Index van 3 is 1

Resultaat:

1

πŸ‘‰ Voorbeeld 2:

kleinste_element_groter_dan([7, 3, 9, 5], 4)
  • We zoeken elementen groter dan 4 β†’ dat zijn 7, 9, 5
  • Het kleinste daarvan is 5
  • Index van 5 is 3

Resultaat:

3

πŸ‘‰ Voorbeeld 3:

kleinste_element_groter_dan([7, 3, 9, 5], 7)
  • Elementen groter dan 7 β†’ enkel 9
  • Index van 9 is 2

Resultaat:

2

πŸ’‘ Tips

Denk in stappen:

  1. Houd bij wat je β€œbeste kandidaat” is (het kleinste element dat je tot nu toe gevonden hebt dat voldoet).
  2. Loop door de lijst.
  3. Werk je kandidaat bij wanneer je een beter (kleiner maar nog steeds > ondergrens) element vindt.

πŸ’‘ Denkvraag: waarom is het handig dat deze functie de lijst niet verandert?
(Hint: je kan ze meerdere keren gebruiken om een nieuwe, gesorteerde lijst op te bouwen.)