程序设计作业 2

发布 2021-05-05 21:14:28 阅读 4133

用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是一种...