Algorithmus

Algorithmus, Rechenprozedur, Lösung einer Rechenaufgabe durch wiederholte Anwendung einer Rechenoperation
Algorithmus < lat. algorismus Zahlensystem < arab. al-Khowarazmi, wörtlich: der aus Khwaram (Khiva) Stammende, und zwar Muhammad ibn Musa al-Khowarazmi (* ca. 783; † ca. 850), ein persischer Mathematiker, dessen arabisch geschriebenes Lehrbuch Über das Rechnen mit indischen Ziffern, geschrieben um 825, in der lateinischen Übersetzung mit den Worten "Dixit Algorismi" (="Al-Khowarazmi sprach") beginnt.
Computer ("Zusammenrechner") < lat. com zusammen + putare berechnen, beschneiden
"Computer sind unnütz, sie können nur Antworten geben." (Pablo Picasso)

Ein Algorithmus ist eine eindeutige Beschreibung eines endlichen Verfahrens zur Lösung einer bestimmten Klasse von Problemen. Jedes Problem, dessen Lösung durch einen Algorithmus beschrieben werden kann, ist prinzipiell durch den Computer lösbar. Aus dieser Aussage können Sie zwei Schlüsse ziehen:

1.Ein Computer ist ein Werkzeug, welches ihnen bei der Lösung bestimmter Problem hilft.
2.Ein Algorithmus ist eine Art Anleitung oder Vorschrift, wie zu einem Problem eine Lösung gefunden werden kann.

Grundprinzip eines Algorithmus

Ein Algorithmus basiert auf zwei Grundelementen, der (Rechen-)Anweisung und dem bedingten Sprung. Ein bedingter Sprung zeigt an, an welcher Stelle im Algorithmus fortgefahren werden soll, wenn eine bestimmte Bedingung erfüllt ist (z.B. die, dass zwei Werte gleich sein müssen), und an welcher fortgefahren werden soll, wenn diese Bedingung nicht erfüllt ist (wenn im Beispiel also die Werte nicht gleich sind).

Definition des Algorithmus

Ein Algorithmus ist eine Menge von Regeln für ein Verfahren, um aus gewissen Eingabegrössen bestimme Ausgabegrössen herzuleiten. Dabei müssen folgende Bedingungen erfüllt sein:

  1. Das Verfahren muss in einem endlichen Text beschreibbar sein
  2. Jeder Schritt des Verfahrens muss auch tatsächlich ausführbar sein
  3. Der Ablauf des Verfahrens ist zu jedem Zeitpunkt eindeutig definiert
  4. Das Verfahren muss in endlich vielen Schritten zum Ende gelangen

Beispiel für einen einfachen Algorithmus namens "Zusammenzählen zweier Zahlen"

MODUL Addition
Input: natürliche Zahlen x,y
Zuweisung z:=x;
Solange (y>0) tue
z:=z+1;
y:=y-1;
Output: z
ENDMODUL

 

 

Beispiel: Der klassische Algorithmus

Der Euklidische Algorithmus ist ein Verfahren zur Bestimmung des größten gemeinsamen Teilers (ggT) zweier natürlicher Zahlen a und b. Es ist der älteste bekannte Algorithmus der Welt, benannt nach dem griechischen Mathematiker Euklid, der ihn um 300 vor Christus in seinem Werk Die Elemente angegeben hat. Das Verfahren war jedoch schon früher bekannt. Euklid nannte es antenaresis.

Das Prinzip des Euklidischen Algorithmus wird auch gegenseitige Wechselwegnahme genannt. Eingangsgrößen sind zwei natürliche Zahlen a und b. Bei der Berechnung verfährt man nach Euklid wie folgt:

1.setze m = a; n = b
2.
ist m < n, so vertausche m und n
3.berechne r = m - n
4.setze m = n, n = r
5.ist r ≠ 0 fahre fort mit Schritt 2

Nach Ablauf des Verfahrens hat man mit m den ggT von a und b gefunden.

Der Euklidische Algorithmus als Applet class Datei (damit lassen sich auf einer html-Webseite größte gemeinsame Teiler errechnen)

 

public class ggT {
public static int ggT3(int x, int y) {
int ggt2=1;
if ((x<=0)|(y<=0)) {
System.out.println(" Die Zahlen x,y müssen größer als 0 sein.");
ggt2=0;
}
else{
if (x!=y) {
if (x>y) return ggT3(y,x);
else return ggT3(x,y-x);
}
else ggt2=x;
}
return ggt2;
}
}
public static int ggt4 ( int x, int y){
int ggt5=1,z;
if ((x<=0)|(y<=0)) {
System.out.println(" Die Zahlen x,y müssen größer als 0 sein.");
ggt5=0;
}
else{
while (x!=y){
if (x>y){
z=x;
x=y;
y=z;
}
else{
y=y-x;
}
}
if (x==y) ggt5=x;
}
return ggt5;
}
public static void main (String args[]) {
int x=32,y=6;
System.out.println(" Der größte gemeinsame Teiler von "+x+" und "+y+" ist "+ggT3(x,y));
}
}

Alle Beispiele aus dem Internet
 

Links und Quellen

Programmablauf (Ablaufdiagramm) http://de.wikipedia.org/wiki/Programmablaufplan
Definition, Struktogramm, Programmablaufplan (PAP) http://schulen.freiepresse.de/gymnasiumolbernhau/informatik/algorithmen.htm
 

Zurück zur vorigen Seite