《C语言程序设计》之
----- “函数”教学设计
贵州交通技师学院
张 红
《C语言程序设计》之
----- “函数”教学设计
【教材】:
教材:《C语言程序设计实训教程》,主编:康英健。出版社:海军出版社。中职中专教材。
【教学内容分析】:
函数是C语言程序设计中非常重要的一个知识点。是学生从杂乱的程序中重新整理排版的思维。在以后的工作中广泛使用,学生在以后的程序设计中,都需要把相对独立的功能独立出来。实现“低耦合,高内聚”的效果。所以函数是程序设计思想的一个升华,也是一个重点和难点。学生需要学好函数的知识,才能更好的学后续的专业课程。
【学生情况分析】:
中职学生整体来说学习基础较差,自主学习的能力也欠缺。特别对学科专业基础的理论知识体系明显处于劣势,在学习方面多经挫折,信心不足,缺乏学习的积极性。在理解逻辑思维方面难度较大。所以在讲解这节知识的过程中,我通过故事的形式导入,让学生理解函数真正的含义。
【教学目标】:
本次课需要学生了解什么是函数。通过本节教学,提升学生的自学能力,增强学生的自信心,并能在平时的编程工作中灵活的运用函数的知识来解决具体的问题。
1、知识目标
了解简单函数的概念
知道函数的分类
掌握函数的定义方法
知道函数参数及返回值
2、能力目标:
通过教师的讲解,让学生能以此类推,灵活的使用函数的方法编程。
在教师的指导下,对认识不到位的知识点进行加深理解。
3、情感目标:
通过“函数”的学习,渗透分工意识;
通过“函数”的学习,加深大家对繁琐问题简单化的直接运用理念。
通过该知识点的学习,增强学生处理工作简化事项的自信心和面对挫折并敢于解决的勇气。
【教学重点】:
掌握函数的定义方法。
【教学难点】:
了解函数的简单概念,怎样抽象出具体的独立的函数。
【教学方法】:
在教学过程中先通过故事情景引出问题,然后讨论解决问题的方法,引出本节课的主要教学内容。在教学过程中主要采取启发式教学法和任务驱动法相结合,同时进行实例的演示和小组讨论,以完成任务为主线、以学生为主体,调动学生的学习积极性,促使学生积极探究、互助学习。
【教学课时】:
1课时(45分钟)
【教学过程】:
教学内容与步骤
学生活动
教师活动
【导入】
创设情景、提出问题
同学们,早上好。今天我们开始来学习“函数”的知识。在上课之前,我们先来看一个故事:从前有个皇帝,胡人入侵,江山不保,如何是好。皇帝想啊想啊:“终于,哈哈,有了。来人,请大将军来见朕。”大将军急冲冲的来到皇帝的面前。皇帝说:“你……,代表朕出征驱除胡乱。”于是大将军带着将士们出征了,正是万马崩腾,雄赳赳,气昂昂的出征了。经过几个月的战争,将军凯旋而归。哈哈,而这个时候最高兴的是皇帝。
从这个故事中,我们发现,江山不保,谁最着急?但是又是谁去解决问题的?
【新课】
一、 简单函数的概念)
问题来了,看我们这个程序
void main()
{
printf(“-------------------------\n”);
printf(“ I am a student.\n”);
printf(“-------------------------\n”);
getch();
}
修改:
printch()
{
printf(“-------------------------\n”);
}
main()
{
printch();
printf(“ I am a student.\n ”);
printch();
getch();
}
三、函数的定义
如何求一个正整数的阶乘呢?在第四章应用循环解决了这个问题,但是要计算几个不同数的阶乘之和,能否应用函数来解决呢?
1.应用举例:求6!+5!+4!=?
流程图:
源代码:
long fact(x)
{
int z=1,i;
for(i=1;i<=x;i++)
z=z*i;
return z;
}
main()
{
int a,b,c;
long s;
scanf(“%d %d %d”,&a,&b,&c);
s=fact(a)+fact(b)+fact(c);
printf(“%ld”,s);
}
2.应用举例:输出两个数的最大值。怎么样抽象出具体的子函数?
main()
{
int a=1,b=2,z;
if(a>b)
z=a;
else
z=b;
printf(“max is %d”,z);
getch();
}
修改:
int max(int x,int y)
{
int m;
if(x>y)
m=x;
else
m=y;
return m;
}
main()
{
int a=1,b=