[Sq10] Def/Uses-Test: geschachtelte c-use/p-use in Verzweigungs-
und Schleifenbedingungen
Wolfgang Runte
woru at informatik.uni-osnabrueck.de
Die Dez 7 17:47:45 CET 2010
Hallo SQler,
in Bezug auf den Def/Uses-Test kam die Frage auf, wie eine in einer
Schleifenbedingung ("p-use") geschachtelte Berechnung ("c-use") zu
werten sei, also z.B. die folgende Anweisung:
while (... && Math.abs(x*x-zahl) >= epsilon)
In der Vorlesung wurde bereits gesagt, dass solche Ausdrücke streng
genommen unterteilt werden können, dass also die Berechnung zuvor
ausgeführt und separat als "c-use" für die beteiligten Variablen
gewertet würde, so dass in der Schleifenbedingung anschließend jeweils
ein reines "p-use" übrig bliebe (in der Schleifenbedingung würde dann
lediglich auf die Ergebnisse der Berechnung zugegriffen).
In der Literatur wird allerdings an dieser Stelle i.d.R. eine
Vereinfachung vorgenommen, und die Bedingung als reines "p-use" auf den
beteiligten Variablen betrachtet (die "c-uses" fallen also unter den
Tisch). Dies ist wieder eine der "Stellschrauben", an denen gedreht
werden kann, je nachdem, wie genau man vorgehen möchte ...
Zur Vereinfachung kann und soll dies für die Bearbeitung der Aufgabe
zum Def/Uses-Test ebenfalls so gehandhabt werden. Das heißt für
Variablen, die an einer Berechnung beteiligt sind, die wiederum in eine
Bedingung eingeschachtelt ist, sollen reine "p-uses" angenommen werden.
Viele Grüße
Wolfgang
--
Dipl.-Inf. Wolfgang Runte woru at informatik.uni-osnabrueck.de
Institut für Informatik +49-541-969-2487 (Fon)
Universität Osnabrück +49-541-969-2799 (Fax)
Albrechtstraße 28, Raum 31/317 http://www.inf.uos.de/woru
D-49069 Osnabrück