云阳梯田景区图片:pascal题目求解
2:求S=1-1/2+1/3-1/4+1/5-1/6+...(求前N项的和)?
程序没问题的 加50分
1.
var s,x:real;
i:=integer;
begin
s:=100;x:=100;
for i:=1 to 19 do
s:=s+x;
x:=x/2;
writeln(s)
end.
2.
var s,x:real;
i,n:integer;
begin
read(n);
s:=0;x:=1;
for i:=1 to n do
if i mod 2=1 then s:=s+1/i else s:=s-1/i;
write(s)
end.
1.我写成了函数:
function ball(tal:real;times:integer):REAL;
var moves:real;
i:integer;
begin
moves:=tal;
for i:=1 to times-1 do
begin
tal:=tal/2;
moves:=moves+tal*2 ;
end;
ball:=moves;
end;
其中tal是路程,TIMES是次数.
调用方式是ball(100,20);
2.
function SUMN(N:integer):REAL;
var S:real;
i,k:integer;
begin
S:=0;
k:=1;
for i:=1 to N do
begin
S:=S+k/N;
k:=-k;
end;
end;
调用方式是SUMN(N);
1
Var i:integer
j,max:real;
begin
j:=100;
For i:=1 to 20 do
begin
max:=max+j;
j:=j / 2;
end;
writeln(max);
End.
2 Var n,i,j:integer;
ans:real;
Begin
readln(n);
max:=1;
For I:=1 to n do
if i mod 2 =0 then max:=max+1/i else max:=max-1/i;
writeln(max);
End.
直接写的,应该可以的
1、路程变量s初始为100,再用一个变量h,初始也100。循环19次,每次进入循环时,s:=s+h(实际上是加上h的一半的两倍,因为球弹起多高,落下去也要经过同样的路程),h减半,继续循环。
2、设变量i初始为1,变量k初始为1,变量S初始为0。循环N次,每次循环时,S:=S+k/i,然后i加1,k:=-k,继续循环。
思路已经给你了,程序还是自已编的好。
1.
var s,x:real;
i:=integer;
begin
s:=100;x:=100;
for i:=1 to 19 do
s:=s+x;
x:=x/2;
write(s)
end.
2.
var s,x:real;
i,n:integer;
begin
read(n);
s:=0;x:=1;
for i:=1 to n do
if i mod 2=1 then s:=s+1/i else s:=s-1/i;
write(s)
end.
绝对没问题 我都试过了 你刚学吧 应该是信息学奥赛的 这是循环里的基础题 我觉得你要是初中就好好学 要是高中就别费工夫了 高中时间不够用的 还是扎实学好功课吧
其实提并不难,但是pascal语言并不是很多人使用,如果可以的话,你可以问一下用c++做出来,然后再自己该吧,pascal语言我一点也不懂