您的位置:首页 > 移动开发 > IOS开发

第十三周实验报告(一)

2012-02-07 10:16 246 查看
实验目的:学会使用函数编程,以及设计比较完备的测试用例完成对小程序的测试

实验内容:用函数完成分段数学函数的求解

/*

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称:                             

* 作    者: 殷华哲                            

* 完成日期:         年       月        日

* 版 本号:         

* 对任务及求解方法的描述部分

* 输入描述:函数自变量x

* 问题描述:求函数的值:当x<0.3时,f(x)=0; 当0.3≤x≤0.8时,f(x)=(x-0.3)/(0.8-0.3);当x>0.8时,f(x)=1; 

* 程序输出:f(x)的值

* 问题分析:……

* 算法设计:……

#include <iostream>
using namespace std;
const double x1=0.3, x2=0.8; //定义常变量
double f(double ); //声明函数
int main( )
{
double x;
cout<<"请输入x的值:";
cin>>x;
cout<<"解得:f("<<x<<")="<< f(x)<<"\n"; //x为实参
return 0;
}
double f(double a) //a为型参调用f函数
{
double y;
if (x<x1)
{
y=0;
}
else if ((x1<=x)&&(x<=x2))
{
y=((x-x1)/(x2-x1));
}
else if(x>x2)
{
y=1;
}
return (y);
}

(1) 遵循“判定/条件测试”覆盖原则(设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次),我设计了三组测试用例,测试方案及结果如下

序号 程序输入 预期结果 执行结果 结论

1 x=0.2 0 0 正确

2 x=0.5    0.4  0.4      正确

3 x=1.3    1         1 正确

(2)判定的边界值是测试的“敏感”区,针对本程序的两个边界值,我设计了下面的两组测试用例,测试方案及结果如下

序号 程序输入 预期结果 执行结果 结论

4 x=0.3   0          0        正确

5 x=0   0          0        正确

经验积累:

1. 程序的测试也是技术活,需要考虑各种可能的情况,设计用于测试的输入,将执行结果与预期的结果对比后才能得出结论。程序工作并不是能输出结果(不管对错)就视为完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息