3.4算法及其实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自然语言:
1、输入三角形的三条边的长度。
2、判断两边之和是否大于第三边。 若是则是三角形的三条边,若不 是就不是三角形的三条边。
3、输出结果
算法及其实现
流程图
开始 输入三角形的三条边a,b,c
a+b>c and b+c>a and a+c>b?
是三角形的三条边
不是三角形的三条边
结束
算法及其实现
烧开水
洗茶壶 洗茶杯 拿茶叶 泡茶喝
t 结论:在保证算法正确的同时,要考虑算法的质量, 设计出最优算法。
算法及其实现
算法的表示:
常用的算法表示形式有: 自然语言、流程图和计算机语言。 常用的计算机语言有: C 、C++ 、Basic、VB 和java等。
算法及其实现
算法的表示
自然语言
流程图
计算机语言
N
算法及其实现
计算机语言:
Input x,y,z IF x>y then max=x Else max=y End if If z>max then max=z End if Print max End
算法及其实现
算法的表示 自然语言:
通俗易懂,但通常文字比较冗长,还容易产生“歧义”。
流程图:
算法及其实现
第一步 先把冰箱门打开
第二步 第三步 把大象放进去 把冰箱门关上。
算法及其实现
小游戏
有两个瓶子A和B ,A瓶装有雪碧,B瓶是可乐,问如何 把雪碧和可乐互换。即A瓶原来雪碧,现改为盛可乐, B瓶则相反。
A ② B
雪碧
可乐

C

以上解决问题的方法和步骤在计算机中叫做算法
算法及其实现
算法及其实现
低级语言 高级语言
机器语言
汇编语言 Pascal Visual basic C++ Java
算法及其实现
自然语言
流程图
开始
第一步 先把冰箱门打开
第二步 第三步 把大象放进去 把ቤተ መጻሕፍቲ ባይዱ箱门关上。 打开冰箱门 把大象放进去 关上冰箱门 结束
算法及其实现
流程图是人们经常用来描述算法的工具,流程 图用图框及流程线来表示算法形象直观。
同一个问题,解决它的算法是唯一的吗? 怎样判断一个算法的好坏?
算法及其实现
数学家华罗庚的《统筹方法》中著名的”泡茶算法” :
(请同学们对这几种算法进行评价!)
烧开水
方法甲
洗开 灌凉水 洗茶壶 洗茶杯 拿茶叶 泡茶喝 水壶
方法乙
洗开 洗茶壶 洗茶杯 拿茶叶 灌凉水 水壶
烧开水
泡茶喝
方法丙
洗开 灌凉水 水壶
开始
观察道路情况
N
往前直走
有障碍吗?
Y
躲避障碍
结束
算法及其实现
例3:在抽屉中寻找东西的过程。
开始
寻找
循环结构
找到了吗?
N
Y 拿东西 结束
算法及其实现
分支结构和循环结构的异同:
开始
开始
Y
执行a
条件?
N
执行a
执行b
条件?
Y
执行b
N
结束 开始
算法及其实现
检测题
开始
如右图所示,流程图虚线框 部分的控制结构属于(B ) A、顺序结构 B、分支结构 C、循环结构 D、树形结构
流程图的几种符号
开始、结束框
表示本段算法的开始或结束。
处理框
框中指出要处理的内容,有出口和入口。 表示条件判断及产生分支的情况。 表示输入和输出数据。 有向线段,控制流程方向。
判断框
输入、输出框 流程线
算法及其实现
例1:早上起床后,可以用以下流程图表示
开始
刷牙
洗脸 结束
顺序结构
算法及其实现
例:求三个数的最大值。
开始 输入变量x、y和z的值 Y max x x>y? N max y
流程图
z>max?
图框内的符号“←” 是赋值号,表示将 赋值号右边的表达 式运算的结果值存 入左边的变量。例 如,“max ← x”、 i ← i+1
Y max z 输出变量max的值 结束
Y
检测蔬菜农药残留物
超标?
N
销毁
出售
结束
算法及其实现
算法描述
试一试:
设计一个算法,对任意输入的三个整数X, Y和Z,找出并输出其中的最大值。
算法分析:比较X和Y,得到一个较大值MAX,再MAX与
Z比较,将两者中较大的值作为结果输出。
算法及其实现
自然语言:
1. 输入变量x、y、z的值。 2. 比较x、y。若x>y,则x存入以max命名的存储单元; 否则,y存入max。 3. 比较z和max。若z>max,则将z送入max。 4. 输出结果max。
算法及其实现
算法的定义:
所谓“算法”就是解决问题的方法和步骤,
是解题方法的精确描述。
算法及其实现
生活中的算法
从更广义的角度来看,并不是只有“计算”的问题才有算 法,日常生活中处处都有。例如:一首歌的乐谱,可以称之 为该歌曲的算法;菜谱是厨师做菜的算法;描述太极拳动作 的图解,就是“太极拳的算法”。
解二: 1、农夫带羊过河 2、农夫回来 3、带蔬菜过河 4、把羊带回来 5、把狼带过河 6、农夫回来 7、把羊带过河
以上解决问题的方法和步骤在计算机中叫做算法
算法及其实现
算法的的表示
书P71页练一练:
当堂训练:
输入三个数,判断它们是否能成为一个三角形的三条边的长度, 若能则输出“能”,否则输出“不能”。 分别用自然语言和流程图描述本题算法
算法及其实现
算法的特点:
算法的特点是求解步骤必须是有限的,而 且每个环节都必须是明确和可行的。
算法及其实现
算法的特征
有穷性
算法描述是有穷的动作序列 (有限个步骤组成)
确定性
算法中的每个动作应当是明确的, 没有二义性的
有效性
算法设计完成后应选择合适的 计算机编程语言编制相应的程序
算法及其实现
思考:
算法及其实现
请说出以下流程图都用了什么结构
开始 开始
开始 X-1
输入三角形的底a和高h 拍照 F X>= 0
T
s=(a*h)/2 N 输出面积S的值 是否继 续拍照? Y Y=-3x-2 Y=-2x+1
输出Y的值
结束
结束
结束
顺序结构
循环结构
分支结构
算法及其实现
算法及其实现
程序设计实例
开始
例:求n阶乘 (n!=1×2×3×…×n) 首先输入变量n的值, 变量f和i被赋以初值1, 然后判断i≤n是否成立, 如果成立, 执行赋值语句f←f*i和i←i+1, 并回到判断处, 否则结束循环, 最后输出f的值。
算法及其实现
练习1:请同学们画出流程图来表示“将蔬 菜放入冰箱”这一完整过程
开始
打开冰箱门
放入蔬菜 关上冰箱门 结束
算法及其实现
例2:学校上体育课,通常在操场上, 但如果遇到下雨天,就会改在室内上课
开始
看天气情况
N
在操场上课
下雨吗?
Y
分支结构
在教室上课
结束
算法及其实现
练习2:画出“我们走路时躲避障碍”这个过程 的流程图
算法及其实现
农夫过河
一个农夫带着一条狼、一只山羊和一篮蔬菜 要过河,但只有一条船。乘船时,农夫只能带一 样东西。农夫在场的时候,这三样东西相安无事。 一旦农夫不在,狼会吃羊,羊会吃菜。请设计一 个算法,使农夫能安全的将这三样东西带过河。
算法及其实现
农夫带狼、山羊、蔬菜过河步骤
解一: 1、农夫带羊过河 2、农夫回来 3、把狼带过河 4、把羊带回来 5、带蔬菜过河 6、农夫回来 7、把羊带过河
计算机解决问题的基本过程
分析问题 设计算法
检测结果
编写算法 调试运行
输入变量n的 值 f←1 i←1
i ≤n?
N
Y
f ← f*i i ← i+1
输出变量f的值
结束
算法及其实现
Private Sub Command1_Click() Dim i as integer, n as integer Dim f as Long n = Val(Text2.Text) f=1 i=1 Do Wile i <=n f=f*I i=i+1 Loop Text2.Text =STR(f) End Sub
用框图和流程线来表示,简洁明了,形象直观,更加标准化。
计算机语言:
专业化,对使用人员有较高要求。
算法及其实现
1.计算机能直接识别和处理的语言是 (C )。 A、汇编语言 C、机器语言 B、自然语言 D、高级语言
2、下列哪一个是计算机的高级语言( C ) A、PhotoShop B、PowerPoint C、Pascal D、B++
相关文档
最新文档