实验二模块化设计.doc
文本预览下载声明
实验二 模块化设计
实验目的
体验结构化程序设计方法要点,理解模块化设计的思想,划分子模块的原则
掌握is函数的定义和调用
实验内容
任务一 输出m-n之间所有的素数(ex02_06.cpp)
改写( sample02_07.cpp )保存为ex02_06.cpp:输出m-n之间所有的素数,调用int isprime(int n)函数,每行输出10个素数。
/*【例4-9】求100以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。*/
sample02_07.cpp
/* 使用嵌套循环求100以内的全部素数 */
#include stdio.h
#include math.h /* 调用求平方根函数,需要包含数学库 */
int main(void)
{
int count, i, m, n;
count = 0; /* count记录素数的个数,用于控制输出格式 */
for(m = 2; m = 100; m++){
n = sqrt(m);
for(i = 2; i = n; i++)
if(m % i == 0) break;
if(i n){ /* 如果m是素数 */
printf(%6d, m); /* 输出m */
count++; /* 累加已经输出的素数个数 */
if(count % 10 == 0) /* 如果count是10的倍数,换行 */
printf(\n);
}
}
printf(\n);
return 0;
}
1.源程序清单:ex02_05.cpp
3。实现算法(自然语言描述)
2.运行结果
任务二 打印表格ex02_07.cpp
程序完成下面功能,
Bunyan木材公司需要创建一个木材的工程特性表格。木材的尺寸由底长和高(英寸)给出。工程师需要知道木材的以下信息:
横截面积=底*高
惯性力矩=底*高3/12
?截面截面2 * 2
2 * 4
2 * 6
2 * 8
2 * 10
2 * 12
4 * 2
4 * 4
(1)函数void PrtLine(int bottom,int height),已知底长和高,输出一行表格数据。
(2)函数void PrtBody(void) 打印表格除表头和标题以外的主体内容部分,调用PrtLine实现。
(3)在main函数中输出表头和标题,调用PrtBody打印表格主体。
1.源程序清单:ex02_05.cpp
任务三 改错 求PI值error02_02.cpp
打开程序文件error02_02.cpp改正程序中的错误。根据下式求PI值,直到某一项小于10-6
PI/2=1+1!/3 +2!/(3*5)+…… +n!/(3*5*…*(2n+1))
正确运行结果
PI=3.14159
#include stdio.h
int fact(int n);
int multi(int n);
int main(void)
{
int i;
double sum, item, eps;
eps = 1e-6;
sum = 1;
item = 1;
for(i = 1;item = eps; i++){
item = fact(i) / multi(2*i + 1);
sum = sum + item;
} /* 调试时设置断点 */
printf(PI=%0.5lf\n, sum * 2);
return 0;
}
int fact(int n)
{
int i;
double res;
res = 1;
for(i = 0; i = n; i++)
res = res * i;
return res; /* 调试时设置断点 */
}
int multi(int n)
{
int i;
double res;
res = 1;
for(i = 3; i = n; i = i+2)
res = res * i;
return res; /* 调试时设置断点 */
}
实验过程评价
实验评价
显示全部