Algorithmus

Ein Algorithmus ist eine Folge von Anweisungen zur Lösung eines Problems. 

Folgende Bedingungen müssen erfüllt sein:

Mit einem Computer sind nur solche Probleme lösbar, zu denen ein Algorithmus vorhanden ist. Ein Algorithmus, der in einer für den Computer verständlichen Sprache formuliert ist, ist ein Programm.

Computerprogramm

Ein Computerprogramm ist die Umsetzung eines Algorithmus in eine Form, die von einem Computer verarbeitet werden kann. Dieser Prozess wird als Implementierung bezeichnet.

Der Begriff Programm wird  für den in einer Programmiersprache verfassten Source (Quelltext) und auch für den von einem Computer ausführbaren Maschinencode verwendet. 

Struktogramm

Bei umfangreichen Programmen mit vielen Programmverzweigungen erweist sich ein Struktogramm als vorteilhaft. Es ist übersichtlicher. 

Beispiel: Lösen einer Quadratischen Gleichung

 Quelle: www.pohlig.de

Der Prozessor eines Computers kann nur Maschinenbefehle lesen (bestehend aus Binärcode 0/1). Programme, die nicht in Maschinensprache geschrieben sind, müssen erst in diese übersetzt werden.
Die Aufgabe des Übersetzens übernehmen eigens dafür entwickelte Programme, Interpreter oder Compiler genannt.

Interpreter Interpreter übersetzen (interpretieren) die Programme zeilenweise. Das Programm kann deshalb zur Laufzeit geändert werden. Die Befehle werden Zeile für Zeile in Maschinensprache übersetzt und vom Prozessor ausgeführt. Bei jedem Neustart des Programms muss dieses auch wieder neu interpretiert werden. Aus diesem Grund können keine Optimierungen vorgenommen werden, und die Programme laufen langsamer ab.
Compiler Ein Compiler übersetzt einen Programmtext vollständig in Maschinensprache und legt diesen in einer eigenständigen Programm-Datei ab. Während der Compilierung optimiert der Compiler die Programmgröße und -geschwindigkeit. Beim Neustart wird vom Prozessor direkt die Programmdatei abgearbeitet.
Dadurch laufen compilierte Programme 10 bis 20 mal schneller ab als zu interpretierende Programme.

Beispiele für Compiler-Sprachen: PASCAL, DELPHI, C++