标签:
杂谈 |
第13周报告1:
实验目的:学会使用函数编程,以及设计比较完备的测试用例完成对小程序的测试
实验内容:用函数完成分段数学函数的求解
#include <iostream>
using namespace std;
const double x1=0.3, x2=0.8; //定义为全局常变量,方便,易维护
double f(double); //此处加入对自定义函数f的声明
int main( )
{
double x;
cout<<"请输入x的值:";
cin>>x;
cout<<"解得:f("<<x<<")="<< f(x)<<"\n";
return 0;
}
//下面是自定义函数的定义部分
测试用例设计及测试结果(请程序设计者将“?”位置上的内容补充完整):
(1) 遵循“判定/条件测试”覆盖原则(设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次),我设计了三组测试用例,测试方案及结果如下
序号 程序输入 预期结果 执行结果 结论
1 x=0.2 0 0 正确
2 x=0.5 ? ? ?
3 x=? ? ? ?
(2)判定的边界值是测试的“敏感”区,针对本程序的两个边界值,我设计了下面的两组测试用例,测试方案及结果如下
序号 程序输入 预期结果 执行结果 结论
4 x=0.3 ? ? ?
5 x=? ? ? ?
经验积累:
1. 程序的测试也是技术活,需要考虑各种可能的情况,设计用于测试的输入,将执行结果与预期的结果对比后才能得出结论。程序工作并不是能输出结果(不管对错。)就视为完成。
2.注意前面对函数的声明,实参有具体值,实参和形参的代表字母不一样
3.多看课本,默写出例子来。
上机感言:
#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"; return 0; } double f(double a ) { double f; if (a<x1) f=0; else if (x1<=a&&a<=x2) f=(a-x1)/(x2-x1); else if(a>x2) //必须是else if ,不能是else f=1; return f; }