Programmeren met spreadsheets: verschil tussen versies
Regel 38: | Regel 38: | ||
* [[/Voorbeeld: groeiprocessen]] | * [[/Voorbeeld: groeiprocessen]] | ||
* [[/Voorbeeld: zoeken en sorteren]] | * [[/Voorbeeld: zoeken en sorteren]] | ||
* [[/Voorbeeld: cellulaire automaten]] |
Versie van 11 mrt 2019 15:54
Programmeren met spreadsheets
De meeste toepassingen worden geprogrammeerd met behulp van spreadsheets. De drempel voor het maken van een eenvoudige spreadsheet is erg laag: binnen enkele minuten heb je al je eerste resultaat. Een groot voordeel is dat alle stappen in een berekening zichtbaar zijn, en dat je direct het resultaat van je aanpassingen ziet. Bovendien is het rekenmodel van spreadsheets eenvoudig: in de wereld van programmeertalen zou je dit een eenvoudige functionele taal kunnen noemen.
Aan de hand van verschillende voorbeelden leggen we een aantal principes van programmeren uit.
We kunnen op twee manieren kijken naar een programma:
Programma beschrijft berekening
Een programma beschrijft een berekening. Vaak is dit een samengestelde berekening, met tussenresultaten.
In dit geval zijn we vooral geïnteresseerd in het resultaat van de berekening. De precieze volgorde van de stappen om tot het resultaat te komen is daarbij niet van belang.
Programma beschrijft proces
Een programma beschrijft ook vaak een proces. Een proces speelt zich af in de tijd, en bestaat uit een reeks stappen die achtereenvolgens uitgevoerd worden door de processor. Deze processor kan een automaat zijn, zoals een computer, maar ook een mens. Het programma beschrijft steeds wat de volgende stap is, op basis van het programma (de beschrijving van het proces), de toestand van het proces, en de invoer. De toestand van een proces omvat de positie in het programma en een reeks variabelen met tussenresultaten.
Deze begrippen werken we in de voorbeelden verder uit.
Beperkingen van spreadsheets
- fouten in spreadsheets zijn lastig te vinden;
- spreadsheets zijn niet "schaalbaar" - noch voor grotere berekeningen, noch voor grotere hoeveelheden data.