function raetsel (a,b,c: INTEGER): INTEGER;
−− Vor: a > 0, b > 0, c > 0
−− Nach: ???
var A,B,C: INTEGER;
A:=a; B:=b; C :=c;
while A B and A C
do
if A
function raetsel (a,b,c: INTEGER): INTEGER;
−− Vor: a > 0, b > 0, c > 0
−− Nach: ???
var A,B,C: INTEGER;
A:=a; B:=b; C :=c;
while A B and A C
do
if A
Hallo Phil,
welche Programmiersprache ist das?
M.E. tut sich da gar nix, allenfalls C=C+c
Da die drei Variablen wohl vorher 0 sind greift die While-Schleife nicht.
Was mir so unbekannt ist, ist Return A;
das kann ich nicht richtig einsortieren.
Erhöht das A?
Vielleicht bringt das Schwung in den Codeablauf.
Gruß
Reinhard
Hallo,
es handelt sich um eine sehr umständliche Methode das kleinste gemeinsame Vielfache der drei Zahlen a, b und c zu ermitteln.
mfg
Christof
richtig :>
Hallo.
richtig :>
Das kann nicht stimmen.
Nehmen wir mal als Beispiel a=1, b=2 und c=5. Kleinstes gemeinsames Vielfaches wäre offenbar 10.
Dein Code:
var A,B,C: INTEGER;
A:=a; B:=b; C :=c;
while A B and A C
do
if A
Vor dem ersten Durchlauf der Schleife:
A=1, B=2, C=5
Im ersten Durchlauf trifft die erste Bedingung zu, also:
A=2, B=2, C=5
Somit ist die Bedingung der Schleife nicht mehr erfüllt
(A B) AND (B C) =
(2 2) AND (2 5) =
FALSCH AND WAHR =
FALSCH
Die Schleife wird also abgebrochen und es wird A=2 zurückgegeben. Das ist aber nicht die 10, die man erwarten würde.
Mit OR anstelle von AND gebe ich dir recht, dann würde das kgV berechnet.
Sebastian.
Upps, stimmt natürlich, das kommt davon wenn man zu flüchtig hinsieht, habe da aus dem Kontext heraus automatisch in ‚or‘ angenommen …
*schäm*
mfg
Christof
ach herrjeh! jetzt hab ichs gesehen, stimmt du hast recht. Entschuldigung!
Hallo
welche Programmiersprache ist das?
keine Ahnung, aber hat Ähnlichkeiten mit Pascal.
Da die drei Variablen wohl vorher 0 sind greift die
While-Schleife nicht.
Es ist erwähnt, dass a,b und c größer als Null sein sollen. Anschließend werden deren Werte den Variablen A,B,C zugewiesen. Diese sind damit auch größer als 0.
Was mir so unbekannt ist, ist Return A;
Mit Return bestimmt man den Rückgabewert der Funktion. Diesen Befehl gibt es meines Wissens in Pascal nicht, dort würde man schreiben Funktionsname:=A;
Johannes