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 ?
carstenj Geschrieben 11. September 2015 Geschrieben 11. September 2015 Hi, was wäre denn wenn du z.B. 1 als Zahl eingibst?
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
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.
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.
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. :-/
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.
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
Denden87 Geschrieben 17. September 2015 Autor Geschrieben 17. September 2015 Vielen Dank für die Antworten Jetzt habe ich es auch verstanden aufjedenfall
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.
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.
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden