内容正文:
算法和算法的表示
讲课人:郑丽君
?
用计算机解决问题的一般步骤:
分析问题
寻找解决问题
的途径和方法
用计算机处理
三个人和三个鬼要过河,但只有一条小船。乘船时,一次只能承载两个。如何人的个数少于鬼的个数,那么鬼将把人吃掉。
人鬼过河的故事
想一想:
他们怎么样渡过河去? 讨论…
人鬼过河
人鬼过河方案
第一步:两只鬼渡过河去;
第二步:一只鬼划船返回;
第三步:另外两只鬼接着渡过河去;
第四步:一只鬼返回;
第五步:两个人渡过河去;
第六步:一人一鬼返回。
第七步:两个人渡过河去。
第八步:一只鬼返回。
第九步:两只鬼渡过河去。
第十步:一只鬼返回。
第十一步:剩下两只鬼返回。
1.算法的定义
:解题方法的精确描述。
2.算法的特点
有限性
:算法中的运算次数是有限的
确定性
:每一步必须有清楚的定义
可行性
:每一个操作都是可执行的,都能得到正确的结果
有0个或多个输入
有1个或多个输出
3.日常生活中的算法
乐谱
(乐队演奏的算法)
想一想:
菜谱
(厨师做菜的算法)
秘籍
3 算法的表示形式
自然语言
流程图
计算机语言
:英语、汉语
:用图框和流程线来表示算法
:VB、QB、C
4 流程图
:是用一组几何图形表示各种类型的操作,在图形上用简明扼要的文字和符号表示具体的操作,并用带有箭头的流程线表示操作的先后次序。
③流程图符号(5框1线)
挑战自我:
图形 符号名称 功能
表示算法的开始和结束
输入/输出框 输入、输出操作
要处理的操作
判断框 条件判断操作
表示算法的执行方向
连接框 表示流程图的延续
开始结束框
处理框
流程线
4.算法的设计与表示
问题解决
算法找到
如何表示算法
1)输入整数N的值;
2)将A的值置为2;
3)将B的值置为 ;
4)判断A≤B?,条件成立执行下一步,否则跳转至第7步;
5)判断N能否整除A,若能整除即找到因子,跳转第7步;
6)A的值增加1,跳转至第4步;
7)判断A>B?,条件成立输出结果“是素数”,否则输出结果是“合数”。
自然语言表示
流程图表示
Private Sub Command1_Click()
Dim a As Long, b As Long, n As Long
n = Val(Text1.Text) ‘输入整数N