实验目的:学会使用函数编程,以及设计比较完备的测试用例完成对小程序的测试
实验内容:用函数完成分段数学函数的求解
#include <iostream>
using namespace std;
const double x1=0.3, x2=0.8; //定义为全局常变量,方便,易维护
double f(double); //此处加入对自定义函数f的声明
double x;
int main( )
{
double x;
cout<<"请输入x的值:";
cin>>x;
cout<<"解得:f("<<x<<")="<< f(x)<<"\n";
return 0;
}
double f(double x )
{
if (x<x1)
x=0;
else if (x>=x2)
x=1;
else
x=(x-x1)/(x2-x1);
return x;
}
测试用例设计及测试结果(请程序设计者将“?”位置上的内容补充完整):
(1) 遵循“判定/条件测试”覆盖原则(设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次),我设计了三组测试用例,测试方案及结果如下
序号 程序输入 预期结果 执行结果 结论
1 x=0.2 0 0 正确
2 x=0.5
3 x=1.2
(2)判定的边界值是测试的“敏感”区,针对本程序的两个边界值,我设计了下面的两组测试用例,测试方案及结果如下
序号 程序输入 预期结果 执行结果 结论
4 x=0.3
5 x=0.8
经验积累:
1. 程序的测试也是技术活,需要考虑各种可能的情况,设计用于测试的输入,将执行结果与预期的结果对比后才能得出结论。程序工作并不是能输出结果(不管对错)就视为完成。
2.C++真的需要横精确,哪怕是丢一个很不起眼的符号也不可以。
3.调用函数double f(double x )中的x 千万不能忘记写哈~~否则会不执行的