算法的概念及描述 课件 2023-2024学年浙教版(2019)高中信息技术必修1_第1页
算法的概念及描述 课件 2023-2024学年浙教版(2019)高中信息技术必修1_第2页
算法的概念及描述 课件 2023-2024学年浙教版(2019)高中信息技术必修1_第3页
算法的概念及描述 课件 2023-2024学年浙教版(2019)高中信息技术必修1_第4页
算法的概念及描述 课件 2023-2024学年浙教版(2019)高中信息技术必修1_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.1算法的概念及描述农夫如何安全带这三样东西过河?一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条船。乘船时,农夫在场的时候,这三样东西相安无事。一旦农夫不在,狼会吃羊,羊会吃菜。船很小,只够农夫带一样东西过河。农夫该如何解此难题?方法一:1、农夫带羊过河,农夫回来;2、把狼带过河,把羊带回来;3、带蔬菜过河,农夫回来;4、把羊带过河。方法二:1、农夫带羊过河,农夫回来;2、带蔬菜过河,把羊带回来;3、把狼带过河,农夫回来;4、把羊带过河。农夫如何安全带这三样东西过河?2.1.1算法的概念广义:“算法”指的是解决问题或完成任务的一系列步骤。不仅仅指计算任务(算术),也可以是社会生活中各种事务的处理。计算机科学领域:“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。不仅包含了数值计算,还包含了非数值计算的数据处理。1.算法的定义为了让计算机理解算法中的步骤,用计算机能理解的语言来描述算法并将其输入到计算机中,这个过程就称为计算机程序设计。P41页

P41页

人机器到所属班级的班主任处签到注册;领取高一新生校园手册已缴费?是住校生?到所属教室班级休息到财务处缴费凭缴费单到高一公寓领取生活用品,布置床铺否否是是高一新生报到流程例:用求根公式求解一元二次方程的算法

一元二次方程的解的意义:能使一元二次方程左右两边相等的未知数的值称为一元二次方程的解。利用一元二次方程根的判别式()可以判断方程的根的情况。过程方法具体描述:

ax²+bx+c=0(1)输入一般形式下的二次项系数a,一次项系数b,常数项c;(2)计算判别式的值;(3)若,则计算,输出字符串“方程有实数解”,并输出x的值;否则,输出字符串“方程无实数解”。小绿P14例1

例:用求根公式求解一元二次方程的算法特征含义有穷性一个算法的处理步骤必须是有限的可行性一个算法中的每一步操作与要求都应该是算法执行者(人或机器)可以实施的,同时在现实环境中能做到并且能在有限时间内完成确定性算法中对于每个步骤的执行描述必须是明确的0个或多个输入数据可从外部输入,也可包含在算法中(可以没有输入)1个或多个输出算法必须包含至少一个输出,以告诉外界问题求解的结果(必须有输出)2.算法的特征把大象放冰箱是不是算法?不是算法,不满足算法的可行性。农夫过河是不是算法?是算法。思考:小绿P14例2

求根公式求解一元二次方程的算法:(1)输入一般形式下的二次项系数a,一次项系数b,常数项c(2)计算判别式

的值(3)若,则计算

,输出字符串“方程有实数解”,并输出x的值;否则,输出字符串“方程无实数解”要素含义数据明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据运算明确每一步的运算是什么、对哪些数据进行运算等控制转移有时需要根据数据或运算结果的特点进行不同的处理,这时就需要运用控制转移来执行不同的操作3.算法的要素a,b,c,

,x加减乘除,开根,平方若......,则......;否则........数据:在洗衣机执行洗衣算法前,必须进行洗涤时间、漂洗次数、脱水时间、每次洗涤所加水量的设置,并将设置产生的数据输入到算法中,洗衣机才能按照需求工作。运算:洗衣机的控制算法中包含“洗涤时间的计时”、“漂洗次数的统计”、“判断加水是否到达50升”等运算控制转移:在洗衣机的控制算法进水过程中,比如水量达到50升则关闭水阀,否则不关闭水阀,再如漂洗次数未达到2次时,需要继续加水到50升。3.算法的要素2.1.2算法的描述

设计出一个解决问题的算法,也需要用能被算法执行者理解的形式加以呈现,才能被算法执行者(人或计算机)理解并执行。算法的这种呈现就称为算法的描述。常见的算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等。2.1.2算法的描述课本P45

自然语言是人们在日常生活中交流使用的语言,如汉语、英语、德语、日语等。用自然语言描述算法通俗易懂,且不需要进行专门的学习和训练。阅读:停车场车位探测中的算法,尝试用自然语言描述该算法。自然语言描述如下:(1)输入变量flag的值。(2)若flag的值为1,则设置指示灯为绿色,输出“空车位”;否则,设置指示灯为红色,输出“非空车位。1.自然语言描述算法

流程图用一些图形符号表示规定的操作,并用带箭头的流程线连接这些图形符号,表示操作进行方向。2.流程图描述算法自然语言描述如下:(1)输入变量flag的值。(2)若flag的值为1,则设置指示灯为绿色,输出“空车位”;否则,设置指示灯为红色,输出“非空车位。2.流程图描述算法图形名称功能开始/结束框表示算法的开始或结束输入/输出框表示算法中数据的输入或输出处理框表示算法中数据的运算处理判断框表示算法中的条件判断流程线表示算法中的流向连接框表示算法中的转接尝试画出求根公式的流程图

伪代码指的是一种比较直观简洁的、符号接近计算机程序代码的算法描述方式,其风格很像计算机程序设计语言,但又不是真正的可以被计算机理解的代码。求根公式算法3.伪代码描述算法格式1:If条件then(语句序列1)Else(语句序列2)格式2:If条件then(语句序列1)条件判断语句格式:while条件(循环体)循环语句车位探测算法flag←车位探测结果;Ifflag=1then(指示灯绿色输出“空车位”)Else(指示灯红色

输出“非空车位”)

为了让计算机真正解决问题,需要将算法用某种计算机程序设计语言来描述,这个过程称为程序编写(或称代码编写)。4.计算机程序语言描述算法车位探测算法flag=int(input(“输入车位状态值:”))ifflag==1:print(“绿色”)print(“空车位”)else:print(“红色”)print(“非空车位”)求根公式算法a=int(input(“输入二次项系数:”))b=int(input(“输入一次项系数:”))c=int(input(“输入常数项系数:”))ref=b**2-4*a*cifref>=0:x1=((-b)+math.sqrt(ref))/(2*a)x2=((-b)-math.sqrt(ref))/(2*a)printf(“方程有实数解”)printf(“x1=”,x1)printf(“x2=”,x2)else:printf(“方程无实数解”)“N-S图”是由美国学者纳西(Nassi)和斯奈德曼(Shneiderman)提出的一种在流程图中完全去掉流程线,全部算法写在一个矩形框内的算法描述方式。相比于原来的流程图描述,结构性显得更好,也更有助于高效地编写程序。前面车位探测中的算法,可用N-S图表示成如下形式。输入flag的值指示灯绿色指示灯红色输出“空车位”输出“非空车位”flag=1?是否拓展链接小绿P14例3、例34、例5

2.流程图描述算法开始输入二项系数a,一项系数b,常数c计算判别式?计算输出方程无实数根输出方程有实数根输出x结束否是求两个正整数的最大公约数问题(1)输入两个正整数m和n。(2)若m<n,则交换m和n的值。(3)以m除以n,相除得到的余数为r。(4)若r=0,则输出n的值,算法结束;否则,执行步骤(5)。(5)令m=n,n=r,返回步骤(3)继续执行。辗转相除法更相减损术(1)输入两个正整数m和n。(2)判断两个数是否都是偶数,若是,则用2约简,直至出现奇数。(3)以较大的数(被减数)减去较小的数(减数),得到差。(4)若减数与差相等,则第二步约掉的若干个2与差的乘积就是最大公约数,算法结束;否则,执行步骤(5)。(5)将减数与差作为比较的数,返回步骤(3)继续执行。体验算法多样性1.算法的概念解决问题或完成任务的一系列步骤;为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合2.算法的特征有穷性;可行性;确定性;0个或多个输入;1个或多个输出3.算法的要素数据,运算,控制转移4.算法的描述自然语言、流程图、伪代码、计算机程序设计语言小结4.关于算法,下列叙述正确的是

A.一种算法只能用一种程序语言来实现B.流程图是算法的一种表示形式C.解决任何一个具体问题只有一种算法D.算法是解题方法的精确描述,它可以有无限个步骤B5.已知圆柱体底面圆半径r和高h,求圆柱体体积V的算法如下: ①V=πr2h

②输入底面圆半径r

③输出体积V

④输入圆柱体高h

计算圆柱体体积V,正确的次序是

A.①②④③ B.③②④①

C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论