C++程序设计实验报告(十三)---用函数完成分段数学函数的求解

第13周报告1: 

实验目的:学会使用函数编程,以及设计比较完备的测试用例完成对小程序的测试

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

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

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

* All rights reserved.

* 文件名称:           分段函数                   

* 作    者:            刘镇                  

* 完成日期:       2011  年   11    月 16       日

* 版 本 号:          1.010


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

* 输入描述:函数自变量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);     //此处加入对自定义函数f的声明

int main( )
{
	double x;
	
	cout << "请输入x的值:";
	cin >> x;
	cout << "解得:f("<<x<<")=" << f(x) << "\n";
	
	return 0;
}

double f(double x)
{
	double y;
	
	if(x < x1)
	{
		y = 0;
	}
	
	else if(x <= x2 && x >= x1)
	{
		y = (x - x1) / (x2 - x1);
	}
	
	else
	{
		y = 1;
	}
	
	return y;
}

运行结果:


测试用例设计及测试结果(请程序设计者将“?”位置上的内容补充完整):
(1) 遵循“判定/条件测试”覆盖原则(设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次),我设计了三组测试用例,测试方案及结果如下
序号 程序输入 预期结果 执行结果 结论
   0.2       0          0      正确

   0.5       0.4        0.4    正确

   1.0       1          1      正确

(2)判定的边界值是测试的“敏感”区,针对本程序的两个边界值,我设计了下面的两组测试用例,测试方案及结果如下
序号 程序输入 预期结果 执行结果 结论
   0.3                0      正确

   0.8       1          1      正确

经验积累:
1. 程序的测试也是技术活,需要考虑各种可能的情况,设计用于测试的输入,将执行结果与预期的结果对比后才能得出结论。程序工作并不是能输出结果(不管对错)就视为完成。
2.要枚举才行,不仅要接近的,还要举出较大较小的数。
3.自定义函数与以前做的相比更简单。

上机感言:对自定义函数要深入了解,以后会经常用到,比如说:“在用到自定义函数时,要提前声明;在定义函数时,最后要return而非cout或是return 0 .

4、测试用例是很严谨的检查程序,是很有帮助的。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值