Triple-H Geschrieben 29. April 2011 Geschrieben 29. April 2011 Hallo zusammen, ich habe ein kleines Problemchen mit folgender Aufgabe (Aufgabe 6+7) Der folgende Algorithmus soll in einer Schleife die Zahl 10 hintereinander durch die Zahlen 10, 9, 8 usw. dividieren. Da eine Division durch 0 mathematisch nicht definiert ist, soll die letzte Division durch den Wert 1 erfolgen. Zahl1 = 10; Solange Zahl1 >=0 { Verringere Zahl1 um den Wert 1 Dividiere 10 durch Zahl 1 Gib das Ergebnis aus} Der Algorithmus weist einen groben und einen eher kleinen Fehler auf. Meiner Meinung nach muss erst mal die Zahl von 0 auf 1 gesetzt werden und die geschwungene Klammer ein Absatz nach unten, oder?!?! Können Sie beide Fehler in dem Algorithmus mit einem C1-Test feststellen? Begründen Sie bitte die Antwort. Da habe ich keinen blassen Schimmer. Wäre toll, wenn mir hier jemand helfen könnte!!! Viele Grüße Triple-H
a3quit4s Geschrieben 29. April 2011 Geschrieben 29. April 2011 Ich gebe dir einen Tipp: Die Klammer ist keiner der Fehler, wo die steht ist voellig egal. Der folgende Algorithmus soll in einer Schleife die Zahl 10 hintereinander durch die Zahlen 10, 9, 8 usw. dividieren Denk mal drueber nach was innerhalb der Schleife passiert.
Klotzkopp Geschrieben 29. April 2011 Geschrieben 29. April 2011 C1-TestWas soll das sein? Meinst du vielleicht CI?
Bjarki Geschrieben 29. April 2011 Geschrieben 29. April 2011 Was soll das sein? Meinst du vielleicht CI? und was ist ein CI Test?
Torsten Hündling Geschrieben 29. April 2011 Geschrieben 29. April 2011 Hallo, ich rate mal einfach, dass durch ein Leerzeichen mehr oder weniger die Semantik des Programms ziemlich unterschiedlich sein kann. Damit ergibt sich dann der Unterschied von einer Variablen zu einer Konstanten. Und dann denke ich mal, dass der Test hier Confidence Intervall (CI) ist. Tipp: Damit kann man den Fehler herausfinden. Viele Grüße, Torsten
Triple-H Geschrieben 29. April 2011 Autor Geschrieben 29. April 2011 Nein, hier geht es wirklich um den C1-Test. Das ist die Kantenüberdeckung. @a3quit4s: Ich denke, dass es lauten muss Zahl1 >=2, da ja diese Zahl noch mit 1 subtrahiert wird?!?!
Torsten Hündling Geschrieben 29. April 2011 Geschrieben 29. April 2011 Okay: Kantenüberdeckungstest. Soviele Kanten gibt es ja nicht in dem Pseudocode Aber können wir uns drauf einigen, dass "Zahl1" etwas anderes ist als "Zahl 1" Dabei kommen dann nämlich unterschiedliche Sachen bei raus. Dass die Schleife nicht zum richtigen Zeitpunt terminiert, ist richtig. 2 sollte damit auch der Wert sein, damit die Schleife das macht, was sie soll. Torsten
addiks Geschrieben 29. April 2011 Geschrieben 29. April 2011 Dass die Schleife nicht zum richtigen Zeitpunt terminiert, ist richtig. 2 sollte damit auch der Wert sein, damit die Schleife das macht, was sie soll. Es fehlt aber immer noch etwas. Ließ nochmal was a3quit4s geschrieben hat.
Triple-H Geschrieben 29. April 2011 Autor Geschrieben 29. April 2011 oh ja, da habe ich mich vertippt. Sorry!!!
Torsten Hündling Geschrieben 29. April 2011 Geschrieben 29. April 2011 Wenn der letzte Durchlauf (Division durch 0, bzw. durch 1) nicht richtig ist, kann es auch Probleme mit dem ersten geben.
addiks Geschrieben 29. April 2011 Geschrieben 29. April 2011 @Torsten Hündling & @Tripple-H: könntet ihr bitte nochmal posten wie eurer Meinung nach die korrekte Lösung aussieht? Ich bin gerade etwas durcheinander was ihr meint.
Torsten Hündling Geschrieben 29. April 2011 Geschrieben 29. April 2011 Zahl1 = 11; Solange Zahl1 >=2 { Verringere Zahl1 um den Wert 1 Dividiere 10 durch Zahl1 Gib das Ergebnis aus} oder Zahl1 = 10; Solange Zahl1 >=1 { Dividiere 10 durch Zahl1 Verringere Zahl1 um den Wert 1 Gib das Ergebnis aus}
vercetty Geschrieben 29. April 2011 Geschrieben 29. April 2011 Zahl1 = 11; Solange Zahl1 >=2 { Verringere Zahl1 um den Wert 1 Dividiere 10 durch Zahl1 Gib das Ergebnis aus} oder Zahl1 = 10; Solange Zahl1 >=1 { Dividiere 10 durch Zahl1 Verringere Zahl1 um den Wert 1 Gib das Ergebnis aus} Ich wollte schon sagen...mit dem oben geschriebenen Code dividierst du im ersten Durchlauf 10 durch 9, da die erste Anweisung in der Schleife die Zahl1 um den Wert 1 verringert. So ist es richtig;)
itazubi Geschrieben 29. April 2011 Geschrieben 29. April 2011 ZweigÄuberdeckungstest Eigenschaften ² auch C1-Test genannt ² verlangt AusfÄuhrung aller Zweige (Kanten) oder einer zuvor festgelegten Mindestquote ÄUberdeckung = # durchlaufene Zweige # Zweige ¢ 100% ² festhalten, welche Zweige bei welchem Testfall durch- laufen werden sollen, um Abweichungen im Ablauf fest- stellen zu kÄonnen ² niedrige Quote: 34% der Fehler werden entdeckt ² Erfolgsquote ist hÄoher als bei statischer Analyse ² fehlende Zweige werden nicht direkt entdeckt Quelle: http://lionel.kr.hs-niederrhein.de/~rethmann/sof06/sof03.pdf
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