Warum ist die Codefrage in der Theorie kein Algorithmus in python aber schon?

2 Antworten

Weil es in der Theorie eine Endlosschleife ist. ergebnis kommt der 0 zwar immer näher, wird aber nie 0 sein. Folglich endet die Schleife nie und daher ist das - nach Definition deines Lehrers - kein Algorithmus.

In Python (und anderen Programmiersprachen) wird ergebnis jedoch mal 0 sein, da Kommazahlen nicht unendlich genau dargestellt werden können. Folglich ist es dort keine Endlosschleife und somit ein Algorithmus, da das Programm in endlicher Zeit fertig wird.

Es gibt aber auch Definitionen von "Algorithmus", die keine endliche Ausführungs-Dauer voraussetzen. https://en.wikipedia.org/w/index.php?title=Algorithm_characterizations&oldid=682048080

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

xNeozey 
Beitragsersteller
 01.11.2022, 19:44

Danke sehr hilfreich

2

"In echt" kannst du eine Zahl beliebig oft durch null teilen. Computer, und damit auch Python, können Gleitkommazahlen aber nur mit einer begrenzten Präzision berechnen (hat mit dem Binärsystem zu tun und wäre wohl "zu ausführlich"). Durch die mangelnde Präzision wird Python daher irgendwann zum Ergebnis null kommen, da die eigentlichen Nachkommastellen nicht mehr berücksichtigt werden.

Und ein Algorithmus ist immer endlich. Endet er nicht, ist es kein Algorithmus.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung

MrAmazing2  01.11.2022, 19:34
Und ein Algorithmus ist immer endlich. Endet er nicht, ist es kein Algorithmus.

Kommt drauf an, wessen Definition man folgt.

0