算法和算法的描述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、算法
2、算法的特征
(1)输入。一个算法有零个或多个输入。 零个输入的例子: Private sub command1_click() a=3:b=4 Print a*b End sub (2)确定性。算法的每一个步骤必须要确切地定义。 例1:这个人好说话。
例2:健美操中一个动作:“手举过头顶”。
优点:描述的算法通俗易懂。 自然语言具有歧义性,容易导致算法执行的不确定性。 缺点: 自然语言描述的算法太长。 当算法中循环和分支较多时,很难清晰地表示出来。 自然语言表示的算法不便翻译成计算机程序设计语言。
用自然语言 描述算法
二、算法的描述 2、用流程图描述算法
图形 名称 功能
起始/结束 表示算法的开始或结束
输入/输出 表示算法中变量的输入或 输出
处理
判定 流程线
表示算法中变量的计算或 赋值 表示算法中的判断
表示算法中的流向
Βιβλιοθήκη Baidu连接点
表示算法流向出口或入口 连接点
二、算法的描述
2、用流程图描述算法
例:求200-500能被5整除的所有正整数。
开始 I=200 I能被5整除 否 I=I+1 是 是 输出I的值
同学乙的算法: 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,用自然语言描述 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
要求:现在请同学们设计个方案,把3样 东西安然无恙的度过河
新课导入
步骤1:人和羊过河,人返回,留下羊 步骤2: 人和狼过河,人和羊返回,留下狼 步骤3: 人和菜过河,人返回,留下菜
步骤4: 人和羊过河
一、算法
1、算法的概念 算法是在有限步骤内求解某一问题所使用的一组定义 明确的规则。通俗地说,算法就是求解某一问题的方法, 是能被机械地执行的动作或指令的集合。
一、算法
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)分析问题。
设能被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、用自然语言描述算法
算法与程序 设计
信息技术(选修1)
1.2 算法和算法的描述
导入新课
我们上节课通过“韩信点兵”的例子探 讨了计算机解决问题的步骤,你们还记得计 算机解决问题的步骤吗?
计算机解决问题的步骤
具 体 问 题
分 析 问 题
设 计 算 法
编 写 程 序
调 试 程 序
得 出 答 案
新课导入
有一个牧羊人带着一头羊,一只狼和一棵大白菜准备过河, 他找到一只很小的船,每次只能带一样东西过去,如果狼 和羊单独在一起,狼会吃羊,让羊和白菜单独在一起,羊 会吃白菜,牧羊人应如何过河?
二、算法的描述
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