000
23.11.2010, 14:26 Uhr
Hallo
|
Folgende Funktion multipliziert zwei positive, ganze Zahlen ohne Benutzung der vordefinierten Operation *:
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 }
Wir geben zusätzlich den kompakten Kontrollflußgraphen zu Mult an: 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 |