Skip to main content

Logica

Booleaanse logica is een eenvoudig wiskundig systeem dat twee waarden kent:

  • waar
  • onwaar

Logische blokken in ROBO Pro Coding zijn er normaal gesproken voor om voorwaarden en loops te controleren.

Hier een voorbeeld:

Bild1_n.PNG

Wanneer de waarde van de variabele x groter is dan 100, is de voorwaarde waar en verschijnt de tekst "Wat een hoog cijfer!". Wanneer de waarde van x niet groter is dans 100, is de voorwaarde onwaar en verschijnt de melding "Dat is niet erg hoog.". Booleaanse waarden kunnen ook in variabelen worden opgeslagen en aan functies worden doorgegeven, net als getallen, tekst en lijstwaarden.

Blokken

Wanneer een blok een Booleaanse waarde verwacht, wordt een ontbrekende invoer als onwaar geïnterpreteerd. Waarden die niet Booleaans zijn kunnen niet rechtstreeks daar worden ingevoerd waar Booleaanse waarden worden verwacht. Het is echter wel mogelijk (maar niet raadzaam) om een waarde die niet Booleaans is in een variabele op te slaan en deze dan in de voorwaardeninvoer in te voegen. Deze methode wordt niet aanbevolen en het gedrag kan in toekomstige versies van ROBO Pro Coding veranderen.

Waarden

Een afzonderlijk blok met een dropdown-lijst, die of waar of onwaar aangeeft, kan worden gebruikt om een Booleaanse waarde op te vragen:

Vergelijkingsoperatoren

Er zijn zes vergelijkingsoperatoren. Aan iedere vergelijkingsoperator worden twee invoeren (normaal gesproken twee getallen) overgedragen en de vergelijkingsoperator retourneert de melding waar of onwaar, afhankelijk hoe de invoeren met elkaar worden vergeleken.

image-1623518116706.pngimage-1623518117182.png

image-1623518116894.pngimage-1623518116802.png

image-1623518116985.pngimage-1623518166030.png

De zes operatoren zijn: gelijk aan, niet gelijk aan, kleiner dan, groter dan, kleiner dan of gelijk aan, groter dan of gelijk aan.

Logische operatoren

Het en-blok retourneert dan en alleen dan de melding waar, wanneer zijn beide ingangswaarden waar zijn.

Bild8.PNG

Het of-blok retourneert de melding waar, wanneer minimaal een van zijn beide ingangswaarden waar is.

Bild9.PNG

niet

Het niet-blok zet zijn Booleaanse invoer om in het tegendeel. Bijvoorbeeld is het resultaat van:

Bild10_n.PNG

onwaar

Wanneer niets wordt ingevoerd wordt de waarde waar aangenomen, zodat het volgende blok de waarde onwaar oplevert:

Bild11_n.PNG

Er wordt echter niet geadviseerd om niets in te voeren.

trio-operator

De trio-operator gedraagt zich als een miniatuur-wanneer-anders-blok. Hij neemt drie ingangswaarden op, waarbij de eerste ingangswaarde de te testen Booleaanse voorwaarde is, de tweede ingangswaarde de waarde die geretourneerd moet worden, wanneer de test als waar wordt gezien en de derde ingangswaarde is de waarde die moet worden geretourneerd wanneer de test als onwaar wordt gezien. In het onderstaande voorbeeld wordt de variabele kleur op rood gezet, wanneer de variabele x minder is dan 10, in het andere geval wordt de variabele kleur op groen gezet.

Bild12_n.PNG

Een trioblok kan altijd door een wanneer-anders-blok worden vervangen. De onderstaande twee voorbeelden zijn precies gelijk.

Bild13_n.PNG   

Bild14_n.PNG

 

 

Voorwaardelijke aanwijzingen zijn het belangrijkst voor de programmering. Ze maken het mogelijk om de verschillen tussen gevallen te formuleren zoals:

  • Wanneer er een weg naar links is, moet je links afbuigen.
  • Wanneer het aantal punten = 100, druk "Goed gedaan!” in.

Blokken

wanneer-blokken

De meest eenvoudige voorwaarde is een wanneer-blok:

image-1623517867641.png

Wanneer dit wordt uitgevoerd, wordt de waarde van de variabele x met 100 vergeleken. Wanneer deze groter is wordt "Wat een hoog cijfer!" uitgegeven. In het andere geval gebeurt er niets.

wanneer-anders-blokken

Ook is het mogelijk om aan te geven dat er iets moet gebeuren wanneer de voorwaarde niet waar is, zoals in dit voorbeeld:

image-1623517882587.png

Net als bij het voorgaande blok verschijnt de melding "Wat een hoog cijfer!", wanneer x > 100 is. In het andere geval verschijnt de melding "Dat is niet erg hoog.".

Een wanneer-blok kan een anders-segment hebben, maar niet meer dan een.????????????????????

wanneer-anders-wanneer-blokken

Ook is het mogelijke om meerdere voorwaarden met een enkel wanneer-blok te testen wanneer anders-wanneer-clausules worden toegevoegd:

image-1623517913101.png

Eerst controleert het blok of x > 100 is en geeft de melding "Wat een hoog cijfer!", indien dat het geval is. Wanneer dat niet het geval is controleert deze verder of x = 42 is. Zo ja, dan verschijnt de melding "Dat is mijn geluksgetal!". In het andere geval gebeurt er niets.

Een wanneer-blok kan een willekeurig aantal anders-wanneer-segmenten hebben. De voorwaarden worden van boven naar onderen toe geanalyseerd, tot aan een voorwaarde is voldaan of er geen voorwaarde meer over is.

wanneer-anders-wanneer-anders-blokken

wanneer-blokken kunnen zowel anders-wanneer als ook anders-segmenten hebben:

image-1623517925344.png

Het anders-segment garandeert dat een actie wordt uitgevoerd, ook wanneer geen van de voorgaande voorwaarden waar is.

Een anders-segment kan na een willekeurig aantal van anders-wanneer-segmenten optreden, inclusief nul, dan krijg je een heel normaal wanneer-anders-blok.

Blokmodificatie

In de gereedschapsbalk verschijnt alleen het enkelvoudige wanneer-blok en het wanneer-anders-blok:

image-1638372839221.png

Je moet op (+)-symbool klikken om anders-wanneer- en anders-clausules toe te voegen. Met het (-)-symbool kunnen anders-wanneer-clausules weer worden verwijderd:

image-1638373059561.png

Let erop dat de vormen van de blokken het toevoegen van een willekeurig aantal anders-wanneer-subblokken mogelijk maken, echter slechts een wanneer-blok.