常用下载   /  加入收藏  
 
 
    欢迎访问!今天是2018年02月24日  星期六  正月初九      
更多»公告
    当前位置: 首页 » 本科生教育 » 教学大纲 » 信息与计算科学 »  《算法与程序设计》教学大纲
 上一篇:《离散数学》教学大纲
 下一篇:《高级C语言程序设计》教学大纲
《算法与程序设计》教学大纲
作者:管理员  来源:本站原创  发布时间:2016年5月11日  点击次数:242

《算法与程序设计》教学大纲

Algorithm and Programming

 

课程编码:12A09021      学分:3          课程类别:专业课(必修)

计划学时:64            其中讲课:32     实验或实践:0       上机:32

适用专业:数学与应用数学(师范)、信息与计算科学

推荐教材:

1. 刘明军,《C语言程序设计(第2版)》,电子工业出版社,2011

2. 蒋彦,《C语言程序设计实验教程(第2版)》,电子工业出版社,2011

参考书目:

1. 谭浩强,《C程序设计(第四版)》,清华大学出版社,2010

2. 朱青,《计算机算法与程序设计》,清华大学出版社,2009

3. 杨克昌,《计算机常用算法与程序设计案例教程》,清华大学出版社,2011

4. 吴文虎,《程序设计基础(第3版)》,清华大学出版社,2011

5. 克尼汉,《C程序设计语言(英文版)(2)》,机械工业出版社,2006

6. P.J.Deitel, H.M.Deitel,《C大学教程(第5版)》,电子工业出版社,2008

7. 谢涛,《Raptor程序设计案例教程》,清华大学出版社,2014

 

课程的教学目的与任务

本课程的教学目的是在C语言环境下,围绕算法与程序设计的中心问题,培养学生如何分析解决实际问题、如何构思算法,掌握程序设计中的基本概念、基本思想、基本技术和基本方法。

本课程的主要任务是介绍C语言程序基础、程序基本结构、常见简单算法、模块化程序设计(函数)、指针、数组、字符串、结构体、共用体、枚举类型、磁盘数据存储、实用程序设计技巧。培养学生使用C语言进行程序设计的方法和技巧,并会用一些简单算法解决实际问题,分析和解决一些复杂的工程问题的能力,为进一步学习其他课程打下坚实的基础。

 

课程的基本要求

1、使学生理解和掌握C语言高级程序设计的基本概念和基本知识,学会利用C语言进行简单的算法分析与设计。

2、通过课堂讲解、实验和学生课下提问、思考,使学生在掌握程序设计语言语法的基础上,能够熟练使用编程环境进行C语言高级程序设计和算法设计。

3、要求学生在学完本课程后,能运用程序设计语言的语法,独立地分析所遇到的问题,设计算法,解决一些复杂的工程问题,并转换成相应的程序,在编程环境中编译运行。

 

各章节授课内容、教学方法及学时分配建议(含课内实验)

 

第一章 C语言程序基础                                                                                                建议学时:16

[教学目的与要求] 掌握C语言程序的基本结构和基本语法成分、C语言基本数据类型;掌握运算符和表达式;掌握顺序结构程序设计方法;掌握输入/输出函数的使用;了解宏定义;理解算法的概念和表示方法;了解C语言的产生、发展及特点。

[教学重点与难点] C语言基本数据类型,运算符和表达式;顺序结构程序设计方法;输入/输出函数的使用。

[      ] 上课与上机相结合;上课以课堂讲授为主、课堂提问和讨论为辅;上机以学生编程和上机调试为主、教师辅导为辅。

[      ]

第一节  C语言程序的基本结构

一、认识C语言程序

二、基本结构

三、程序举例

第二节  C程序的运行过程

一、源程序、目标程序和可执行程序的概念

二、C语言程序的开发步骤

第三节  编写简单C程序

第四节  C语言基本语法成分

第五节  C语言数据类型

一、基本数据类型

二、指针类型

三、构造数据类型

第六节  数据的输入输出

一、printf函数

二、scanf函数

第七节  算法

一、算法的概念及特性

二、算法的表示方法

第八节  C语言的产生、发展及特点

上机实验1  C实验环境与C程序初步

上机实验2  顺序结构程序设计1—简单C程序设计

上机实验3  顺序结构程序设计2C运算符与表达式

上机实验4  顺序结构程序设计3—数据的输入输出

 

第二章  程序基本结构                                                                                                  建议学时:16

[教学目的与要求] 熟练掌握各种形式分支语句的使用,包括if语句的多种形式和switch语句。熟练掌握关系运算和逻辑运算,学会各种形式数学表达式的C语言表示。掌握三种形式的循环语句,即while语句、do-while语句和for语句,注意它们的不同,并掌握循环嵌套的应用。理解指针的含义,并掌握指针变量的定义和使用方法。

[教学重点与难点] if语句的多种形式,关系运算和逻辑运算;三种循环语句,循环嵌套;指针的含义及使用。

[      ] 上课与上机相结合;上课以课堂讲授为主、课堂提问和讨论为辅;上机以学生编程和上机调试为主、教师辅导为辅。

[      ]

第一节  分支结构

一、分支结构

二、双分支结构

三、多分支结构

四、if语句的嵌套

五、条件运算符

六、switch语句

第二节  关系运算和逻辑运算

一、关系运算符和关系表达式

二、逻辑运算符和逻辑表达式

第三节  循环结构

一、概述

二、当型循环while

三、直到型循环do.while

四、当型循环for

五、几种循环的比较

第四节  break语句和continue语句

第五节  语句标号和goto语句

第六节  指针程序设计

一、指针

二、指针变量的使用

上机实验5  选择结构编程(1)

上机实验6  选择结构编程(2)

上机实验7  循环结构编程

上机实验8  选择、循环结构的综合编程及指针编程

 

第三章  模块化程序设计                                                                                               建议学时:12

[教学目的与要求] 掌握模块化程序设计思想,熟练掌握函数的定义及各种调用形式,参数传递的实质及返回值的使用;理解函数原型及其声明的形式;掌握常见库函数的使用;掌握函数的嵌套调用,了解函数的递归调用。掌握全局变量和局部变量的使用,理解变量的几种存储类别,能正确地对使用各种存储类型的变量。掌握指针作为函数参数的使用,学会使用指针作为函数参数进行程序设计。

[教学重点与难点] 模块化程序设计思想;函数的定义、调用、参数传递及返回值的使用;函数的嵌套调用;全局变量和局部变量,及其存储类别;指针作为函数参数。

[      ] 上课与上机相结合;上课以课堂讲授为主、课堂提问和讨论为辅;上机以学生编程和上机调试为主、教师辅导为辅。

[      ]

第一节  模块化程序设计思想

第二节  函数定义

第三节  函数调用

一、函数调用的形式

二、函数间的参数传递

三、函数的返回值

第四节  函数的原型与声明

第五节  函数的嵌套与递归

第六节  库函数

第七节  变量的作用域与存储类型

一、变量的作用域

二、变量的存储类型

第八节  指针与函数

上机实验9  函数的定义与调用编程

上机实验10 函数调用及全局变量与局部变量的编程

上机实验11 指针与函数的编程

 

第四章  简单构造数据类型                                                                                          建议学时:12

[教学目的与要求] 掌握一维数组和二维数组的定义及使用方法,学会用一维数组和二维数组解决一些经典的问题,如排序、查找、矩阵相关运算等。掌握用数组处理字符串的方法,字符串常用处理函数等。掌握数组名作为函数参数的实质,学会使用数组名作为函数参数。掌握使用指针访问字符数组、使用字符串作为函数参数。

[教学重点与难点] 一维数组和二维数组编程;字符串处理方法及相关函数;数组名(指针)作为函数参数;字符串(指针)作为函数参数。

[      ] 上课与上机相结合;上课以课堂讲授为主、课堂提问和讨论为辅;上机以学生编程和上机调试为主、教师辅导为辅。

[      ]

第一节  一维数组

一、一维数组的引出

二、一维数组的定义和引用

三、一维数组程序举例

第二节  二维数组

一、二维数组的引出

二、二维数组的定义和引用

三、二维数组程序举例

第三节  字符数组与字符串

一、字符数组与字符串的引出

二、字符数组的定义和引用

三、字符串使用

四、字符数组程序举例

第四节  数组与指针

一、一维数组与指针

二、多维数组与指针

三、数组作为函数参数

第五节  字符串与指针

一、用字符指针访问字符串

二、字符指针与字符数组的区别

三、字符串作为函数参数

上机实验12  数组编程

上机实验13  数组与函数编程

上机实验14  数组与指针、字符串与指针编程

 

第五章  复杂构造数据类型                                                                                            建议学时:6

[教学目的与要求] 掌握使用结构体和共用体来描述具有多个不同类型成员的数据;使用枚举类型描述一些具有固定取值范围的变量。掌握结构体、共用体、枚举类型这几种数据类型的定义及其变量的定义、初始化和引用等。

[教学重点与难点] 如何使用结构体、共用体和枚举类型来描述数据,及其相应变量的处理方法。

[      ] 上课与上机相结合;上课以课堂讲授为主、课堂提问和讨论为辅;上机以学生编程和上机调试为主、教师辅导为辅。

[      ]

第一节  结构体

一、结构体的引出及使用

二、结构体数组

三、结构体程序举例

四、结构体指针

第二节  共用体

第三节  枚举类型

上机实验15  结构体、共用体类型编程

 

第六章  磁盘数据存储                                                                                                       建议学时:2

[教学目的与要求] 掌握文件读写的步骤,打开文件函数和关闭文件函数的使用方法。理解常用文件读写函数。了解其他文件操作的相关函数。

[教学重点与难点] 文件的打开、关闭;常用文件读写函数。

[      ] 上课与上机相结合;上课以课堂讲授为主、课堂提问和讨论为辅;上机以学生编程和上机调试为主、教师辅导为辅。

[      ]

第一节  将数据写入文件

第二节  文件读写分类函数

第三节  文件定位函数

第四节  其他文件函数

上机实验16  共用体与枚举、文件编程

 

 

撰稿人:蒋彦     审核人:唐好魁

 
» 上一篇:《离散数学》教学大纲
» 下一篇:《高级C语言程序设计》教学大纲
check_website_is_ok,made by zheng_guang_yu,Do not delete
 
Copyright 济南大学数学科学学院. All rights reserved.
地址:济南市市中区南辛庄西路336号济南大学西校区第七教学楼   邮编:250022   电话(传真):0531-82767313