Denden87 Geschrieben 11. September 2015 Geschrieben 11. September 2015 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 ? Zitieren
carstenj Geschrieben 11. September 2015 Geschrieben 11. September 2015 Hi, was wäre denn wenn du z.B. 1 als Zahl eingibst? Zitieren
Mttkrb Geschrieben 11. September 2015 Geschrieben 11. September 2015 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 Zitieren
Denden87 Geschrieben 11. September 2015 Autor Geschrieben 11. September 2015 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. Zitieren
mfk'); DROP TABLE Users;-- Geschrieben 11. September 2015 Geschrieben 11. September 2015 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. Zitieren
Denden87 Geschrieben 11. September 2015 Autor Geschrieben 11. September 2015 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. :-/ Zitieren
mfk'); DROP TABLE Users;-- Geschrieben 11. September 2015 Geschrieben 11. September 2015 Man könnte argumentieren, dass Schritt 2 erheblich komplexer als die übrigen Schritte ist, und vielleicht in einfachere Schritte zerlegt werden sollte. Zitieren
Radinator Geschrieben 14. September 2015 Geschrieben 14. September 2015 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 Zitieren
Denden87 Geschrieben 17. September 2015 Autor Geschrieben 17. September 2015 Vielen Dank für die Antworten Jetzt habe ich es auch verstanden aufjedenfall Zitieren
zwugel Geschrieben 17. September 2015 Geschrieben 17. September 2015 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. Zitieren
Crash2001 Geschrieben 17. September 2015 Geschrieben 17. September 2015 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. Zitieren
mfk'); DROP TABLE Users;-- Geschrieben 17. September 2015 Geschrieben 17. September 2015 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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.