用do while 与for 循环完成以下4题)
1. 求和。
s=1+1/3+1/5+…+1/999
2. 求和。
s=1-1/2+1/3-1/4+…-1/100
3. 要使和。
1+1/2+1/3+…+1/n>10,n至少为多大?
4. 设某四位数的各位数字的平方和为100,且该数能被3整除。求共有多少个这样的四位数。
1. 求和s=1+1/3+1/5+…+1/999
解:和式中各项的分子都是1,分母分别为1,3,5,…,999,递增2的规律,可用循环来实现:
set talk off
s=0for k=1 to 999 step 2
s=s+1/k
endfor
sreturn
或:set talk off
s=0k=1
do while k<=999
s=s+1/k
k=k+2enddo
sreturn
求s=1-1/2+1/3-1/4+…-1/100?
set talk off
s=0for k=1 to 100
if mod(k,2)#
s=s+1/k
elses=s-1/k
endifendfor
sreturn
要使和1+1/2+1/3+…+1/n>10,n至少为多大?
设计1:set talk off
set deci to 8
s=0for k=1 to 100000 &&k约定100000内。
s=s+1/k
if s>10 &&每求一个和后检验。
exitendif
endfor
k,sreturn
设计2:n=0
s=0do while s<=10
n=n+1s=s+1/n
enddo n,s
return
设计3:set talk off
set deci to 8
s=0k=1
do while s<10 &&直接设置条件s<10
s=s+1/k
k=k+1enddo
k-1,s
return
提问: 为什么要输出k-1? 输出k行吗?
4. 设某四位数的各位数字的平方和为100,且该数能被3整除。求共有多少个这样的四位数。
解:对于四位整数m,要求其各位数字的平方和,可应用逐位分解出m的各位数字,但应用对应各位数字的a,b,c,d的四重循环组合成四位数m更为简单。
判别条件为:a*a+b*b+c*c+d*d=100 and mod(m,3)=0
set talk off
n=0for a=1 to 9
for b=0 to 9
for c=0 to 9
for d=0 to 9
m=a*1000+b*100+c*10+d
if a*a+b*b+c*c+d*d=100 and m%3=0
? mn=n+1
endifendfor
endfor
endfor
endfor
[n=] n
return
vfp程序设计作业 程序设计基础
实验报告。实验目的 1.掌握程序文件的建立 编辑和运行方法。2.熟练掌握交互式输入语句accept,input,wait的使用。3.掌握程序控制结构的编写。4.能正确解读基本程序。实验内容 实验教程 上机实例8 1 上机实例8 2 上机实例8 3 input 请输入存款年限 to nx do cas...
vfp程序设计作业 程序设计 二
实验报告。实验目的 1.掌握过程文件的使用。2.掌握选择嵌套 循环嵌套 选择与循环的相互嵌套的规则。3.能正确解读基本程序。实验内容 实验教程 指导书p58 上机实例9 2 clearset procedure to exam0902guo use stud do while t.学生信息管理系统。...
高级程序设计作业
常州大学。高级程序设计方法。期末大作业。2011年 12 月。第一次作业。一 内容要求 1 编写把图像 bmp格式 数据写入c程序文件的数组中的程序,即把图像转化为 件 2 建立win32应用程序,以转化的数组元素为值,利用绘像素点函数setpixel把图象显示出来。二 bmp知识介绍 bmp是一种...