《C语言程序设计》教案(21-24)
授课题目
深入模块化设计与应用
4学时
目的与要求
重点与难点
目的:(1理解算法的基本概念,掌握简单的排序算法
2)掌握更多的模块化程序设计技巧
要求:(1)熟练掌握排序、查、求最大最小值等常用算法设计技术。
(2)理解递归求解的概念、原理以及递归调用的执行过程,掌握递归函数设计的基本要点,了解迭代和递归方法编写程序的优缺点。
(3)掌握模块间批量数据传递的方法,提高综合应用程序设计的能力。
重点:简单的排序算法、嵌套与递归设计与应用、模块间的批量数据传递
难点:递归调用、学生成绩管理综合用例
教学方法及手段
(1)课件:根据本节课程设计的内容及计划安,逐步展现知识点。
(2)板书:针对学生在学习和练习过程中出现的问题,进行补充讲解。调节课堂节奏,给学生思考的时间。
(3)教师程序编写:让学生观摩程序的docker 容器编写、运行及产生结果的过程,与知识点一一对应,加深理解。
(4)学生用手机C语言模拟器编写程序:题目与例题类似,但小有变化,让学生在理解的基础上进行程序编写,为今后的程序设计打下基础,减少程序设计中的错误。
(5)问答:就一些知识点的变化与学生进行问答互动。
(6)就(4)和(5)中同学们的表现给出部分平时分,为了鼓励同学们的参与积极性,答对者加2-3分。
网页右边的滚动条怎么设置教学内容   
1. 课程内容的引入
    总结上次课程的内容,以求Fibonacci数列为例讲解算法设计的重要性提出在前五知识为基础上学习更多的模块设计相思及相关的实现技巧,提高程序运行效率,从而引讲解的内容。
第六 深入模块化设计与应用
本章主要内容:
算法的基本概念与简单的排序算法
嵌套与递归设计与应用
模块间的批量数据传递
模块化设计中程序代码的访问
应用实例  
难点:递归调用、学生成绩管理综合用例
6.1     算法的基本概念与简单的排序算法(2学时)
教学内容
(1)算法的基本概念
(2)简单的排序算法
讲解思路
(1)算法的基本概念
介绍算法的一些基本概念
以Fibonacci为例讲解算法设计的演变过程
(2)简单的排序算法
冒泡排序 以纸牌为例讲解冒泡排序的执行过程,构造数据存储方式,通过动画与流程图展示算法设计思路,最后编程实现算法设计。
选择排序 以纸牌为例选择冒泡排序的执行过程,构造数据存储方式,通过动画与流程图展示算法设计思路,最后编程实现算法设计。指出两种排序的不同之处。
【问题】两种排序算法哪一种排序效率更高,高在什么地方?
6.2 嵌套与递归设计与应用(0.5学时)
教学内容
(1) 函数的嵌套。
(2) 函数的递归设计与应用
讲解思路
(1) 函数的嵌套
以计算s=1k+2k+3k+……+Nk的值为例,来说明嵌套模块化设计可以降低设计难度,提高设计效率,增强程序的可阅读性。
(2) 函数的递归设计与应用
以求阶乘为例讲解函数递归的概念及设计要点。
以Fibonacci和汉诺塔问题为例讲解函数递归的求解问题的简洁性,同时说明函数递归的优缺点。
【实践】实现三道递归例题,深入理解和掌握递归的设计方法。
5.3 模块间的批量数据传递1go语言解析xml学时)
教学内容
(1) 指针作为函数参数。
(2) 数组作为函数参数。
冒泡排序代码c语言>strcpy函数实现过程讲解思路
(1) 指针作为函数参数
以swap函数的设计和实现为例说明地址传递与值传递的不同,从而体现指针在数据传递方面的灵活性。
(2) 数组作为函数参数
一维数组作为函数参数:将冒泡排序改写为函数形式,参数为数组,从而体现数组在数据批量传送中的重要作用,并比较指针与数组在数据传递中的异同。
二维数组作为函数参数:用实例来说明数组传递数据的重要作用。
【实践】编写程序实现(1)中的例题。
5.4 模块化设计中程序代码的访问和应用实例(1学时)
教学内容
(1) 模块化设计中程序代码的访问。
(2) 应用实例。
讲解思路
(1) 模块化设计中程序代码的访问 举例说明用指针可以访问程序代码。
(2) 应用实例。
计算器增加一个连续相加的功能。
在第5章应用实例的基础上,增加一个按平均成绩排序的功能。设计要点包括以下内容:
数据结构用数组实现,注意下标的运算设计技巧。
排序可以用冒泡,也可以用选择,但是在交换数据时,注意保持数据的完整性。
利用批量传送的技术,可以改写其它已实现的模块。
【实践】至少实现一项学生成绩档案管理的功能。
3.本次课程总结
(1)知识层面
算法的基本概念及其重要性。
指针作为函数的参数
数组作为函数的参数   
指向函数的指针
(2)方法层面
两种简单的排序   
函数的嵌套与递归调用    函数可以嵌套调用但不能嵌套定义
4.堂互动与实践
在老师的指导下
(1)让学生至少在课堂下完成一种排序的实现。
(2)实现三道递归例题,深入理解和掌握递归的设计方法。import pandas as pd什么意思
(3)让学生完成swap函数的设计和实现。
(4)让至少实现一项学生成绩档案管理的功能。
(5)要求学生课下完成关于学生成绩档案管理的小型计算应用(课后)。
5.课堂记录

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。