Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 ?

  • 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.

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

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.

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.