圳职业技术学院 Shenzhen Polytechnic 第六单元(1):函数基础 教学内容 函数基础 教学目标 应知 函数的定义与调用 应会 进行有参、无参函数的定义并进行调用 进行有返回值、无返回值函数的定义与调用 难点 函数的定义和调用方法 教学方法 粤通过程序改造,将程序中的功能模块独立出来而引入函数的介绍 教学过程 1.在屏幕上打印五行“★”号,每行分别是5个,30个,40个,28个,50 个“★”(考查学生编程方法,引入函数的使用及意义) 2.比较两个整型数a,b,输出较大的一个数(不使用函数) 3.将以上操作的数据比较部分放在用户函数中进行(函数定义和调用、函数 参数传递) 4.将函数调用两次,实现输出三个数据a,b,c中的最大数(函数可以多次调 用) 5.改写函数,一次性实现输出三个数中的最大数(练习函数定义、调用) 6.编写函数 编一函数sum,求1+1/2+1/3+…+1/n的值。 算法分析 1.由于该表达式的值与n有关,并且n是可变的,所以应该把n作为函数参数 2.由于需要返回 float型值,因此,函数类型说明为 double型. 编程求s=s1+s2+..+s10的值,其中: sn=1+1/2+1/3+1/4+1/5+.+1/n(n=1,2,3,,,10) 计算机系乌云高娃 Wygwg2lcn. com 第39页共83页
深 圳 职 业 技 术 学 院 Shenzhen Polytechnic 计算机系乌云高娃 Wygw@21cn.com 第 39 页 共 83 页 第六单元(1):函数基础 教学内容 函数基础 教学目标 应知 函数的定义与调用 应会 进行有参、无参函数的定义并进行调用 进行有返回值、无返回值函数的定义与调用 难点 函数的定义和调用方法 教学方法 通过程序改造,将程序中的功能模块独立出来而引入函数的介绍。 教学过程 1. 在屏幕上打印五行“*”号,每行分别是 5 个,30 个,40 个,28 个,50 个“*”(考查学生编程方法,引入函数的使用及意义) 2. 比较两个整型数 a,b,输出较大的一个数(不使用函数) 3. 将以上操作的数据比较部分放在用户函数中进行(函数定义和调用、函数 参数传递) 4. 将函数调用两次,实现输出三个数据 a,b,c 中的最大数(函数可以多次调 用) 5. 改写函数,一次性实现输出三个数中的最大数(练习函数定义、调用) 6. 编写函数 编一函数 sum,求 1+1/2+1/3+…+1/n 的值。 算法分析: 1. 由于该表达式的值与 n 有关,并且 n 是可变的,所以应该把 n 作为函数参数。 2. 由于需要返回 float 型值,因此,函数类型说明为 double 型. 编程求 s=s1+s2+...+s10 的值,其中: sn=1+1/2+1/3+1/4+1/5+...+1/n (n=1,2,3,...,10)
圳职业技术学院 Shenzhen Polytechnic 算法分析 1.在前例中,已编写了函数sum0,用以求1+1/2+1/3+1/4+1/5+.+1/n的值 2.只要在主函数中,分别用1,2,,,10作为参数,调用函数 sum(1),sum(②2),,sum(10),并把函数值累加到变量s即可 2学生容易出错的地方 不应该在函数定义语句的括号后加分号 对无返回值函数的调用使用赋值语句 问题与讨论 为什么使用函数呢? 函数的参数起什么作用? 什么情况下使用用户函数比较好? 澂小结(可由问题与讨论方式给出) 函数如何定义 调用一个函数需要具备哪些条件呢? 1.首先被调函数必需存在。或是库函数或是自定义函数。 2.如果是库函数,一般应在文件开头用# include命令将调用的库函数所需要的 信息“包含”到文件中来。例如,当用到求开方函数 sgrt时,需要加上 # include“math.h” 3.对于自定义函数,或者被调函数在主调函数之前,或者在调用之前,进行了函 数说明,就与它的定义先后无关。最可取的方法是:将程序中所有自定义的函数都放在 程序的前面进行说明。 函数定义与函数声明有什么区别? 函数中的数据从哪里来? 调用了用户函数后,整个程序的执行顺序如何? 定义函数时的函数类型同函数返回值的类型有什么联系? 有返回值和无返回值的函数分别如何调用?函数返回值是什么意思,有什么意义? 计算机系乌云高娃 Wygwl2lcn, com第40页共83页
深 圳 职 业 技 术 学 院 Shenzhen Polytechnic 计算机系乌云高娃 Wygw@21cn.com 第 40 页 共 83 页 算法分析: 1. 在前例中,已编写了函数 sum(),用以求 1+1/2+1/3+1/4+1/5+...+1/n 的值 2. 只 要 在 主 函数中,分 别 用 1,2,...,10 作为参数,调用函数 sum(1),sum(2),...,sum(10),并把函数值累加到变量 s 即可。 学生容易出错的地方 不应该在函数定义语句的括号后加分号 对无返回值函数的调用使用赋值语句 问题与讨论 为什么使用函数呢? 函数的参数起什么作用? 什么情况下使用用户函数比较好? 小结(可由问题与讨论方式给出) 函数如何定义? 调用一个函数需要具备哪些条件呢? 1. 首先被调函数必需存在。或是库函数或是自定义函数。 2. 如果是库函数,一般应在文件开头用#include 命令将调用的库函数所需要的 信息“包含”到文件中来。例如,当用到求开方函数 sqrt()时,需要加上: #include “math.h” 3. 对于自定义函数,或者被调函数在主调函数之前,或者在调用之前,进行了函 数说明,就与它的定义先后无关。最可取的方法是:将程序中所有自定义的函数都放在 程序的前面进行说明。 函数定义与函数声明有什么区别? 函数中的数据从哪里来? 调用了用户函数后,整个程序的执行顺序如何? 定义函数时的函数类型同函数返回值的类型有什么联系? 有返回值和无返回值的函数分别如何调用?函数返回值是什么意思,有什么意义?
圳)职业技术学院 Shenzhen Polytechni 课后任务 厘用函数求1-100的累计和 用函数求素数 用函数求水仙花数 计算机系乌云高娃 Wygwl2lcn, com第41页共83页
深 圳 职 业 技 术 学 院 Shenzhen Polytechnic 计算机系乌云高娃 Wygw@21cn.com 第 41 页 共 83 页 课后任务 用函数求 1-100 的累计和 用函数求素数 用函数求水仙花数