Um ein beliebiges Problem zu lösen, muß ein Programm:
Daten von irgendwoher erhalten - Eingabe
Platz zur Speicherung dieser Daten zur Verfügung stellen - Variablen/Datentypen
Anweisungen zur Bearbeitung der Daten enthalten
- Operationen (Zuweisung, Kombination, Vergleich)
- bedingte Ausführung
- Schleifen
- Unterprogramme
Die Ergebnisse der Bearbeitung an den Benutzer ausgeben - Ausgabe