Wir müssen für Info eine Kopfgesteuerte Schleife programmieren, die das Produkt der ersten 10 natürlichen Zahlen ausgibt. Doch mein Programm macht es nicht richtig. Kann mir jemand helfen?
PROGRAM TEST; USES CRT; vAR I:INTEGER; Var P:INtEGER; Begin P:=1; I:=0; While I < 11 do Begin I:=I+1; P:=P*I; end; Write ('Das Produkt der ersten 10 natuerlichen Zahlen ist: '); Writeln (P); Readln; End.
hessenadler92 schrieb: Ich habs gefunden ich muss Longinteger statt Integer nehmen. Trotzdem vielen Dank. Und auf den ersten Sieg am Samstag!
duerfte aber trotzdem nicht stimmen. du durchlaeufst die schleife einmal zu viel. btw. warum zur hoelle pascal???
hmm...hessenadler92...sprich 16/17 Jahre... kommt mir irgendwie der Gedanke an 11.Klasse Gymnasium, da durfte ich mich auch mit pascal rumquälen (obwohl ichs gar nicht so schlimm fand smile:
Willkommen bei der Eintracht! Wir wollen auf unseren Webseiten und Social Media-Kanälen bestmöglichen Service und übergreifende Funktionen anbieten sowie Werbung entsprechend der Interessen anzeigen. Dies wird durch die Einbindung von sogenannten Cookies ermöglicht.
PROGRAM TEST;
USES CRT;
vAR I:INTEGER;
Var P:INtEGER;
Begin
P:=1;
I:=0;
While I < 11
do
Begin
I:=I+1;
P:=P*I;
end;
Write ('Das Produkt der ersten 10 natuerlichen Zahlen ist: ');
Writeln (P);
Readln;
End.
Wenn i = 10 ist, dann gilt immer noch < 11
Du erhöhst das dann aber auf 11 ( in i=i+1)
und somit hast Du 1*2*3*4*5+6*7*8*9*10*11
Wenn Du es in While i < 10 änderst geht es.
Oder Du beginnst bei I = 1
und vertauschst die beiden Zeilen
i=i+1
und
p=p*i
Völlig klar.
Um wen oder was geht es hier eigentlich?
duerfte aber trotzdem nicht stimmen.
du durchlaeufst die schleife einmal zu viel.
btw. warum zur hoelle pascal???
hmm...hessenadler92...sprich 16/17 Jahre...
kommt mir irgendwie der Gedanke an 11.Klasse Gymnasium, da durfte ich mich auch mit pascal rumquälen (obwohl ichs gar nicht so schlimm fand smile: