Samengestelde toewijzingsoperatoren

Omschrijving
In Arduino C++ zijn operators speciale tekens die je helpen bij taken zoals rekenen en vergelijken. Je hebt rekenkundige operators zoals ‘+’, ‘-‘, ‘*’, en ‘/’ voor wiskundige berekeningen. Vergelijkingsoperators zoals ‘==’, ‘!=’, ‘>’, en ‘<‘ controleren of waarden gelijk zijn of hoe ze zich tot elkaar verhouden. Logische operators zoals ‘!’, ‘&&’, en ‘||’ voeren logische bewerkingen uit. Met deze operators wordt het makkelijker om berekeningen en vergelijkingen in je code uit te voeren, zodat je programma precies doet wat je wilt. Hier bekijken we de samengestelde toewijzingsoperatoren. Deze zijn vergelijkbaar met de rekenkundige operators, maar compacter. Er zijn er 10, maar we gaan er voor nu 7 bekijken.

Samengestelde toewijzingsoperatoren zijn speciale tekens in programmeertalen die je helpen om snel en efficiënt wiskundige bewerkingen uit te voeren en de resultaten op te slaan in variabelen.

  1. += (samengestelde optelling):
    • Voegt een waarde toe aan een variabele en slaat het resultaat op in dezelfde variabele.
    • Voorbeeld:
      Als x gelijk is aan 10 en je schrijft x += 5, dan wordt x nu 15.
      De lange versie zou zijn: x = x + 5
  2. -= (samengestelde aftrekking):
    • Trekt een waarde af van een variabele en slaat het resultaat op in dezelfde variabele.
    • Voorbeeld:
      Als y gelijk is aan 20 en je schrijft y -= 4, dan wordt y nu 16.
      De lange versie zou zijn: x = x – 4
  3. *= (samengestelde vermenigvuldiging):
    • Vermenigvuldigt een variabele met een waarde en slaat het resultaat op in dezelfde variabele.
    • Voorbeeld:
      Als z gelijk is aan 3 en je schrijft z *= 2, dan wordt z nu 6.
      De lange versie zou zijn: z = z * 6
  4. /= (samengestelde deling):
    • Deelt een variabele door een waarde en slaat het resultaat op in dezelfde variabele.
      Als de resultaat variabele (a) een int is, gaat een deel verloren. Alleen het gedeelte van het gehele deel van het getal wordt opgeslagen.
    • Voorbeeld:
      • Als a een integer is, dus int a = 14.
        Als a gelijk is aan 14 en je schrijft a /= 4, dan wordt a nu 3.
        De lange versie zou zijn: a = a / 4
      • Als a een float is, dus float a =14.
        Als a gelijk is aan 14 en je schrijft a /= 4, dan wordt a nu 3,5.
        De lange versie zou zijn: a = a / 4
  5. %= (samengestelde modulo):
    • Berekent de rest van de deling uit, van een variabele die gedeeld wordt door een waarde en slaat het resultaat op in dezelfde variabele.
    • Voorbeeld:
      Als b gelijk is aan 7 en je schrijft b %= 3, dan wordt b nu 1.
      3 zit 2 keer in 7 (dit is 6), dus houd je 1 over (dit is de rest).
      De lange versie zou zijn: b = b % 3
  6. — (decrement):
    • Verlaagt de waarde van een variabele met 1.
    • Voorbeeld:
      Als count gelijk is aan 5 en je schrijft count--, dan wordt count nu 4.
      De lange versie zou zijn: count = count – 1
  7. ++ (increment):
    • Verhoogt de waarde van een variabele met 1.
    • Voorbeeld:
      Als score gelijk is aan 8 en je schrijft score++, dan wordt score nu 9.
      De lange versie zou zijn: score = score +1

Wat is pre-increment/post-increment en pre-decrement/post-decrement:

Pre-increment en post-increment, evenals pre-decrement en post-decrement, zijn manieren om een getal in programmeertalen zoals C++ te verhogen (incrementeren) of te verlagen (decrementeren). Bij pre-increment wordt het getal eerst verhoogd voordat het in een berekening wordt gebruikt, bijvoorbeeld ++x. Bij post-increment wordt het getal eerst gebruikt in een berekening en daarna verhoogd, bijvoorbeeld x++. Hetzelfde geldt voor pre-decrement (--x) en post-decrement (x--), waarbij --x eerst verlaagt en dan gebruikt, en x-- eerst gebruikt en dan verlaagt. Deze operatoren zijn handig bij het tellen of bij lussen in programma’s.

  • Pre-increment (++) en pre-decrement (–): Eerst wordt de waarde van de variabele verhoogd of verlaagd, en daarna wordt deze nieuwe waarde gebruikt in de rest van de uitdrukking. Voorbeeld:
  int x = 5;
  int result = ++x; // result wordt 6, x wordt 6
  • Post-increment (++) en post-decrement (–): Eerst wordt de huidige waarde van de variabele gebruikt in de rest van de uitdrukking, en daarna wordt de waarde van de variabele verhoogd of verlaagd. Voorbeeld:
  int y = 5;
  int result = y++; // result wordt 5, y wordt 6

Deze operatoren zijn handig bij het schrijven van code omdat ze je helpen om sneller en efficiënter basis-wiskundige bewerkingen uit te voeren en variabelen te wijzigen.

Voorbeeld
Een veel gebruikte situatie de for-lus:

int ledPin = 13;  // Verbind de LED met pin 13

void setup() {
  pinMode(ledPin, OUTPUT);  // Stel de LED-pin in als uitgang
}

void loop() {
  for (int i = 0; i < 15; i++) {
    digitalWrite(ledPin, HIGH);  // Zet de LED aan
    delay(500);                  // Wacht 500 milliseconden
    digitalWrite(ledPin, LOW);   // Zet de LED uit
    delay(500);                  // Wacht 500 milliseconden
  }
  
  // Als de loop is voltooid, wacht het programma 10 seconden en begint weer opnieuw op regel 7.
  delay(10000); // wacht 10 seconden
}

Hier gebruiken we het ‘++’ teken om x elke keer met 1 te verhogen.