当前位置:文档之家› 1.2算法和算法的描述

1.2算法和算法的描述


一、算法
2、算法的特征
(1)输入。一个算法有零个或多个输入。 零个输入的例子: Private sub command1_click() a=3:b=4 Print a*b End sub (2)确定性。算法的每一个步骤必须要确切地定义。 例1:这个人好说话。
例2:健美操中一个动作:“手举过头顶”。
优点:描述的算法通俗易懂。 自然语言具有歧义性,容易导致算法执行的不确定性。 缺点: 自然语言描述的算法太长。 当算法中循环和分支较多时,很难清晰地表示出来。 自然语言表示的算法不便翻译成计算机程序设计语言。
用自然语言 描述算法
二、算法的描述
2、用流程图描述算法 图形 名称 功能
起始/结束 表示算法的开始或结束
I<=500 否 结束
二、算法的描述
2、用流程图描述算法
优点:描述清晰简洁,不依赖计算机和计算机程序设计语言。
用流程图描述算法
缺点:画起来费事,难以阅读,难以修改。
二、算法的描述
3、用伪代码描述算法 伪代码是用介于自然语言和计算机语言之间的 文字和符号来描述算法的工具。
例:用辗转相除法求两个数的最大公约数的伪代码。 Input m, n r= m mod n Do while r<>0 m=n n=r r=m mod n Loop Print n
5
1.1计算机解决问题的过程
分析问题 ( 找出已知 条件和未知条件、列 出已知条件和未知条 件之间的关系 )
写出解题步骤
设所求的数为 X,则 X 应满足: X 整除3余2 X 整除5余3 X 整除7余2
1. 令 X 为1。 2. 如果 X 整除3余2, X 整除 5余3, X 整除7余2,这就是 题目要求的数,则记下这个 X 。 3. 令 X 为 X+1 (为下一次计 算作准备)。 4. 如果算出,则结束;否则跳 转2。 5. 写出答案。
一、算法
2、算法的特征
(3)有穷性。一个算法在执行有穷步之后必须结束。
反例: S1: sum=0 S2: I=1 S3: sum=sum+I S4: I=I+1 S5: 若sum>=0 ,返回s3;否则,算法结束。 (4)输出。算法有一个或多个输出。 (5)能行性。
二、算法的描述
表示算法的语言有哪几种? 表示算法的语言有自然语言、流程图、伪代码。 1、用自然语言描述算法 例:求200-500能被5整除的所有正整数。 (1)分析问题。
6
1.1计算机解决问题的过程
计算机解决问题的流程图
7
1.1计算机解决问题的过程
8
1.1计算机解决问题的过程
算法: 解决问题的方法与步骤
9
一、算法
1、算法的概念 算法是在有限步骤内求解某一问题所使用的一组定义 明确的规则。通俗地说,算法就是求解某一问题的方法, 是能被机械地执行的动作或指令的集合。
二、算法的描述
3、用伪代码描述算法
优点:书写方便,格式紧凑,易于理解,便于向计算机 程序设计语言过度。 用伪代码描述算法
缺点:由于语言的种类繁多,伪代码的语句不容易规范。
三、算法在解决问题中的地位 探究:运行这两个程序,比较它们的效率,把 和作用 你观察到的现象填在表1-6中。
同学甲的算法: Private Sub Command1_Click() m = 9147485 n = 5147480 r = m Mod n Do While r <> 0 m=n n=r r = m Mod n 同学乙的算法: Private Sub Command1_Click() m = 9147485 n = 5147480 i=m Do While m Mod i <> 0 Or n Mod i <> 0 i=i-1 Loop
算法和算法的描述
1.1计算机解决问题的过程
一个人带一只羊、一只狼和一蓝菜过河,只有一只小船, 一次只能带一个物品。如果羊和狼在一起,狼吃羊;如果 羊和草在一起,羊吃草。怎样才能安全渡河?
1
1.1计算机解决问题的过程
分析问题,找出解决问题的方法
1.农夫带羊到右岸,独自返回左岸; 2.农夫带狼到右岸,返回时白羊带回左岸; 3.农夫把菜带到右岸,独自返回左岸; 4.农夫把羊带到右岸,完成过河。
输入/输出 表示算法中变量的输入或 输出
处理
判定 流程线
表示算法中变量的计算或 赋值 表示算法中的判断
表示算法中的流向
连接点
表示算法流向出口或入口 连接点
二、算法的描述
2、用流程图描述算法
例:求200-500能被5整除的所有正整数。
开始 I=200 I能被5整除 否 I=I+1 是 是 输出I的值
设能被5整除的数为I,令I=200,201,202,„„,500, 如果I是能被5整除的数,则输出I;否则,检查下一个I,直 到I=500为止。
(2)设计算法
①令I=200; ②如果I能被5整除,则输出I; ③I=I+1; ④如果I<=500,则返回第②; ⑤结束。
二、算法的描述
1、用自然语言描述算法
算法 就是解决问题的方法和步骤
3
1.1计算机解决问题的过程 韩信点兵 :
韩信说:“如果每三个人编入一队,最后剩下两个人; 如果每5个人编入一队,最后剩下3个人;如果每7个 人编入一队,最后剩下2个人。请你算一下我有多少 士兵?”
4
1.1计算机解决问题的过程 韩信点兵 :
筛选法. 首先写出“用3除余2”的数: 2,5,8,11,14,17,20,23,26,29,… 其中,“用5除余3”的数:8,23,… 其中,“用7除余2”的数:23,… 由此得到,23是最小的一个解。 至于下一个解是什么,要把“…”写出来才知道; 实践以后发现,是要费一点儿功夫的。
小结
• 一、算法的概念
• 二、算法的描述 1,用自然语言描述 2,用流程图描述
相关主题