admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:最简单的安卓开发)

《C语言程序设计》教案(21-24)

授课题目

第六章 深入模块化设计与应用

目的:(1)理解算法的基本概念,掌握简单的排序算法。

(2)掌握更多的模块化程序设计技巧。

要求:(1)熟练掌握排序、查找、求最大最小值等常用算法设计技术。

目的与要求

重点与难点

(2)理解递归求解的概念、原理以及递归调用的执行过程,掌握递归

函数设计的基本要点,了解迭代和递归方法编写程序的优缺点。

(3)掌握模块间批量数据传递的方法,提高综合应用程序设计的能力。

重点:简单的排序算法、嵌套与递归设计与应用、模块间的批量数据传递。

难点:递归调用、学生成绩管理综合用例。

(1) 课件:根据本节课程设计的内容及计划安,逐步展现知识点。

(2) 板书:针对学生在学习和练习过程中出现的问题,进行补充讲解。调节课

堂节奏,给学生思考的时间。

(3) 教师程序编写:让学生观摩程序的编写、运行及产生结果的过程,与知识

教学方法及

手段

点一一对应,加深理解。

(4) 学生用手机C语言模拟器编写程序:题目与例题类似,但小有变化,让

学生在理解的基础上进行程序编写,为今后的程序设计打下基础,减少程

序设计中的错误。

(5) 问答:就一些知识点的变化与学生进行问答互动。

(6) 就(4)和(5)中同学们的表现给出部分平时分,为了鼓励同学们的参与

积极性,答对者加2-3分。

4学时

教学内容

1. 课程内容的引入

总结上次课程的内容,以求Fibonacci数列为例讲解算法设计的重要性,提出在前五章

的知识为基础上学习更多的模块设计相思及相关的实现技巧,提高程序运行效率,从而引出

本节讲解的内容。

第六章 深入模块化设计与应用

本章主要内容:

➢ 算法的基本概念与简单的排序算法

➢ 嵌套与递归设计与应用

➢ 模块间的批量数据传递

➢ 模块化设计中程序代码的访问

➢ 应用实例

1

难点:递归调用、学生成绩管理综合用例

6.1

算法的基本概念与简单的排序算法(2学时)

教学内容

(1) 算法的基本概念

(2) 简单的排序算法

讲解思路

(1) 算法的基本概念

 介绍算法的一些基本概念

 以Fibonacci为例讲解算法设计的演变过程

(2) 简单的排序算法

 冒泡排序 以纸牌为例讲解冒泡排序的执行过程,构造数据存储方式,通过动画与

流程图展示算法设计思路,最后编程实现算法设计。

 选择排序 以纸牌为例选择冒泡排序的执行过程,构造数据存储方式,通过动画与

流程图展示算法设计思路,最后编程实现算法设计。指出两种排序的不同之处。

【问题】两种排序算法哪一种排序效率更高,高在什么地方?

6.2 嵌套与递归设计与应用(0.5学时)

教学内容

(1) 函数的嵌套。

(2) 函数的递归设计与应用。

讲解思路

(1) 函数的嵌套

以计算s=1

k

+2

k

+3

k

+……+N

k

的值为例,来说明嵌套模块化设计可以降低设计难度,提

高设计效率,增强程序的可阅读性。

(2) 函数的递归设计与应用

 以求阶乘为例讲解函数递归的概念及设计要点。

 以Fibonacci和汉诺塔问题为例讲解函数递归的求解问题的简洁性,同时说明函数

递归的优缺点。

【实践】实现三道递归例题,深入理解和掌握递归的设计方法。

5.3 模块间的批量数据传递(1学时)

教学内容

(1) 指针作为函数参数。

(2) 数组作为函数参数。

2


本文标签: 设计 递归 算法 学生 讲解