教学设计
教学环节
教学过程
课程思政
情境导入
通过《三国演义》诸葛亮和司马懿的故事引入“分而治之”的编程思想。
采用“分而治之”思:把一个复杂的问题分解为若干个简单的问题,即把较大的任务分解成若干个较小、较简单的任务,并提炼出公用任务,把不同的功能分解到不同的模块中,逐个解决。
我们倡导重视细节,是强调一种科学的精神和认真的态度,而不是要管理者“事无巨细,事必躬亲”。管理学的观点是极其排斥这种做法的,认为工作必须分工,各司其职,其中的思想,在程序设计中同样适用。由此引出模块化程序设计的思想“分而治之”。
通过汽车图片及类比法,让学生更容易理解函数模块及函数的分类。
知识讲授
例1 小熊一家去某商场购物,买了价格从1到10元之间的10种冰棒,买了价格从20到30元之间的10种生活用品,买了40到50元之间的10种玩具,现在要求小熊编程,计算买冰棒、生活用品及玩具分别花了多少钱?
求解思路:此题简化为在一个程序中需要求1到10、20到30、40到50这三个和。
#include
void main( )
{
int i,sum;
for(i=1,sum=0;i<=10;i++)
sum+=i;
printf("1到10的和是%dn",,sum);
for(i=20,sum=0;i<=30;i++)
sum+=i;
printf("20到30的和是%dn",sum);
for(i=40,sum=0;i<=50;i++)
sum+=i;
printf("40到50的和是%dn",sum);
}
修改后的代码:
#include
void main( )
{
sum(1,10);//实现求1到10的和
sum(20,30);//实现求20到30的和
sum(40,50);//实现求40到50的和
}
一、函数的定义
格式
返回值类型函数名([形参列表])
{
说明语句;
执行语句;
}
1、返回值类型及返回语句
(1)无返回值:用void。
(2)有返回值:用相应的类型。
(3)返回语句:return 表达式;
2、参数
(1)无参数:不需要任何数据。
(2)有参数:需要几个数据,就需要几个参数。
编程:在一个程序中分别求1到10、20到30、40到50的和。
抽象出独立函数sum:
void sum(int begin,int end)
{
int i,s;
for(i=begin,s=0;i<=end;i++)
s+=i;
printf("%d到%d的和是%dn",begin,end,s);
}
二、函数设计的基本原则
(1)遵循“信息隐藏”的指导思想;
(2)函数规模要小;
(3)函数功能要单一。
通过例题,引导学生分析问题,将生活中复杂的问题,运用“分而治之”的思想进行简化。
学生通过观察并思考,对修改前后的代码进行比较,说出选择的理由?培养学生观察及思考的能力。
对定义进行说明时,引导学生如何定义函数,并让学生对已定义的函数进行修改,让学生学会举一反三。
再给出例1这个代码,引导学生如何从原有代码中,抽象出独立的函数,并引导学生分析出用函数编程的优点。
合作探究
小组合作:
目的:设计程序功能,定义相应的函数。
5人一组,组长负责分工,小组合作设计一个程序的功能,组员根据设计的功能,定义出相应的函数。随机抽查两组同学的探究成果,由其他小组评论,是否定义正确,若有错,请指出错误并修改。课后上交各组的探究成果,由老师评选出最佳成果。
通过函数的学习,渗透分工意识和合作意识,让学生学会“分工合作,各司其职”的工作方式。提高团队协作的能力,培养团队协作的精神。
课堂小结
1、利用函数编程,你能说出哪些优点?
2、定义函数时,你觉得应考虑哪些因素?
3、下一步,我们应该学习什么呢?
作业布置
1、必做题:定义两个整数求模的子函数。
2、选做题:选择之前所学的某个代码,抽象出独立的功能,根据格式写出子函数。