Veröffentlicht 11. September 20159 j Hallo, ich bräuchte kurz eure Hilfe. Könnte jemand mir vllt die Frage beantworten? Ich lerne für einen Klausur und da soll so ein ähnliche Frage kommen. Ich wäre aufjedenfall sehr dankbar. Ich habe mir zwar die Eigenschaften angeguckt ( Terminierung usw. ) aber bin bei dieser Frage nicht so sicher.:confused: Betrachten Sie folgenden Algorithmus in Pseudocode. 1. Eingabe durch Benutzer : Zahl n 2. Wenn n ein Primzahl ist, dann gehe zu Schritt 1 (sonst weiter zu Schritt 3). 3. Ausgabe : n 4. Berechne n := n – 2 5. Wenn n ungleich 0 , dann gehe zu Schritt 3 (sonst weiter zu Schritt 6) 6. Programm Ende • Welche (2) Eigenschaften eines Algorithmus wurden hier verletzt ?
11. September 20159 j Hi, dann könnte man auch direkt Fragen was mit negativen Zahlen ist. :-) Welche Eigenschaften eines Algorithmus treffen hier denn deiner Meinung nach zu und welche nicht? Gruß Jogibaer0411
11. September 20159 j Autor Achso stimmt, wenn ich 1 eingebe oder Negative Zahlen, dann terminiert der Algorithmus nicht, also das Programm lässt sich nicht beenden und bricht nicht ab. Dann könnte ich noch dazu sagen, dass vllt der Algoritmus nicht Korrekt ist, quaso er erfühllt die seiner Entwichlung zugrunde liegende Spezifikation nicht, da der Algorithmus fehlerhaft ist. Sonst ist der Algoritmus ist aufjedenfall Eindeuting, man erkennt was zu tun ist und was die nächste Schritt ist.
11. September 20159 j Dann könnte ich noch dazu sagen, dass vllt der Algoritmus nicht Korrekt ist, quaso er erfühllt die seiner Entwichlung zugrunde liegende Spezifikation nicht, da der Algorithmus fehlerhaft ist.Hast du denn eine Spezifikation zu diesem Algorithmus? Gepostet hast du sie nicht. Vielleicht tut der Algorithmus genau das, was er soll.
11. September 20159 j Autor Nein habe ich nicht. Hmm dann ist Aussagee von mir falsch. Aber was 2tes fehlt mir irgendwie nichts ein, was da nicht stimmen könnte. :-/
11. September 20159 j Man könnte argumentieren, dass Schritt 2 erheblich komplexer als die übrigen Schritte ist, und vielleicht in einfachere Schritte zerlegt werden sollte.
14. September 20159 j Man könnte auch argumentieren, dass der Algo nicht lösbar/ausführbar ist, sofern eine Zahl eingegeben wird, die durch einen beliebigen/festgelegten Primzahlenbestimmungsalgorithmus (puhhh...langes Wort ;D) nicht als Primzahl bestimmt werden kann(600 stellge Zahlen). Ist zwar eine weit hergeholte Theorie...aber warum nicht? Ich mein bei Verschlüsselung(RSA z.B.) werden ja auch 600 und mehrstellige Primzahlen verwendet. Alternativ die Terminierung an sich(wie carstenj und Jogibaer0411 bereits erwähnt hat). Was ist, wenn man die 1 eingibt? 1 -> -1 -> -2 ->... endet nicht Eingabe von 0: 0 -> -2 -> -4 ->... endet auch nicht
17. September 20159 j Autor Vielen Dank für die Antworten Jetzt habe ich es auch verstanden aufjedenfall
17. September 20159 j Betrachten Sie folgenden Algorithmus in Pseudocode. 1. Eingabe durch Benutzer : Zahl n 2. Wenn n ein Primzahl ist, dann gehe zu Schritt 1 (sonst weiter zu Schritt 3). 3. Ausgabe : n 4. Berechne n := n – 2 5. Wenn n ungleich 0 , dann gehe zu Schritt 3 (sonst weiter zu Schritt 6) 6. Programm Ende • Welche (2) Eigenschaften eines Algorithmus wurden hier verletzt ? Vielleicht ist es nur ein Fehler, aber wenn ich nach dem Algorithmus gehe, dann kann ich so lange Zahlen eingeben, bis es keine Primzahl ist und diese dann ausgegeben wird. In Schritt 2 wird geprüft ob es eine Primzahl ist, wenn ja dann zu Schritt 1 also neue Zahl eingeben, wenn nein dann Ausgabe der Zahl. Schritt 4-6 werden nicht angesprochen.
17. September 20159 j Ich gehe mal davon aus, dass wenn es nicht anders angegeben ist, die Schritte nacheinander abgearbeitet werden. Ansonsten würde man von Punkt 1 ja schon niemals zu Punkt 2, von Punkt 3 nie zu Punkt 4 und von Punkt 4 nie zu Punkt 5 kommen.
17. September 20159 j Vielleicht ist es nur ein Fehler, aber wenn ich nach dem Algorithmus gehe, dann kann ich so lange Zahlen eingeben, bis es keine Primzahl ist und diese dann ausgegeben wird.Und vielleicht ist das genau das, was der Algorithmus tun soll. Wir können hier keine Logikfehler aufzählen, die auf Annahmen beruhen.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.