1.2 算法与算法的描述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.算法的定义
算法:我们解决问题都需要遵循一定的方法和
思路,并正确列出的各个求解步骤。 算法就是解决问题的方法和步骤。
二.算法的特征
算法的特征
输入
确定性 算法的 每一步 必须要 确切定 义
有穷性
输出
能行性
一个算 法有0 个或者 多个输 入
一个算 法在执 行有穷 步后必 须结束
一个算 法有1 个或多 个输出
y = b/2 – a
print "鸡数= " x, print "兔数= " y
优点:直观、形象 缺点:不能被计算机识别和执行
算法择优
著名数学家华罗庚de“烧水泡茶”问题: 算法1
第一步:烧水; 第二步:水烧开后,洗刷茶具; 第三步:沏茶。
哪个更高效 ?
算法2
第一步:烧水; 第二步:烧水过程中,洗刷茶具; 第三步:水烧开后沏茶。
Thank You !
注:自然语言描述有缺点!!
2、用流程图描述
程序框 名称
开始/结束 输入/输出 处理
功能
算法的开始和结束 输入和输出信息 计算与赋值
判断
流程线 连接点
条件判断
算法中的流向 表示算法流向出口或入口连接点
问题:一个笼子里有鸡和兔
,现在只知道里面一共有35个 头,94只脚,请问鸡和兔各有 多少只?
试设计一个算法,并用流程图描 述出来。
3、用伪代码描述 伪代码是介于自然语言和计算机语言之间的文字和符号来描
述算法的工具。 input a, b x= 2a - b / 2 a = InputBox (“a=", "输入头数") b = InputBox (“b=", "输入脚数") x = 2 * a- b / 2 y=b/2-a Print "鸡数="; x, "兔数="; y
渡河方案:
方案一:
① ② ③ ④ 农夫载羊过河,放下羊自己返回; 农夫带菜过河,放下菜带羊返回; 农夫放下羊带狼过河,放下狼自己返回; 农夫带羊过河,完成渡河任务。
方案二:
① ② ③ ④ 农夫载羊过河,放下羊自己返回; 农夫带狼过河,放下狼带羊返回; 农夫放下羊带菜过河,放下菜自己返回; 农夫带羊过河,完成渡河任务。
有三个装油的瓶子,大瓶子可装1L,中 瓶子可装0.7L,小瓶子可装0.3L。现有1L的 油装在大瓶子中,请设计一个算法,利用这 三个瓶子分出0.5L的油来。用自然语言把算 法描述出来。
www.themegallery.com
设计一个算法,求1000以内的勾股数, 并用自然语言和流程图分别把算法描述出来 。(所谓勾股数,即是能满足条件a2+b2=c2的 三个正整数。)
算法中有 待执行的 运算和操 作必须是 最基本的
三.算法的描述
1、用自然语言表达
把算法的各个步骤,依次用人的语言表示出来。
问题1:有若干只鸡兔同在一个笼子,从上面数有35 个头,从
下面数有94 只脚。求笼中鸡和兔各多少只?试设计一个求解的 算法,并用自然语言描述。
练习1: 用自然语言描述“求一元二次方程ax2+bx+c=0的实根”问 题的算法。
第一章
揭开计算机解决问题的神秘面纱
1.2 算法和算法的描述ห้องสมุดไป่ตู้
例:有一个农夫带着一头羊,一匹狼和一颗大
白菜准备过河,他找到一只很小的船,每次只能带 一样东西过去,可是如果让狼与羊单独在一起,狼 会吃羊,让羊与白菜单独在一起,羊会吃白菜,农 夫应如何过河?
请同学们以小组为单位,讨论一下农夫该如何才能安 全的渡河,写下你们的渡河方案,看看哪一组最快?