pascal高手来!!!

来源:百度知道 编辑:UC知道 时间:2024/06/03 21:20:16
1.求S= 1-1/2 +1/3-1/4+1/5-1/6+ ……1/13(求前N项的和)
2.小球从100高处自由落下,着地后又弹回高度的一半再落下。求第20次着地时, 小球共通过多少路程?
(所有都用repeat循环)

题1
var a,s:real;
i,n:integer;
f:boolean;
begin
readln(n);
f:=true;
i:=1;
s:=0;
repeat
a:=1/i;
if f then s:=s+a
else s:=s-a;
f:=not f;
i:=i+1;
until i=n+1;
writeln(s:0:10);
end.
题2
var s,a:real;
i:integer;
begin
s:=-100;
a:=100;
i:=0;
repeat
s:=s+a*2;
a:=a/2;
i:=i+1;
until i=20;
writeln(s:0:10);
end.

这会做也叫高手?

这种东西实在是幼稚得可以,看你给了分,就贴下程序
第一题
var n,i:longint; s:real;
begin
readln(n);
s:=0; i:=1;
repeat
if odd(i) then s:=s+1/i
else s:=s-1/i;
inc(i);
until i>n;
writeln(s:0:2);
end.

第2题
var n,i:longint; s,t:real;
begin
s:=100; t:=100;
i:=1;
repeat
s:=s+t;
t:=t/2;
i:=i+1;
until i=20;
writeln(s:0:5);
end.

第一题保留了2位小数
第2题保留5位小数(再小的话就看不出变化了)

这难道是作业?