Hallo...
Ich habe seid einiger Zeit probiert folgendes Problem mit Pascal zu lösen
Wie viel Summanden von Sn = 1+1/2+1/3+1/4+ … +1/n muss man addieren, bis die Summe zum ersten Mal eine einzugebende Zahl (Sn) übersteigt? Die Berechnung soll nach höchstens 100 000 Summanden abgebrochen werden. Ausgegeben werden soll die Summe Sn und die benötigte Anzahl Summanden.
Rein mathematisch ist mir klar, was ich machen soll, die Berechnung der Summe an sich im Einzelfall (wenn ich eine Zahl n eingebe funktioniert auch)
Nur so komm ich bei dem Programm nicht weiter...
Ich hatte folgendes ohne Erfolg probiert weiß nicht ob das mit der Schranke eine so gute Idee ist. Vielleicht könnte man es mit while i<= 100000 irgendwie probieren, dass das Programm dann abbricht?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | program Summenberechnung; uses crt; var n,z: integer; schranke: longint; sum,sn,i: real; PROCEDURE Willkommen; var sn:real; begin writeln(''); writeln('Willkommen im Turbo-PASCAL-Programm "Summenberechnung"!'); writeln(''); writeln('Dieses Programm ermoeglicht Ihnen die Anzahl der Summanden'); writeln('der Folge Sn=1+1/2+1/3+...+1/n einer einzugebenen Zahl Sn zu berechnen.'); write('Bitte geben Sie nun eine Zahl Sn ein: '); readln(sn); end; begin clrscr; Willkommen; sum:=0; schranke:=100000; i:=0; WHILE (i<=schranke) DO begin i:=i+1; end; WHILE (sn<=sum) DO begin sum:=sum+1/i; end; writeln('s(',sn,') = ',sum:0:8); writeln('Anzahl der Summanden:,i,'); readln; end. |
Ich hoffe, mir kann jemand helfen. Vielen dank schon einmal
Moderiert von user unknown:
Code-Tags eingefügt. Bitte lies "Hilfe zur Syntax" (Link im Editorfeld oben rechts). Danke