Kann man folgendes als Algorithmus bezeichnen ?
-
Wenn jmd. folgendes verlangt : Ein Programm soll x und y lesen, beide
miteinander addieren und als Ergebnis ausgeben......kann ich dann folgendes zeigen und es als Algorithmus bezeichnen ?
(Es ist zwar Vereinfacht geschrieben, aber in C++ realisiert darf ich es
doch als Algorithmus bezeichnen ?)x = 0; y = 0; z = 0; Eingabe -> Lesen (x); Eingabe -> Lesen (y); z = Addieren (x + y); Ausgabe (z);
Ich hoffe ihr versteht mich
-
Ja, ist einer.
Das muß aber nicht heißen, daß ein Lehrer darauf einen Punkt gibt.
-
Ja, das ist ein Algorithmus.
-
volkard schrieb:
Ja, ist einer.
Das muß aber nicht heißen, daß ein Lehrer darauf einen Punkt gibt.vielen dank für deine antwort
nee ist schon klar, wird eh nicht benotet. mir ging es ja nur um die
Bezeichnung, hört sich irgendwie cool anNoch ein Frage:
Also Algorithmen sind doch eigentlich nichts anderes als "Formeln" (wie wir
es aus der Mathematik/Physik kennen) oder ?
-
bäd_marvin schrieb:
Noch ein Frage:
Also Algorithmen sind doch eigentlich nichts anderes als "Formeln" (wie wir
es aus der Mathematik/Physik kennen) oder ?Nicht wirklich. Was ein Algorithmus kannst du auf Wikipedia - Algorithmus nachlesen.
-
icarus2 schrieb:
bäd_marvin schrieb:
Noch ein Frage:
Also Algorithmen sind doch eigentlich nichts anderes als "Formeln" (wie wir
es aus der Mathematik/Physik kennen) oder ?Nicht wirklich. Was ein Algorithmus kannst du auf Wikipedia - Algorithmus nachlesen.
Danke^^
Also inet eine schöne Erklärungen gefunden:
Algorithmus:
Unter einem Algorithmus versteht man allgemein eine genau definierte
Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art
von Problemen in endlich vielen Schritten.
(Hört sich ja fast nach einer Formel an ?!?!^^)
-
Dann press mal dein Algorithmus in eine Formel.
-
Zeus schrieb:
Dann press mal dein Algorithmus in eine Formel.
*kopfschüttel*
jetzt verstehe ich das. Formeln sind doch einfach nur da um gegebenheiten
in Mathematik oder Physik zu bezeichnen/definieren.Mein Algorithmus z=x+y ist damit keine Formel, richtig?
-
bäd_marvin schrieb:
Zeus schrieb:
Dann press mal dein Algorithmus in eine Formel.
*kopfschüttel*
jetzt verstehe ich das. Formeln sind doch einfach nur da um gegebenheiten
in Mathematik oder Physik zu bezeichnen/definieren.Mein Algorithmus z=x+y ist damit keine Formel, richtig?
Das ist doch nur ein Teil deines Algorithmus.
-
Steffo schrieb:
bäd_marvin schrieb:
Zeus schrieb:
Dann press mal dein Algorithmus in eine Formel.
*kopfschüttel*
jetzt verstehe ich das. Formeln sind doch einfach nur da um gegebenheiten
in Mathematik oder Physik zu bezeichnen/definieren.Mein Algorithmus z=x+y ist damit keine Formel, richtig?
Das ist doch nur ein Teil deines Algorithmus.
Und damit sollte mir langsam klar sein, was ein Algorithmus ist
Thx an alle und gudde night
-
Ein Algorithmus ist eine Struktur (allg.), die Daten auf eine bestimmte Art und Weise verarbeitet.
-
Man lese den 1. Satz von
http://de.wikipedia.org/wiki/AlgorithmusViel einfacher und klarer kann man es nicht erklären.
Das im ersten Beitrag Gezeigte ist daher IMO kein Algorithmus, da nicht eindeutig (es ist nicht beschrieben was "Eingabe -> Lesen()", "Addieren()" etc. bedeuten).
Wenn man darüber hinwegsieht könnte man es aber vermutlich als Algorithmus bezeichnen.Genau so wie "RET" in vielen Assembler-Dialekten ein vollständiges, gültiges Programm ist
-
Unser Prof hat immer gesagt, dass ein Algorithmus wie ein Kochrezept ist.
-
Drawer schrieb:
Unser Prof hat immer gesagt, dass ein Algorithmus wie ein Kochrezept ist.
Ja und Nein. Im Prinzip stimmt das schon aber Kochrezepte sind meistens viel zu ungenau als dass man es als Algorithmus bezeichnen kann.
*Edit
Mein Prof hat dafuer sogar extra in der Vorlesung gekocht um das zu veranschaulichen. War ne graessliche Vorlesung... ^^
-
LOL
Hat er alles falsch interpretiert, was man nur falsch interpretieren konnte?
-
Man könnte noch die 4 - bzw. 5 - Eigenschaften erwähnen, die ein Algorithmus enthalten sollte:
- Allgemeingültigkeit
- Eindeutigkeit
- Endlichkeit
- Ausführbarkeit
- (Effiziens)
-
icarus2 schrieb:
Drawer schrieb:
Unser Prof hat immer gesagt, dass ein Algorithmus wie ein Kochrezept ist.
Ja und Nein. Im Prinzip stimmt das schon aber Kochrezepte sind meistens viel zu ungenau als dass man es als Algorithmus bezeichnen kann.
Aber VIEL genauer, als die meisten sonst so im Alltag vorkommende Arbeitsanweisungen. Das Beispiel ist gut.
-
FreakY<3Cpp schrieb:
Man könnte noch die 4 - bzw. 5 - Eigenschaften erwähnen, die ein Algorithmus enthalten sollte:
- Allgemeingültigkeit
- Eindeutigkeit
- Endlichkeit
- Ausführbarkeit
- (Effiziens)
Endlichkeit? Ausführbarkeit? Ich hab mich nie mit einer formalen Definition des Wortes "Algorithmus" beschäftigt, aber das würde dann Dinge wie aufzählende Turingmaschinen (Endlichkeit) oder allgemein Turingmaschinen (praktische Ausführbarkeit) verbieten. Und was verstehst du unter Allgemeindeutigkeit? Effizienz ist auf jeden Fall nicht nötig für einen Algorithmus.
-
@Drawer
Im Rezept stand, dass man die Pfanne 30 Minuten auf den Herd stellen muss aber nicht, dass man den Herd auch einschalten muss. ^^
Wie gesagt. Die Vorlesung war schlimm.@volkard
Ich sage nicht, dass das Beispiel schlecht ist. Ich finde es gut und wird auch in vielen Buechern verwendet. Mann muss dann halt nur sagen, dass ein Kochrezept oftmals zu ungenau ist fuer einen Computer.
-
Mit Endlichkeit meine ich, dass der Algorithmus in endlich vielen Anweisungen beschreibbar und in endlicher Zeit eine Ausgabe erzeugen muss. Die Erklärung für Ausführbarkeit klingt wohl etwas "schwachsinnig", aber man versteht darunter, dass es ein Prozessor(Maschine) oder Mensch existieren muss, der den Algorithmus durchführen kann und für diesen jede einzelne Anweisung verständlich ist. Und mit Allgemeingültigkeit ist gemeint, dass der Algorithmus für eine Anzahl gleichartiger Probleme anwendbar sein sollte. Effiziens ist extra in klammern geschrieben, da es kein notwendiges Kriterium ist.
Hier kann man die Eigenschaften nochmal nachlesen, nur mit anderen Begriffen.
-
FreakY<3Cpp schrieb:
Mit Endlichkeit meine ich, dass der Algorithmus in endlich vielen Anweisungen beschreibbar und in endlicher Zeit eine Ausgabe erzeugen muss.
Eine Ausgabe erzeugen muss oder terminieren muss? Mit letzterem wäre ich nicht einverstanden, siehe z.B. Turingmaschinen, die Sprachen aufzählen.
Die Erklärung für Ausführbarkeit klingt wohl etwas "schwachsinnig", aber man versteht darunter, dass es ein Prozessor(Maschine) oder Mensch existieren muss, der den Algorithmus durchführen kann und für diesen jede einzelne Anweisung verständlich ist.
Zählen auch Gedankenexperimente? Denn Turingmaschinen kann man nicht bauen.