For To Do Schleife?
Wir müssen mit einer For To Do Schleife Potenzen berechnen, aber ich verstehe nicht wo der Fehler bei mir liegt, bzw. was ich anders machen muss, damit es funktioniert..
So sieht mein Programm bis jetzt aus:
program informatik;
var exponent,basis,potenz,schleife,ergebnis:integer;
begin
writeln('Gib bitte deine Basis ein:');
readln(basis);
writeln('Gib bitte deinen Exponenten ein:');
readln(exponent);
schleife:=exponent;
for potenz:=1 to exponent do
begin
ergebnis:=basis*basis;
writeln(ergebnis);
end;
end.
2 Antworten
Setz ergebnis vor der Schleife auf 1.
Du musst ergebnis mit basis multiplizieren und nicht basis mit basis.
Das Ergebnis solltest du erst nach der Schleife ausgeben und nicht bei jedem Schleifendurchgang.
ergebnis:=basis*basis;
Egal wie oft du das machst, das Ergebnis wird immer dasselbe sein.
Willst du nicht eher mit jedem Schleifendurchlauf das Ergebnis nochmal multiplizieren...?
Auf der rechten Seite der Zuweisung muss offenbar "ergebnis" wieder vorkommen - jeder Durchlauf hängt vom vorigen Durchlauf ab. Überleg dir einfach die Rechnung schrittweise.
x hoch 0 = 1
x hoch 1 = x * x hoch 0
x hoch 2 = x * x hoch 1
...
ja genau, aber wie bekomme ich das hin?