13.1统计国内生产总值 教案(表格式)-《C语言程序设计》同步教学(电子科技大学出版社)

资源下载
  1. 二一教育资源

13.1统计国内生产总值 教案(表格式)-《C语言程序设计》同步教学(电子科技大学出版社)

资源简介

课题 统计国内生产总值
课时 2课时(90 min)
教学目标 知识目标: (1)掌握数组元素作为函数参数的使用方法 (2)掌握数组名作为函数参数的使用方法 能力目标: 能够使用数组作为函数参数来定义和调用函数 素质目标: 通过统计国内生产总值的增长率,增强民族自信心和自豪感
教学重难点 教学重点:数组元素作为函数参数,数组名作为函数参数 教学难点:理解“值传递”方式与“地址传送”方式
教学方法 问答法、讨论法、讲授法、实践法
教学用具 电脑、投影仪、多媒体课件、教材
教学过程 主要教学内容及步骤
课前任务 【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过文旌课堂APP或其他学习软件,完成课前任务 请同学们回顾函数的使用,思考函数使用时形参与实参的区别。 【学生】完成课前任务
考勤 【教师】使用文旌课堂APP进行签到 【学生】班干部报请假人员及原因
问题导入 【教师】请同学们扫码观看“函数参数的传递”视频(详见教材),讨论并回答以下问题: 简述数组元素和数组名作为函数参数的区别。 【学生】思考、举手回答
传授新知 【教师】多媒体观看“数组作为函数的参数”视频(详见教材),让学生熟悉数组元素作为函数参数、数组名作为函数参数时函数的定义及调用 一、数组元素作为函数参数 【教师】介绍数组元素作为函数的实参时的用法 当数组元素作为函数的实参时,其用法与普通变量相同,是单向传递的,即“值传递”方式;数组元素不能作为函数的形参使用。 【课堂练习】 【教师】出示【例6-4】,组织学生答题 试分析以下程序的运行结果,程序代码参考教材。 【学生】聆听、思考、分析 【教师】解析例题 程序运行结果如图6-9所示(详见教材)。 在主函数中,定义了数组a,并赋初值a[0]=4,a[1]=9。因此,主函数中的第一次输出结果是a[0]=4,a[1]=9。 调用swap( )函数,将a[0]和a[1]作为实参传递给swap( )函数中的形参i和j,交换两数。因此,在swap( )函数中输出结果是i=9,j=4。 但由于数组元素作为函数的参数时,数值是单向传递的,在调用swap( )函数后,主函数中的a[0]和a[1]的值是不会发生改变的,故主函数中第二次输出结果仍然是a[0]=4,a[1]=9。 【课堂问答】 【教师】随机邀请学生回答以下问题 请同学们思考,存放a[0],a[1]的是内存当中的某两块地址,数组元素作为函数的参数时,a[0],a[1]的值分别赋值给了形参变量i和j,那么存放i和j的内存地址是否跟存放a[0],a[1]的内存地址相同? 【学生】聆听、思考、回答 【教师】总结学生的回答 二、数组名作为函数参数 【教师】介绍数组名作为函数的实参时的用法 数组名作为函数参数时,既可以作为实参也可以作为形参。数组名作为实参时,会将实参数组的起始地址传递给形参数组,这样两个数组就会共用一段内存单元,这种传递方式称为“地址传送”。 【课堂讨论】 【教师】请学生分组讨论以下问题 请同学们以小组为单位,讨论“地址传送”的传递方式与“值传递”方式的区别,如何选择使用哪种方式。 【学生】讨论、总结、回答 【教师】总结学生的回答 【课堂练习】 【教师】出示【例6-5】,组织学生答题 修改例6-4程序,用数组名作为函数的参数交换a[0]和a[1]的值。 【学生】聆听、思考、修改 【教师】解析例题 ……(参考程序详见教材) 程序运行结果如图6-10所示(详见教材)。 (1)用数组名作为函数参数,须在主调函数和被调用函数中分别定义数组,本例在swap( )函数中定义形参数组x,在主函数中定义实参数组a。 (2)实参数组与形参数组数据类型应一致(都为整型),如不一致,结果将出错。 (3)数组名作为函数参数时,是把实参数组的起始地址传递给形参数组,这样两个数组将共用同一段内存单元,形参数组中各元素的值发生变化时,实参数组元素的值同时发生了变化。因此,调用swap( )函数可实现a[0]和a[1]的交换。 (4)形参数组可不指定大小,即定义数组时在数组名后跟一个空的方括号即可。例如,上述的函数头可写成: void swap(int x[]) /*定义swap()函数,形参数组不指定大小*/ 【课堂问答】 【教师】随机邀请学生回答以下问题 请同学们思考,存放数组a的是内存当中的某块地址,数组名作为函数的参数时,数组a的值分别赋值给了形参数组x,那么存放数组x的内存地址是否跟存放数组a的内存地址相同? 【学生】聆听、思考、回答 【教师】总结学生的回答 三、任务实施 【教师】多媒体观看“统计国内生产总值”视频(详见教材),让学生熟悉国内生产总值的增长率的计算公式,程序的设计思路,代码的实现过程 1.任务分析 国内生产总值的增长率=(当年的国内生产总值 去年的国内生产总值)/去年的国内生产总值×100%。在主函数中定义一个数组,用来存放2016—2020年国内生产总值的数据。定义Growth( )函数用于计算国内生产总值的增长率,并将计算结果存放到另一个数组中。 2.参考程序 ……(详见教材) 3.运行结果 程序运行结果如图6-11所示(详见教材)。 【课堂讨论】 【教师】请学生分组讨论以下问题 请同学们以小组为单位,讨论如果不传递数组名,而是传递数组元素,上述功能能够实现,如果可以那么实现的方法是什么? 【学生】讨论、总结、回答 【教师】总结学生的回答 【学生】聆听、思考、理解、记录
课堂实训 【教师】介绍课堂实训目的、实训内容,要求学生按照实训要求完成实训任务 一、实训目的 (1)能够定义、引用、初始化数组。 (2)能够使用循环结构实现数组的赋值、计算、输入和输出。 (3)能够使用字符串处理函数处理程序中的字符串数据。 (4)能够使用数组作为函数参数实现数据传递。 二、实训内容 1.阅读程序,判断运行结果 ……(详见教材) 2.程序填空 (1)程序的功能是使字符串按逆序存放并输出,请填空。 (2)程序用于实现读入10个整数,并计算所有负数之和。请在Program~End填入若干语句,勿改动主函数或其他函数中给出的内容。 ……(详见教材) 3.程序设计 (1)输入一个十进制数,将其变换为二进制数后储存在一个数组中并输出。 (2)使用一维数组求斐波那契(Fibonacci)数列的前20项,要求输出时每行打印5个数。斐波那契数列的公式如下。 (3)编写程序,定义一个字符数组ch,对其进行适当的初始化,使之能存储字符串“hello”,请模拟strlen( )函数的功能,计算字符串的长度并输出。 【学生】按要求完成实训内容,并将实训过程中遇到的问题和解决办法记录在表6-5中(详见教材)
课堂小结 【教师】简要总结本节课的要点 本次课介绍了数组元素作为函数参数的使用方法,其用法与普通变量相同,是单向传递的,即“值传递”方式。讲解了数组名作为函数参数时,既可以作为实参也可以作为形参。数组名作为实参时,会将实参数组的起始地址传递给形参数组,这样两个数组就会共用一段内存单元,这种传递方式称为“地址传送”。对比分析了“值传递”方式与“地址传送”方式的区别,及二者的适用场景。最后通过实例,统计国内生产总值,练习本次课所学知识,达到学以致用。 【学生】总结回顾知识点
作业布置 【教师】布置课后作业 请根据本课内容,完成课后习题中的相关习题。 【学生】完成课后任务
教学反思

展开更多......

收起↑

资源预览