ich sitze gerade an einer Aufgabe in Pascal (keine Ahnung warum ich diese aktuelle Sprache lernen muss ) und verzweifele etwas, da meiner Meinung nach das Thema nicht , bzw. nicht ausführlich genug behandelt wurde. ich habe wage Vermutungen, aber ich bräuchte eine Lösung, um meine Überlegungen zu verifizieren, bzw. den Weg zur richtigen Lösung nachvollziehen zu können.
Wäre echt nett, wenn sich jemand fände, der mir dabei helfen könnte.
Funktion Mult:
Folgende Funktion multipliziert zwei positive, ganze Zahlen ohne Benutzung der vordefinierten Operation *:
Code: Alles auswählen
type
tNatZahlPlus = 1..maxint;
function Mult (Faktor1, Faktor2 : tNatZahlPlus) : tNatZahlPlus;
{ multipliziert Faktor1 mit Faktor2 }
var
i,
Produkt : tNatZahlPlus;
begin
Produkt := Faktor1;
i := Faktor2;
while i>1 do
begin
Produkt := Produkt + Faktor1;
i := i-1
end; { while }
Mult := Produkt
end; { Mult }
I:
Betrachten Sie folgenden Pfad des Kontrollflußgraphen der Funktion Mult:
(nstart , ninit , nwhile , ndo ,nwhile , ntail , nfinal)
Wie lautet der dazugehörige assoziierte Testfall?
( IN sei die Menge der natürlichen Zahlen {1,2,3.....} )
a) T = { ((2,2),4) }
b) T = { ((a,1),a) | a aus IN }
c) T = { ((a,2),2a) | a aus IN }
d) T = { ((a,3),3a) | a aus IN }
e) T = { ((a,b), ab) | a, b aus IN }
und
II:
Welche der folgenden Testfälle sind assoziierte Testfälle einer der drei Pfadklassen eines boundary interior Test der Funktion Mult, wobei für die interior-Klasse n=2 gesetzt wird?
( IN sei die Menge der natürlichen Zahlen {1,2,3.....} )
a) T = { ((2,2),4) }
b) T = { ((a,1),a) | a aus IN }
c) T = { ((a,2),2a) | a aus IN }
d) T = { ((a,3),3a) | a aus IN }
e) T = { ((a,b), ab) | a, b aus IN }
Schon jetzt herzlichen Dank an alle Hilfsbereiten.
Edit by Xin: Code-Tags hinzugefügt