循环结构程序设计

  • 格式:doc
  • 大小:57.50 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1) y < 3 时的最大 n 值。 (2)与(1)的 n 值对应的 y 值。 3.考虑一下迭代公式: xn +1 =
a 其中 a,b 为正的常数。 b + xn
(1)编写程序求迭代的结果,迭代的终止条件为 xn +1 − xn ≤ 10−5 ,迭代初值 x0 = 1.0 ,迭代 次数不超过 500 次。 (2)如果迭代过程收敛于 r,那么 r 的准确值是
1.(1)程序: 1.(1)程序: (1)程序
n=input('请输入n=') x=0; for i=1:n x=x+1./i.^2; end y=sqrt(6.*x)
结果: 结果:
请输入 n=100 n = y = n = y = n = y = 100 3.1321 1000 3.1406 10000 3.1415
循环结构程序设计 1、根据
π2
6
=
1 1 1 1 + 2 + 2 + L + 2 ,求 π 的近似值。当 n 分别取 100,1000,10000 时,结果 2 1 2 3 n
是多少? 要求:分别用循环结构和向量运算(使用 sum 函数)来实现。
1 1 1 ,求 2.根据 y = 1 + + + L + 3 5 2n − 1
结果: 结果:
请输入 a=1 请输入 b=1 y1 = y2 = 0.6180 -1.6180
请输入 a=8 请输入 b=3 y1 = y2 = 1.7016 -4.7016
请输入 a=10 请输入 b=0.1 y1 = y2 = 3.1127 -3.2127
4.
程序: 程序:
f(1)=1; f(2)=0; f(3)=1; for n=4:100 f(n)=f(n-1)-2*f(n-2)+f(n-3); end
请输入 n=1000
请输入 n=10000
(2)程序: (2)程序: 程序
n=input('请输入n='); i=1:n; f=1./i.^2; x=sum(f); pi=sqrt(6*x)
结果: 结果:
请输入 n=100 pi = pi = pi = y=0; n=1; while y<3 y=y+1./(2.*n-1); n=n+1; end y=y-1/(2*(n-1)-1) n=n-2 3.1321 3.1406 3.1415 请输入 n=1000 请输入 n=10000
−b ± b 2 + 4 a ,当(a,b)的值取(1,1) , 2
(8,3)(10,0.1)时,分别对迭代结果和准确值进行比较。 ,
f1 = 1, f 2 = 0, 4.已知 f 3 = 1, f n = f n −1 − 2 f n − 2 + f n −3,
n =1 n=2 求 f1 n=3 n>3
f100 中:wenku.baidu.com
(1)最大值,最小值,各数之和。 (2)正数,零,负数的个数。 5.若两个连续自然数的乘积减 1 是素数,则称这两个连续自然数是亲密数对,该素数是亲 密素数。 例如, 2×3-1=5, 由于 5 是素数, 所以 2 和 3 是亲密数对, 是亲密素数。 5 求[2,50] 区间内: (1)亲密数对的对数。 (2)与上述亲密数对对应的所有亲密素数之和。 三、实验结果
M=max(f) m=min(f) S=sum(f) zhengshu=length(find(f>0)) ling=length(find(f==0)) fushu=length(find(f<0))
结果: 结果:
M = 4.3776e+011 m = -8.9941e+011 S = -7.4275e+011 zhengshu = ling = fushu = 49 2 49
2.程 2.程序:
结果: 结果:
y =2.9944 n = 56
3.(1)程序: 3.(1)程序: 程序
a=input('请输入a=');
b=input('请输入b='); x(1)=1; for i=1:500; x(i+1)=a/(b+x(i)); if abs(x(i+1)-x(i))<=1e-5; y=x(i+1); end end y
结果: 结果:
请输入 a=1 请输入 b=1 y = 0.6180 请输入 a=8 请输入 b=3 y = 1.7016 请输入 a=10 请输入 b=0.1 y = 3.1127
(2)程序: (2)程序: 程序
a=input('请输入a='); b=input('请输入b='); y1=(-b+sqrt(b.^2+4.*a))/2 y2=(-b-sqrt(b.^2+4.*a))/2
5.程序: 程序:
n=0; sum=0; for p=2:49 q=p*(p+1)-1; for i=2:sqrt(q) if rem(q,i)==0&q~=i q==0; end end sum=sum+q; if q~=0 n=n+1; end end n,sum
结果: 结果:
n = 48 sum = 41600