当前位置:首页 >> 其它课程 >>

1.2算法的描述与设计


算法的描述与设计
LOGO

高级中学赵晓乐

算法的描述与设计
农夫问题

有一个牧羊人带着一头羊,一只狼和一颗 大白菜准备过河,他找到一只很小的船,每次只 能带一样东西过去,可是如果让狼与羊单独在一 起,狼会吃羊,让羊与白菜单独在一起,羊会吃白 菜,牧羊人应如何过河?
要求:现在请同学们来设计一个方案,把 3样东西安然无恙的带过河。

思考
1 这个方案总共有多少步?

2 同学们农夫过河问题解决了,那到底什么是算法? 3

哪几步顺序可以颠倒?

4【农夫问题】中,我们是用什么来描述算法的?

5 算法还有其他的描述方法吗?

过河方案

牧 羊 人 过 河 方 案

第一步:将羊运过去 第二步:人返回 第三步:将菜运过去 第四步:将羊运过来 第五步:将狼运过去 第六步:人返回

第七步:将羊运过来

算法
算法的概念

算法就是解决问题的方法和步骤
一个能被解决的问题,其中都包含着算法
算法是程序设计的“灵魂”,世界著名计算机科学家尼克劳斯· 沃思(N·

wirth)指出:算法+数据结构(Data Structure)=程序,可见,算法在程序设
中具有多么重要的地位。算法独立于任何具体的程序设计语言,一个算法可 以用多种程序设计语言来实现。例如,“鸡兔同笼问题”的算法可以用BASIC 语言来实现,也可以用C语言来实现。 那算法都有哪些特征呢?也就是问题的解决都有哪些特点,我们应该注意 些什么呢?

算法的特征
? 有穷性:执行有限步,每一部执行时间有 限 ? 确定性:每一步都有确切的含义 ? 输入:有零个或多个输入 ? 输出:至少产生一个输出 ? 可行性:原则上能精确运行,用纸和笔做 有限次运算后即可完成

自然语言
自然语言描述

用自然语言表达算法,就是把算法的各个步 骤,依次用人们熟悉的自然语言表示出来。 优点:容易理解 缺点:书写较烦、不确定性、对复杂的问题难以 表达准确、不能被计算机识别和执行

实践活动二
用自然语言描述求解ax+b=0的过程(注意讨论a,b的情况)

? S1:输入a,b的值,确定方程;

自 然 语 言

? S2:若a=0,b≠0,方程无解,结束; ? S3:若a=0,b=0,x为任意值,结束; ? S4:若a不等于0,移项得 ax=-b则x=b/a,结束。

算法的描述方法

用自然语言描述算法

算法的描述

用流程图描述算法 用伪代码描述算法

用???描述解方程ax+b=0

算法的开始或结束

流 程 图

输入或输出信息

条件判断

常用的“流程图”所用的基本符 号
程序框 名称 开始/结束 功能 算法的开始或结束

输入/输出
处理

输入或输出信息
计算与赋值

判断
流程线

条件判断
算法中的流向

连接圈

表示算法流向出口或入 口连接点

流程图
流程图描述

也称为程序框图,它是算法的一种图形化表 示方法。 优点:形象、直观、容易理解

描述解方程ax+b=0算法的两种方法



? S1:输入a,b的值, 确定方程;


语 言

流 程无解,结束; 程 ? S3:若a=0,b=0,x为 图 任意值,结束;
? S2:若a=0,b≠0,方 ? S4:若a不等于0,移 项得 ax=-b则x=-

b/a,结束。

自然语言描述与流程图描述的比较

自然语言描述
直观清晰

流程图描述

确定性
繁琐程度 是否容易修改 通俗易懂

伪代码
伪代码表示举例 (1)表示条件判断 if 条件 then 执行语句一 else 执行语句二 end if (2)表示循环处理 do while 条件 循环处理语句 loop

判断某个数是否偶数 输入正数a

求解ax+b=0
输入 a , b If a = 0 then if b = 0 then

伪 代 码 描 述

If a除以2余数为0 then 输出“a为偶数” Else 输出“a不是偶数” End if

输出x为任意值 else
输出x无实数解 end if Else x= -b/a End if

伪代码
伪代码描述

伪代码是介于自然语言和计算机程序语言之

间的一种算法描述。
优点:简洁、易懂、修改容易 缺点:不直观、一旦出现逻辑错误不容易排查

描述求解ax+b=0的三种方法
伪代码描述
输入 a , b

自然语言描述
? S1:输入a,b的值, 确定方程;

流程图描述

If a = 0 then
if b = 0 then 输出x为任意值 else 输出x无实数解

? S2:若a=0,b≠0,方
程无解,结束; ? S3:若a=0,b=0,x为 任意值,结束; ? S4:若a不等于0,移 项得 ax=-b则x=b/a,结束。

end if
Else x= -b/a End if

根据具体的情况选择不同的方法

算法——解决问题的方法和步骤 特征:有输入 确定性 有穷性 有输出 可行性

用自然语言描述算法

小 结

算法的描述

用流程图描述算法

用伪代码描述算法
一个问题,可能有多种算法 ,应该通过分 析、比较、挑选一种最优的算法。一个好算法必 须用到科学的方法 ,应该好好学习各学科处理问 题的科学方法。


相关文章:
1.2算法的描述与设计_图文.ppt
1.2算法的描述与设计 - 算法的描述与设计 LOGO 学习目标: ? 1、理解
1-2算法的描述与设计 教案.doc
1-2 节 算法描述与设计一、 【教学目标】 1、 知识与技能 第 2 课时 (1)了解算法的定义及其表达方法; (2)认知流程图的六种基本符号; (3)理解计算机解决...
1.2算法和算法的描述_图文.ppt
信息技术(选修1)算法程序设计 第一章 揭开计算机解决问题的神秘面纱 1.2 算法和算法的描述 头脑风暴: 实践1求两个正整数的最大公约数例:设给定的两个...
1.2算法描述与设计(教学).ppt
1.2算法描述与设计(教学) - 算法与程序设计 描述与设计 算法描述与设计 宜城二中信息技术 算法的描述 2 把大象放在冰箱里需要几步 把冰箱门打开 把大象装进去 ...
1 2算法的描述与设计的第2课时.pdf
1 2算法的描述与设计的第2课时 - 1-2 节 算法描述与设计 一、 【教学目标】 1、了解利用计算机解决问题的基本过程 2、了解问题分析与算法设计之间的关系 3、...
1.2算法的描述与设计1_图文.ppt
1.2算法的描述与设计1 - 1.2算法的描述与设计 1.2算法的描述与设计 把大象放到冰箱里需要几步 1 1.2算法的描述与设计 ? 解决问题的方法和步骤。 2 1.2...
1.2算法和算法的描述_图文.ppt
1.2算法和算法的描述 - 1.2算法和算法的描述 新都一中网络中心王强 QQ:7210904 导入 要求:现在请同学们设计个方案。 导入 有一个牧羊人带着一头羊,一只 狼...
1.2算法描述与设计 课件_图文.ppt
1.2算法描述与设计 课件 - 1.2 算法描述与设计 一、算法是“灵魂” ?
1.2算法描述与设计.doc
1.2算法描述与设计 - 1.2 算法描述与设计 一、教材分析 本节是高中信息技
1.2算法的描述与设计_图文.ppt
1.2算法的描述与设计 1.2算法的描述与设计安徽淮南一中网络中心陈杰 QQ:519911704 1.2算法的描述与设计 1.2算法的描述与设计 把大象放到冰箱里需要几步 1 1....
1.2算法和算法的描述.doc
1.2算法和算法的描述 - 算法和算法的描述 一、教学目标: 知识与技能:进一步理解什么是算法,知道算法的多样性;能够对设计的算 法做简装的评价;学会利用自然语言...
1.2算法的描述与设计_图文.ppt
1.2算法的描述与设计 - 教课版算法描述与设计 个人原创... 1.2算法的描述与设计_其它课程_高中教育_教育专区。教课版算法描述与设计 个人原创 ...
1.2算法描述与设计_图文.ppt
1.2算法描述与设计 - 第一章 如何用计算机解决 问题 第二节 算法描述与设计 一、算法是“灵魂” ? ? ? ? ? ? 1.算法存在于人们生活中,如:上街购物、 ...
1.2.基本算法语句_图文.ppt
1.2.基本算法语句 - 第一章:算法 1.1 1.2 基本算法语句 计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法, 计算机是无法“看懂”...
1.2算法描述与设计.doc
1.2算法描述与设计 - 1.2 算法描述与设计 教材分析 本节是高中信息技术选
14-15版:2.1 算法的基本思想(一)(创新设计)_图文.ppt
14-15版:2.1 算法的基本思想(一)(创新设计)_高一数学_数学_高中教育_教育...课堂讲义跟踪演练1 下列叙述中, 1 算法的基本思想 ①植树需要运苗、挖坑、栽...
2.1.2算法的描述与设计_图文.ppt
2.1.2算法的描述与设计_IT/计算机_专业资料。信息技术 微机 信息学 计算
1.2算法的描述与设计教学设计.doc
1.2算法的描述与设计教学设计_其它课程_高中教育_教育专区。教科版 1.2算法的描述与设计教学设计 纯个人原创 1.2 算法的描述与设计一、 教材内容、学情分析(1...
1.1.2程序框图与算法的基本逻辑结构.ppt
1.1.2程序框图与算法的基本逻辑结构 - 算法步骤有明确的顺序性,而且有些步骤
1.2算法和算法的描述_图文.ppt
1.2算法和算法的描述 - 1.2算法和算法的描述 一个人带一只羊、一只狼和一蓝
更多相关标签: