内容正文:
1.2 算法描述和设计
算法与程序设计——C#
同步精品课堂
河北科学技术出版社
1
一 教学目标
了解什么是算法
了解各个算法的思想
掌握流程图的画法
掌握算法设计的要求
了解算法的基本特征
教学重点:
1.了解什么是算法以及各个算法的思想
2.掌握流程图的画法
教学难点:
1.了解算法的基本特征
2.利用合理的表达方式描述算法流程
二 教学重难点
看病的流程通常包括以下几个步骤:预约挂号、就诊、诊断、检查和治疗、结算和随访。
三 导入新课
同学们有去医院看过病吗?那么我们去看病(门诊)的流程一般是怎么样的?
请同学们用自己的方式形容一下这个流程。
看病的流程通常包括以下几个步骤:预约挂号、就诊、诊断、检查和治疗、结算和随访。
四 新知讲授
同学们还记得算法是什么吗?
解决问题的过程
自然语言描述算法:前面那样,利用文字描述一个过程(算法)的描述方式
优点:容易理解
缺点:书写繁琐,不易表达准确
流程图描述算法:利用流程图来描述算法的方式
N-S描述算法:利用N-S图来描述算法的方式
四 新知讲授
N-S描述算法
四 新知讲授
同学们请观察医院就诊流程图,看看这样表达有哪些优势
四 新知讲授
常用流程图的规范符号:
四 新知讲授
请同学们用流程图写一个判断一个数是否为偶数的算法
开始
输入一个数X
计算x/2的余数n
n=0?
Y
N
输出:是偶数
输出:不是偶数
四 新知讲授
正确性:能够完成合法输入的一切运算要求
算法设计的要求
可读性:首先要让人能看懂(方便交流),其次才是让计算机执行。因此算法应该在设计时以让人易于理解理解为原则。
稳健性:输入非法数据时,算法应当给予适合反馈。
高效性与低存储量:通常,效率指的是算法执行时间;存储量是指算法执行过程中所需的最大存储空间。两者都与问题的规模无关
四 新知讲授
有穷性:算法不能一直不停的执行下去
算法的重要特性
确定性:算法要有明确步骤和对象
可行性:算法中描述的操作都可以通过已经实现的基本操作运算有限次。
一个或多个输出:一定要有输出结果
零个或多个输入:可以有输入也可以没有
项目任务:
结合课程导入内容,让同学们使用流程图来描述导入中的去医院就诊的流程算法。
要求:
1.包含有无就诊卡(医保卡)两种状况处理方式;
2.是否住院两者情况处理方式;
3.复诊的流程(循环)
五 师生互动
六 随堂练习
练习1:在用流程图表示算法时,菱形框作用( )。
A.输入或输出 B.计算或赋值
C.算法开始和结束 D.条件判断
D
六 课堂小结
练习2:下列不属于算法设计的要求是( )。
A.正确性 B.可读性
C.稳定性 D.高效性与高存储量
D
六 课堂小结
练习3:下列属于算法的重要特性的是( )。
A.有穷性 B.不确定性
C.必须要有输入 D.可以没有输出
A
七 课堂小结
请同学们分别利用自然语言和流程图描述“将输入字符串反转” 的算法。
八 随堂练习
作业:
感谢观看
$$