教学设计 | ||
教学环节 | 教学过程 | 课程思政 |
情境导入 | 通过《三国演义》诸葛亮和司马懿的故事引入“分而治之”的编程思想。 采用“分而治之”思:把一个复杂的问题分解为若干个简单的问题,即把较大的任务分解成若干个较小、较简单的任务,并提炼出公用任务,把不同的功能分解到不同的模块中,逐个解决。 | 我们倡导重视细节,是强调一种科学的精神和认真的态度,而不是要管理者“事无巨细,事必躬亲”。管理学的观点是极其排斥这种做法的,认为工作必须分工,各司其职,其中的思想,在程序设计中同样适用。由此引出模块化程序设计的思想“分而治之”。 通过汽车图片及类比法,让学生更容易理解函数模块及函数的分类。 |
知识讲授 | 例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、选做题:选择之前所学的某个代码,抽象出独立的功能,根据格式写出子函数。 |