实验四 循环结构程序设计
- 格式:doc
- 大小:59.50 KB
- 文档页数:8


中央广播电视大学
人才培养模式改革和开放教育试点
(理工类)
实验报告
课程名称: C++语言程序设计
实验名称: 实验四 循环结构程序设计
学校:
专业:
姓名: 学 号:
实验地点: 指导教师:
实验单位(公章)
黑龙江广播电视大学制
年 月 《C++语言程序设计》
实验项目报告
教师评语
教师签字 日期 成绩
实验题目 循环程序设计
一、实验目的
1.掌握使用while循环语句编写应用程序及其编程技巧.
2.掌握使用do-while循环语句编写应用程序及其编写技巧.
3.掌握使用for循环语句编写应用程序及其编写技巧.
4.掌握使用break语句及循环语句编写应用程序及其编写技巧.
5.掌握使用continue语句及循环语句编写应用程序及其编写技巧
二、实验要求
能够编写一些有实际应用意义的循环结构的程序
三、实验内容(要求:针对实验案例的每项工作,撰写完成实验的步骤)
1.用近似公式∏/4≈1-1/3+1/5-1/7+1/9-1/11+…,计算∏的近似值,要求最后一项小于10-6即可.
#include
#include
Void maid()
{ float n,t,pi;int s;
T=1.0;pi=0.0;n=1.0;s=1;
While(favs(t)>=1e-6)
{ pi+=t;
n+=2;
s=-s;
t=s/n;
}
pi*=4;
实验 (四) 项目名称: 循环结构
一、实验目的:
1. 掌握利用for语句实现循环结构的方法。
2. 掌握利用while语句实现循环结构的方法。
3. 熟悉利用向量运算来代替循环操作的方法。
二、实验原理
1.FOR 循环
在for和end语句之间的{commands}按数组中的每一列执行一次。在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:, n)。
2.WHILE循环
只要在表达式里的所有元素为真,就执行while和end 语句之间的{commands}。通常,表达式的求值给出一个标量值,但数组值也同样有效。在数组情况下,所得到数组的所有元素必须都为真。
三、实验环境
1. 硬件:PC机 2. 软件:Windows操作系统、matlab2015
四、实验内容、步骤以及结果
4.1.1实验要求:用while语句写一个程序,k=5,每循环一次,自动减1,并自动输出。
4.1.2实验步骤
(1)启动matlab,新建一个M文件;
(2)输入程序,如图1;
(3)保存文件;
(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;
图1:程序输入
4.1.3运行结果如下: 2
图2:运行结果
4.2.1实验要求:1、根据,求π的近似值。当n分别取100,1000,10000时,结果是多少?
要求:分别用循环结构和向量运算(使用sum函数)来实现
4.2.2实验步骤:
(1)启动matlab,M文件;
(2)输入程序,如图3和4;
(3)保存文件;
4.2.3运行结果如下: 图3:for循环结构 图4:向量运算 3
图5:运行结果
五、实验总结
通过本次实验,我慢慢理解了循环控制结构的执行过程,掌握了一些循环结构程序设计方法,但还不是很熟练。我了解了一些MATLAB的编程方法和循环结构程序设计方法,但都不是特别的熟练,都有待加强。
实验4循环结构——参考答案
实验四 循环结构程序设计参考程序
⼀、程序调试⽅法实验 上机题⽬:编写程序利⽤公式:!!2!112n x x x
e n
++++= 求x
e 的近似值。找出并改正以下源程序中错误,得出正确的运⾏结果。
#include
void main()
{
int i;
float a,e,x;
printf("请输⼊x 的值:");
scanf("%d",&x); //改为 scanf("%f",&x);
e=0; //改为 e=1;
i=0; //改为 i=1;
a=1;
while(a>1e-6); //去掉尾部的分号
{
a=a*x/i;
e=e+a;
i++;
}
printf("循环次数为:%d 次,e 的%d 次⽅为:%f\n",i,x,e);
//改为printf("循环次数为:%d 次,e 的%.2f 次⽅为:%f\n",i,x,e);
}
程序正确的运⾏结果为: 请输⼊x 的值:1.0
循环次数为:11次,e 的1.00次⽅为:2.718282Press any key to continue
⼆、编写程序1、分别利⽤三种循环语句编程,求1+2+3+…50之和。参照例⼦4-12
(1)while 循环 #include
void main()
{
int sum=0,i=1;while(i<=50)
{
sum=sum+i;
i++;
}
printf("1+2+3+...50=%d\n",sum);
}
(2)do~while循环
#include
void main()
{
int sum=0,i=1;
do
{
sum=sum+i;
i++;
}
while(i<=50);
printf("1=2+3+...50=%d\n",sum);
}
(3)for循环
#include
void main()
{
int sum=0,i;
for(i=1;i<=50;i++)
sum=sum+i;
printf("1+2+3+...50=%d\n",sum);
}
2、编程,输⼊10个整数,求其中正数的个数及其平均值(精确到⼩数点后两位)。
实验三循环控制for实验四循环嵌套forfor
一、实验目的及任务:
1,掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。
2,了解条件型循环结构的基本测试方法。
3,掌握如何正确地控制计数型循环结构的次数。4,了解对计数型循环结构进行测试的基本方法。二、实验环境
TC编程环境;主机操作系统为Window2000或Window某P;三、预备知识
要深入理解循环程序结构的特点,掌握其各种方式的语句实现。四、实验内容
1求出俩个数的最大公约数和最小公倍数。输入时,使m
修改程序使对任何的整数都能得到正确的结果。程序提示:
main结构如下:intm,n,r,tm,tn;
输入两个正整数赋给m,ntm=m;tn=n;
if(m
m=n;n=r;r=m%n;}
输出最大公约数n和最小公倍数m某tn/n;
e12.编写程序利用公式:
1111!2!n!求e的近似值,精确到小数后6位 程序提示:
main函数算法为:
定义int型变量n,i,double型变量e,p,t输入n的值
e=1;t=1;p=1;i=1
while(t>=1e-7)1某10{e=e+t;i++;p=p某i;t=1.0/p;
}
输出e的值
3.编程求1到n中能被3或7整除的数之和。分别用for循环语句和while循环语句完成本题。
程序提示:
for循环语句的主要算法如下:for(i=1;i<=n;i++)
ifi能被3或7整除um=um+i
while循环语句的主要算法如下:while(i<=n)
ifi能被3或7整除um=um+i++;
4.上机完成习题6.10:猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少桃子。