Programmeren met spreadsheets: verschil tussen versies

Uit Lab
Naar navigatie springen Naar zoeken springen
 
(9 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 1: Regel 1:
== Programmeren met spreadsheets ==
== Programmeren met spreadsheets ==


De meeste toepassingen worden geprogrammeerd met behulp van spreadsheets.
De meeste ICT-toepassingen worden gemaakt 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.
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.
Een groot voordeel is dat alle stappen in een berekening zichtbaar zijn, en dat je direct het resultaat van je aanpassingen ziet.
Regel 20: Regel 20:
=== Programma beschrijft proces ===
=== Programma beschrijft proces ===


Een programma beschrijft ook vaak een ''proces''.
Je kunt een programma ook zien als de beschrijving van een "proces" (of eigenlijk, van een klasse van processen).
Een proces speelt zich af in de tijd, en bestaat uit een reeks stappen die achtereenvolgens uitgevoerd worden door de processor.
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.
Deze processor kan een automaat zijn, zoals een computer, maar ook een mens.
Regel 30: Regel 30:
=== Beperkingen van spreadsheets ===
=== Beperkingen van spreadsheets ===


Spreadsheets zijn laagdrempelig - maar toch voor veel toepassingen niet het beste middel:
* spreadsheets zijn niet ''schaalbaar'' - noch voor grotere berekeningen, noch voor grotere hoeveelheden data.
* spreadsheets hebben geen mogelijkheden voor ''abstractie'' (zoals: procedures/functies, modules).
* fouten in spreadsheets zijn lastig te vinden;
* fouten in spreadsheets zijn lastig te vinden;
* spreadsheets zijn niet "schaalbaar" - noch voor grotere berekeningen, noch voor grotere hoeveelheden data.


== Onderwerpen ==
== Onderwerpen ==
Regel 38: Regel 41:
* [[/Voorbeeld: groeiprocessen]]
* [[/Voorbeeld: groeiprocessen]]
* [[/Voorbeeld: zoeken en sorteren]]
* [[/Voorbeeld: zoeken en sorteren]]
* [[/Voorbeeld: cellulaire automaten]]
* [[/Voorbeeld: eindige automaten]]
* [[/Voorbeeld: omzetten van decimaal naar binair]]
* [[/Voorbeeld: KGV en GGD]]
* [[/Data in tabellen]]
== Voorbeeld-spreadsheets ==
De spreadsheets met de voorbeelden zijn te vinden op:
* https://drive.google.com/drive/folders/1e1oS6IRqLHkR09tRGQWd-JUi9TbTzmvO?usp=sharing
De ODS (Open Office)- en Google Docs versies werken in elk geval.
De excel-versies zijn niet getest.

Huidige versie van 14 mrt 2019 om 13:14

Programmeren met spreadsheets

De meeste ICT-toepassingen worden gemaakt 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

Je kunt een programma ook zien als de beschrijving van een "proces" (of eigenlijk, van een klasse van processen). 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

Spreadsheets zijn laagdrempelig - maar toch voor veel toepassingen niet het beste middel:

  • spreadsheets zijn niet schaalbaar - noch voor grotere berekeningen, noch voor grotere hoeveelheden data.
  • spreadsheets hebben geen mogelijkheden voor abstractie (zoals: procedures/functies, modules).
  • fouten in spreadsheets zijn lastig te vinden;

Onderwerpen

Voorbeeld-spreadsheets

De spreadsheets met de voorbeelden zijn te vinden op:

De ODS (Open Office)- en Google Docs versies werken in elk geval. De excel-versies zijn niet getest.