一、本次课主要内容:
本次以计算圆柱体体积为例,通过定义体积计算功能的函数和主函数调用的例子,引出函数定义的一般形式:函数首部加函数体,且在函数结尾处通过return 语句返回结果。本节要重点掌握两点:
(1)形参、实参及参数传递。形参只能用变量表示,在函数中起作用;实参可以是变量、常量或表达式,在主调函数中。实参与形参要个数一致,类型一致。参数传递时,实参把变量、常量的值或者表达式结果值传递给形参。
(2)函数定义首部与声明。二者形式相似,函数声明的目的主要是说明函数的类型和参数的情况,以保证程序编译时对函数调用是否正确做出判断,声明位置通常在主函数前面。而函数定义首部位于函数定义的第一行,与函数体连续书写组成函数定义。
1.使用函数计算分段函数的值:输入x,计算并输出分段函数f(x)的值。要求定义和调用函数sign(x)实现该分段函数。试编写相应程序。
2. 使用函数求奇数和:输入一批正整数(以零或负数为结束标志),求其中的奇数和。要求定义和调用函数even(n) 判断数的奇偶性,当n 为偶数时返回1,否则返回0。试编写相应程序。
3. 使用函数计算两点间的距离: 给定平面任意两点坐标(x1, y1)和(x2, y2),求这两点之间的距离(保留2位小数)。要求定义和调用函数dist(x1, y1, x2, y2)计算两点间的距离。试编写相应程序。
4. 利用函数计算素数个数并求和:输入2 个正整数 m 和 n(1<=m,n<=500),统计并输出m 到 n 之间的素数的个数以及这些素数的和。素数就是只能被1 和自身整除的正整数,1不是素数,2 是素数。要求定义并调用函数 prime(m) 判断m 是否为素数,当m 为素数时返回1,否则返回0。
5.使用函数找最大值:输入2个数,输出其中较大的数。要求定义和调用函数max(a,b) 找出并返回a、b 中较大的数。试编写相应程序。
三、实验要求:
1. 作业的Deadline: 2016-11-3 23:00pm
2. 将本次实验内容的代码上传到https://coding.net/ 网站。 (70分)
3. 写一篇随笔,内容分为四个部分:(总分30分)
写出本次课学习到的知识和体会、学习的时长、学习过程中遇到的问题、问题解决的方法及问题的疑惑等。
随笔的格式如下:
题目:实验七——函数定义及调用总结
1. 本次课学习到的知识点:(5分)
(1)…….
(2)……..
………..
2. 实验过程中遇到的问题及解决方法:(10分)
(1)
(2)
…….
3. 实验心得体会及本章学习总结(5分)
………
四、预习下次课:
预习教材例5-5程序,体会该例题中的函数定义与前面所学的函数定义有什么不同,进一步掌握双重循环的思想,体会结构化程序设计的思想。下节课上课前带入实验室进行检查(10)
五、本次作业评价方式:
总分100分:其中,coding中程序提交70分(根据代码的步骤、格式、注释、结构正确性来酌情分配),博客书写30分;,延迟一天扣10分,直至扣完100分。
六、附加题:(本次附加题的完成成绩可以弥补第6次作业未得分,希望大家能及时补上,每题20分,共80分,上传coding.net上,写博客总结20分)
1. 求e 的值:输入1 个正整数n,计算下式求出e 的值(保留8 位小数),要求使用嵌套循环。
2. 换硬币。将一笔零钱(大于8分,小于1元, 精确到分)换成5分、2分和1分的硬币,每种硬币至少有一枚。输入金额,问有几种换法?针对每一种换法,输出各种面额硬币的数量和硬币的总数量。试编写相应程序。
3. 求整数的位数以及各位数字之和:输入一个整数,求它的位数以及各位数字之和。例如,123的位数是3,各位数字之和是6。
4. 求a+aa+aaa+aa...a:输入两个正整数a 和n,求a + aa + aaa + aa...a(n 个a)之和。试编写相应程序。