zl程序教程

您现在的位置是:首页 >  其它

当前栏目

第13周报告1:用函数完成分段数学函数的求解

函数 完成 报告 13 数学 求解 分段
2023-09-11 14:15:57 时间
任务1:编写函数,求解分段函数的值,并设计能够满足路径覆盖的测试用例完成测试。           0                           当x 0.3时; f(x)=  (x-0.3)/(0.8-0.3)  当0.3≤x≤0.8时          1                             当x 0.8时 实验目的:学会使用函数编

任务1:编写函数,求解分段函数的值,并设计能够满足路径覆盖的测试用例完成测试。

          0                           当x 0.3时;

f(x)=  (x-0.3)/(0.8-0.3)  当0.3≤x≤0.8时

         1                             当x 0.8时


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

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

/*

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

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

* All rightsreserved.

* 文件名称: fun.cpp 

* 作 者: 贺利坚 

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

* 版本号: v1.0 

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

* 输入描述:函数自变量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 namespacestd;

const doublex1=0.3, x2=0.8; //定义为全局常变量,方便,易维护

doublef(double); //此处加入对自定义函数f的声明

int main( )

 double x;

 cout "请输入x的值:";

 cin x;

 cout "解得:f(" x ")=" f(x) "\n";

 return 0;

//下面是自定义函数的定义部分

//当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;

double f(doublex)

 double result;

 if(x x1)

 result=0;

 else if (x x2)

 result=1;

 else

 result = (x-x1)/(x2-x1);

 return result;

}

测试用例设计及测试结果(请程序设计者将?位置上的内容补充完整):

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

序号 程序输入 预期结果 执行结果 结论
1 x=0.2 0 0 正确
2 x=0.5 0.4 0.4 正确
3 x=0.9 1 1 正确

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

序号 程序输入 预期结果 执行结果 结论
4 x=0.3 0 0 正确
5 x=0.8 1 1 正确


 经验积累:

1. 程序的测试也是技术活,需要考虑各种可能的情况,设计用于测试的输入,将执行结果与预期的结果对比后才能得出结论。程序工作并不是能输出结果(不管对错)就视为完成。

2. 布置题目时,专门选择了以前做过的题目,同学们只要专心写函数而不用多想算法。用心良苦,感动ing

3. 同学们做的不错,几乎全做出来了,并且真的将函数中的几个概念通过这个题搞清楚了。

 

上机感言:

编程需要积累经验,多练习是硬道理。光喊难,不投入做,有的是喊难的时候,直至“难”字都喊不出来了。

其实,只要实践过了,也就不难了。只要上路,一路顺风,挡都挡不住。

看小宗——[转载]应该如何学习计算机编程【写给计算机专业的同学们】http://blog.sina.com.cn/s/blog_5d1b834f0100wy45.html


[C语言]日期间天数差值的计算 刷一些算法题时总能遇到计算日期间天数的问题,每每遇到这种情况,不是打开excel就是用系统自带的计算器。私以为这种问题及其简单以至于不需要自己动脑子,只要会调用工具就好。直到近些天在写一个日历程序的时候遇到了这个问题,不调用别人的API,那就只能自己动手了。
2014秋C++ 第12周项目 C++函数新特征与递归函数 课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1- 阅读程序】阅读下列程序,写出程序的运行结果。上机时运行程序,与你的预期进行对照、理解。如果对运行结果和其背后的原理仍不理解,请通过单步执行的手段跟踪理解。(1)阅读下面两个有静态局部变量
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/article/details/39493833。 课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目3:多分段函数求值】 从键盘输入x的值(要求为实型),根据下面
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/article/details/39493833。 课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。 【项目1:分段函数求值】 编程序,计算下面函数的值并输出(x取整型即可)
[PeterDLax著泛函分析习题参考解答]第5章 赋范线性空间   1. (a) 证明 (6) 定义了范数. (b) 证明它们在 (5) 式意义下是等价的.   证明: $$\bex |(z,u)| \leq |(z,u)|\leq 2|(z,u)| ,\quad |(z,u)| \leq |(z,u)|\leq \sqrt{2}|(z,u)| .
[PeterDLax著泛函分析习题参考解答]第1章 线性空间 1. 证明定理 1. 2. 验证上述结论. 3. 证明定理 3. 4. 证明定理 4. 证明: 由 $$\bex x=\sum_{k=1}^{n-1}a_k\cdot \sum_{j=1}^{n-1}\cfrac{a_j}{\sum_{k=1}^{n-1}a_k}x_j+a_nx_n \eex$$ 及数学归纳法即知结论.
[PeterDLax著泛函分析习题参考解答]第2章 线性映射 1. 验证两个线性映射的复合仍是线性映射而且满足分配律: $$\bex {\bf M}({\bf N}+{\bf K})={\bf M}{\bf N}+{\bf M}{\bf K},\quad ({\bf M}+{\bf K}){\bf N}={\bf M}{\bf N}+{\bf K}{\bf N}.
[复变函数]第16堂课 4.4 解析函数零点的孤立性及惟一性定理   1.  零点及其重数   (1)  定义: 设 $f$ 在 $D$ 内解析, $a\in D$. 若 $f(a)=0$, 则称 $a$ 为 $f$ 的零点. 若再 $$\bex f(a)=f (a)=\cdots=f^{(m-1)}(a)=0,\ f^{(m)}(a)\neq 0, \eex$$  则称 $a$ 为 $f$ 的 $m$ 阶零点.
贺利坚 烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学