Programma's zonder en met invoer
Programma's zonder invoer
Als een draaiorgel een orgelboek afspeelt, komt daar verder geen invoer aan te pas. Dit betekent ook dat het resultaat met hetzelfde orgel ook altijd precies gelijk is. Het draaiorgel is programmeerbaar - met een ander programma krijg je een ander resultaat.
Andere voorbeelden van programma's die gebruikt worden om een apparaat te besturen:
- het Jaquard weefgetouw: het programma, op een stel ponskaarten, beschrijft het patroon dat geweven moet worden. Dit is een ingenieus systeem: het is één van de voorlopers van de huidige computers.
- dansende robot: je kunt ee robot een dans laten uitvoeren, je beschrijft dan precies welke danspassen de robot uit moet voeren; de robot reageert niet op de muziek, of op andere invoer, maar voert precies het dansprogramma uit.
- verfrobot: sommige robots kunnen hun acties uitvoeren zonder invoer: ze maken altijd precies dezelfde bewegingen, hoe de omgeving er ook uitziet. Voor het beste resultaat probeer je dan de omgeving zo precies mogelijk gelijk te houden.
Programma's met invoer
De voorbeelden die we hiervoor gezien hebben geven bij hetzelfde programma altijd hetzelfde resultaat. Dit beperkt de bruikbaarheid. Door een programma ook invoer te laten verwerken krijgen we veel meer praktische mogelijkheden. Eenzelfde programma kan dan resulteren in totaal verschillende processen en resultaten.
Een zakrekenmachine is een voorbeeld van een processor met een vast programma dat reageert op invoer: de getallen en opdrachten die je via het toetsenbord invoert.
Bij de meeste computerprogramma's is er sprake van invoer. Het proces (de uitvoering van het programma) wordt dan bepaald door het programma en door de waarden in de invoer (data). Deze data kan uit verschillende bronnen afkomstig zijn: bijvoorbeeld van de gebruiker, maar ook uit een bestand of uit een database.
Neem als voorbeeld een tekstverwerkingsprogramma: in dit geval heb je te maken met het tekstbestand dan bewerkt wordt, en met de interactieve invoer van de gebruiker. Mogelijk kun je ook nog allerlei voorkeursinstellingen aangeven die in een apart bestand bewaard worden. Dit zijn allemaal voorbeelden van data die gebruikt worden bij de uitvoering van het programma.
Als een programma anders reageert dan je gewend bent, hoeft dat niet aan het programma te liggen: het programma kan andere invoer gebruiken, bijvoorbeeld een bestand met voorkeursinstellingen, waardoor het gedrag verandert.