---
# System prepended metadata

title: Programma schrijven
tags: [algoritmisch denken]

---

---
tags: algoritmisch denken
---

:::success
**Wat moet je kennen en kunnen na dit deel?**
:heavy_check_mark: Weten dat een programma een vertaling is van een algoritme voor een computer.
:heavy_check_mark: Weten dat deze vertaling gebeurt aan de hand van een programmeertaal of computertaal.
:::

# Programma schrijven

Nadat je hebt bepaald welke stappen er moeten worden uitgevoerd om van je probleem tot je doel te komen kan je dit automatiseren door een computer het algoritme te laten uitvoeren.

Maar zoals gezegd in het deel "Wat is een programma?" kunnen we niet gewoon ons algoritme aan de computer geven.
Het algoritme moet eerst worden omgezet in een taal die de computer verstaat. Een programmeertaal, of *code*.

Met deze code beschrijven we elke stap in het algoritme.

Een algoritme is dus zo neergeschreven dat mensen het kunnen verstaan, en een programma is datzelfde algoritme vertaald naar een computertaal zodat een computer dat kan verstaan.

## Lego voorbeeld
<iframe width="100%" height="400" src="https://www.youtube.com/embed/Bn0Jg326drw?start=47&end=71" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Voor deze robot is een speciaal programma geschreven gebaseerd op een algoritme om een lego torentje te bouwen.

### Voorbeeld algoritme & code
Een voorbeeld van het algoritme en de code zou dit kunnen zijn:

<img src="https://i.imgur.com/nbvpSRV.png" style="border: 2px solid #000">

> **Opgelet!** Dit is geen echt algoritme en geen echte code, het is maar een voorbeeld om aan te tonen hoe verschillend deze 2 er kunnen uitzien.
Het programma is geschreven in de programmeertaal Python.
