c语言程序设计 k,《C语言程序设计》谭浩强版-教学教案 k.doc
宜宾学院教案
C语言程序设计_课程
周 次
第1周,第2次课
章 节
名 称
第二章 程序的灵魂——算法
授 课
方 式
课堂讲授(√ );实验课( );其他方式( )
教 学
时 数
2
教 学 目 的
1、了解算法的概念
2、掌握结构化程序的三种基本结构,及算法的程序流程图、N-S图表示法
教学重点与难点
重点:
怎样表示一个算法
难点:
三种基本结构,N-S图表示法
参考资料
《C语言程序设计教程》 谭浩强 高等教育出版社
《C高级实用程序设计》 王士元 清华大学出版社
《C程序设计及应用》 李盘林、孟宪福著 高等教育出版社
《C语言程序设计》 王树义 钱达源 编著 大连理工大学出版社
C语言程序设计课程教案 何明儒教授等 四川大学计算机学院
授课内容与过程
步骤一 复习引导
从C程序的构成到C程序的设计过程
步骤二 讲授新课
一个程序包括以下两方面内容:
1.? 1. 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构;
2.?对操作的描述。即算法,为解决一个问题而采取的方法和步骤。
3.?著名计算机科学家Wirth提出一个公式:数据结构+算法=程序
?
简单的算法举例
?
例1:设有两个杯子A和B,分别盛放酒和醋,要求将它们互换。
S1:C ← A
S2:A ← B
S3:B ← C
例2:从10个数中挑出最大数,并将之置入max。
S1:i=1, 令max等于第一个数;
S2:i=i+1;
S3:将max与第 i 个数进行比较,若前者小于后者,将修正max为第 i 个数;否则进行S4;
S4:若i <10,则转到S2;否则输出max并结束。
例3:求1~100的和
S1:sum←0,t←1;
S2:sum←sum+t
S3:t←t+1
S4:若t <= 100,则转到S2,否则转到S5;
S5:输出sum,结束。
例4:求n!
S1:s ← 1,t ←1;
S2:s ← s * t;
S3:t ← t+1;
S4:若 t <= n,则返S2,否则输出s并结束。
?
算法的特征:
1.有穷性;
2.确定性;
3.有零个或多个输入;
4.有一个或多个输出;
5.有效性;
怎样表示一个算法
1.用自然语言表示算法–通俗易懂,但易出现“歧义性”。
2.用流程图表示算法–直观形象,易于理解。
程序的三种基本结构:顺序结构、选择结构、循环结构
B
B
A
A
B
P
A
P
A
P
A
P
3.用N-S流程图表示算法
A?
A
?
B
P
T
F
A
B
A
当P成立
A
当P成立
4.用伪代码表示算法
?
5.用计算机语言表示算法(即实现算法)
我们的任务是用计算机解题,也就是要用计算机实现算法。计算机是无法识别流程图和伪代码的。只有用计算机语言编写的程序才能被计算机执行(当然还要经过编译成目标程序才能被计算机识别和执行)。因此,在用流程图或伪代码描述出一个算法后,还要将它转换成计算机语言程序。
用计算机语言表示算法必须严格遵循所用语言的语法规则,这是和伪代码不同的。我们将前面介绍过的算法用C语言表示。
四、结构化程序设计方法
前面介绍了结构化的算法和三种基本结构。一个结构化程序就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、阅读、修改和维护。这就减少了程序出错的机会,提高了程序的可靠性。
结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。如果面临一个复杂的问题,是难以一下子写出一个层次分明、结构清晰、算法正确的程序的。结构化程序设计方法的基本思路是,把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。
具体说,采取以下方法保证得到结构化的程序。
(1) 自顶向下;(2) 逐步细化;(3) 模块化设计;(4) 结构化编码。
在接受一个任务后应怎样着手进行呢?有两种不同的方法:一种是自顶向下,逐步细化;一种是自下而上,逐步积累。以写文章为例来说明这个问题。有的人胸有全局,先设想好整个文章分成哪几个部分,然后再进一步考虑每一部分分成哪几节,每一节分成哪几段,每一段应包含什么内容,如图2.36示意。
用这种方法逐步分解,直到作者认为可以直接将各小段表达为文字语句为止。这种方法就叫 做“自顶向下,逐步细化”。
结构化程序设计方法强调:1.程序设计风格和程序结构的规范化,2.提倡清晰的结构。
①自顶向下
②逐步细化
③模块化设计
④结构化编码
?
步骤三--课堂小结:
1.程序的三种基本结构:顺序、选择、循环
2.5种描述算法的方法,关键是N-S图
3.灵活运用三种基本结构
c语言程序设计 k,《C语言程序设计》谭浩强版-教学教案 k.doc相关推荐
- c程序设计语言看第几版,到底该怎样评价谭浩强版《C程序设计》?
原标题:到底该怎样评价谭浩强版<C程序设计>? 我想学过C语言的人都应该对谭浩强版<C程序设计>不陌生,有人对它大加赞赏,也有人对它吐槽颇多.那我们究竟应该怎样看待这本书呢?今 ...
- 谭浩强版c语言笔记(1)
第1章 程序设计和c语言 1)机器指令:计算机能够识别和接受的二进制代码 2)机器语言:机器指令的集合 3)计算机程序:控制计算机操作的指令 第2章 一个程序主要包含两方面信息:对数据的描述(数据结构 ...
- C语言中怎么用循环统计买法,C语言入门谭浩强版简单选择法冒泡法用数组和for循环进行学生成绩简单统计处理...
C语言入门谭浩强版 简单选择法排序 冒泡法排序 用数组和for循环进行学生成绩简单统计处理 例如:求个人平均分 学科平均分 单科最高分等 简单选择法 #include #define N 10 voi ...
- c语言教材课后题答案6,C语言谭浩强版6章课后练习题答案.doc
C语言谭浩强版6章课后练习题答案 第6章课后练习题 单项选择题 以下程序执行后,a是: int a =0,i,j; for (i=5;i>0;i--) for(j=0;j<4;j++) a ...
- C程序设计谭浩强版总结笔记
结构体 注:结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student).结构体名是由用户指定的,又称"结构体标记",以区别于其他结构体类型. ...
- 谭浩强版 c语言程序设计,c语言程序设计
c语言程序设计 (2000年清华大学出版社出版的图书) 编辑 锁定 讨论 上传视频 <c语言程序设计>是2000年清华大学出版社出版的图书,作者是谭浩强.[1] 书 名 C语言程序设 ...
- 谭浩强c语言第7章14题,谭浩强C语言课件第7章.ppt
谭浩强C语言课件第7章.ppt 第7章 自定义数据类型 7.1 结构体类型 7.2 共用体 7.3 枚举类型 7.4 用typedef声明类型 C++提供了许多种基本的数据类型(如int.float. ...
- 谭浩强c语言第六章兔子数列,谭浩强 C语言 第6章_循环.ppt
谭浩强 C语言 第6章_循环 第六章 本章要点 循环的基本概念 不同形式的循环控制 多重循环问题 主要内容 6.1 概述 6.2 goto语句以及用goto语句构成循环 6.3 用while语句实现循 ...
- 谭浩强c语言第7章14题,谭浩强C语言_第7章_函数2.ppt
谭浩强C语言_第7章_函数2 第八章 函数 函数概述 #include void main() { float average(float array[10]); /* 函数声明 */ float s ...
- 清华大学谭浩强c语言PPT,C语言课件清华大学谭浩强版.ppt
,,,第一章 C语言概述,,1.1 C语言发展历史 程序设计语言的发展,CPU指令系统,由0.1序列构成的指令码组成 如:10000000 加 10010000 减,用助记符号描述的指令系统 如 AD ...
最新文章
- ICCV 2019论文投稿数破纪录,中科院、清华名列前茅,苹果垫底
- ActiveMQ简介与安装
- Python学习1 基础语法 数据类型 计算机基础
- elementui的tree组件页面显示不出数据_只要10分钟,教你配置出炫酷的数据可视化大屏...
- labview报表生成工具包_后台开发java 常见工具包 netty、mq 、分布式锁等,干货
- qq传文件 udp_软考网络工程师备考-10:网络互连与互联网3-TCPUDP
- 串口接收到的浮点数(解码后出现的错误)
- Vector Math for 3D Computer Graphics (Bradley Kjell 著)
- 【应用多元统计分析】CH5 判别分析3——贝叶斯判别
- Win7安装.net 4.7.2
- 汽车ECU的bootloader程序设计
- 零基础怎么学好3D建模?只需要了解下面几点
- Dichotomy二分法学习笔记
- 浅谈内存屏障,C++内存序与内存模型
- Python爬取京东笔记本电脑,来看看那个牌子最棒!
- 第四代反应堆的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 机器学习_深度学习毕设题目汇总——车辆车牌
- P1196 [NOI2002] 银河英雄传说(带边权并查集)
- 【安卓SDK学习之anyChatSDK】 1_1 实现用户登录和房间进出(根据官方HelloAnyChat的demo整理的简要的开发流程)
- wireshark mysql 过滤_Wireshark过滤总结
热门文章
- python编程从入门到实践(第2版)第二章练习题解答
- linux下blast设计引物,Primer-BLAST:NCBI的引物设计和特异性检验工具
- 光纤尾纤的型号和作用有哪些?
- KML和KMZ 用什么软件打开?
- 国内开源镜像站点汇总
- Gephi教程———数据输入
- IEC 61850标准中ACSI映射实现研究
- W3CSchool离线文档下载
- roboguide程序导出_FANUC ROBOGUIDE下载-FANUC ROBOGUIDE(发那科机器人编程软件)下载v9.1-西西软件下载...
- VTD-XML解析XML入门简介