2.1算法的概念与描述 课件-2022-2023学年高中信息技术人教/中图版必修1
|
30页
|
1439人阅读
|
52人下载
普通
内容正文:
请思考:
在小品《钟点工》中,宋丹丹讲了这样一个笑话:说要把大象装冰箱,一共分几步?
第一步 先把冰箱门打开
第二步 把大象放进去
第三步 把冰箱门关上
农夫过河。一个农夫带着一只狼,一只羊和一些菜过河。河边只有一条船,由于船太小,只能装下农夫和他的一样东西。
在无人看管的情况下,狼要吃羊,羊要吃菜,请问农夫如何才能使三样东西平安过河。请写出解决这个问题的步骤。
3
1、农夫带羊过河
2、农夫回来
3、农夫带狼过河
4、农夫带羊回来
5、农夫带菜过河
6、农夫回来
7、农夫带羊过河
1、农夫带羊过河
2、农夫回来
3、农夫带菜过河
4、农夫带羊回来
5、农夫带狼过河
6、农夫回来
7、农夫带羊过河
算法
算法是在有限步骤内解决某一问题所使用的一组定义明确的规则。在计算机科学领域,“算法”指的是用计算机解决问题,需要让计算机有序执行、无歧义、有限的步骤集合。
01
02
03
04
05
一个算法的处理步骤必须是是有限的。
1、农夫带羊过河
2、农夫回来
3、农夫带狼过河
4、农夫带羊回来
5、农夫带菜过河
6、农夫回来
7、农夫带羊过河
1、农夫带羊过河
2、农夫回来
3、农夫带菜过河
4、农夫带羊回来
5、农夫带狼过河
6、农夫回来
7、农夫带羊过河
打印输出所有的偶数
一个算法的处理步骤必须是是有限的。
100/正整数
算法中对于每个步骤的执行描述必须是明确的。
计算a@b的值
每个步骤都是可以做到并能在有限时间内完成。
初始数据可以从外界输入,也可以包含在算法之中
算法必须包含至少一个输出(没有输出的算法是没有意义的)
01
02
03
04
05
把大象放冰箱是不是算法?
不是算法,不满足算法的可行性。
农夫过河是不是算法?
是算法。
1、不能用算法描述“输出所有的偶数”,是因为不符合算法特征中的( )
A、有穷性 B、明确性 C、有输出 D、可行性
2、下列关于算法的描述,错误的是( )
A、算法可以说是解决问题的方法和步骤
B、算法是解决问题的精确描述
C、算法的特征有:有限个步骤完成、明确性、可行性
D、处理某个问题的算法往往具有唯一性
A
D
流程图
伪代码
算法的描述方式
自然语言
自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等。
优点:通俗易懂,容易理解。
缺点:冗长,容易出现“歧义性”。
有两个瓶子A和B ,A瓶装有雪碧,B瓶装有可乐,问如何把雪碧和可乐互换。即A瓶原来装雪碧,现改为装可乐,B瓶原来装可乐,现改为装雪碧。
1
准备好一个空瓶子C
2
把A瓶里的雪碧倒入C瓶中
3
把B瓶里的可乐倒入A瓶中
4
把C瓶里的雪碧倒入B瓶中
流程图是由一些简单的框图和箭头组成来描述算法的方式,框图用来表示算法的步骤。
开始
C← A
A← B
B← C
输出A、B的值
结束
开始
C← A
A← B
B← C
输出A、B的值
结束
图框内的符号“←”是赋值号,表示将赋值号右边的结果值存入左边的变量。
把A瓶里的雪碧倒入C瓶中
把B瓶里的可乐倒入A瓶中
把C瓶里的雪碧倒入B瓶中
伪代码是一种算法描述语言,它是介于自然语言和程序设计语言之间的人工语言来描述算法。伪代码书写方便、格式紧凑、表达精炼,比较容易被开发人员理解。
①A←雪碧,B←可乐
②c←a;
③a←b;
④b←c;
⑤output A,B
把A瓶里的雪碧倒入C瓶中
把B瓶里的可乐倒入A瓶中
把C瓶里的雪碧倒入B瓶中
自然语言 流程图 伪代码 计算机语言
优点 通俗易懂 结构清晰
寓意明确 直观简洁
写法灵活 能让计算机理解并执行
缺点 容易产生歧义 情况复杂时,过多的流程线影响算法的理解 错误不易排查,
计算机无法理解
并执行 有一定程序设计语言基础的人才能看懂
BMI是身体质量指数,是国际上常用的衡量人体肥胖程度和是否健康的重要标准。. 计算公式BMI=体重/身高的平方(国际单位kg/㎡)。理想BMI的范围是18.5~23.9。
输入身高、体重
1
2
3
计算BMI=体重/身高的平方
输出BMI
开始
BMI=体重/身高的平方
输入身高、体重的值
结束
输出BMI
在日常生活中,我们常常会碰到许多需要解决的问题,以下描述中最适合用计算机编程来处理的是( )
A.修改一张拍得不满意的数码照片
B.记录每月零花钱的开支情况
C.计算10000以内的奇数平方和
D.在因特网上查找自己喜欢的图片
C
练一练
在地铁站自动售票机买票的算法描述如下:
步骤1:选择地铁线路
步骤2:选择目的地站点
步骤3:选择需要购买的地铁票数量
步骤4:放入一张纸币或一枚硬币
步骤5:如果多次投入纸币执行步骤4
步骤6:若