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

下载本文档

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

文档简介

第二章

算法与问题解决1、算法的概念及描述2、算法的控制结构3、用算法解决问题的过程12.1算法的概念及描述

2132算法的定义算法的特征算法的要素4算法的描述主要内容3问题:狼、菜、羊过河有一个牧羊人带着一头羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,请你说说牧羊人应如何过河?4过河步骤:过河的步骤:第一步:人将羊运过去第二步:人返回第三步:人将菜运过去第四步:人将羊运回来第五步:人将狼运过去第六步:人返回第七步:将羊运过去5那到底什么是算法?

6算法的定义古代的算法古代的算法主要指的是”算术”,即数值的算术运算。随着科学技术的发展,算法的外延和内涵逐渐发生着变化。广义算法算法指的是解决问题或完成任务的一系列步骤。既包括传统意义上计算任务,也可以是生活中各种事物的处理。计算机算法计算机领域内,算法指的是用计算机解决问题的步骤。是为了解决问题而让计算机执行的有序执行的、无歧义的,有限步骤的集合。7算法的特征有1个或多个输出有0个或多个输入确定性可行性有穷性8用计算机解决问题,本质上是“数据运算”的方式来实现的。

9算法的要素10数据运算控制转移能否描述算法的要素在洗衣机洗衣服时的体现数据:在洗衣机执行洗衣算法前,必须进行洗涤时间、漂洗次数、脱水时间、每次洗涤所加水量的设置,并将设置产生的数据输入到算法中,洗衣机才能按照需求工作。运算:洗衣机的控制算法中包含“洗涤时间的计时”、“漂洗次数的统计”、“判断加水是否到达50升”等运算。控制转移:在洗衣机的控制算法进水过程中,比如水量达到50升则关闭水阀,否则不关闭水阀,再如漂洗次数未达到2次时,需要继续加水到50升。11控制结构12分支结构先进行条件判断,再根据判断结果分别执行不同处理的控制结构。①首先进行条件判断,根据条件满足与否来决定执行哪个分支。②在一个分支结构中,必定有一个分支被执行,其他的分支则被忽略。顺序结构算法中各个步骤按照先后顺序依次执行的结构。①每个步骤按照算法中出现的顺序依次执行。②每个步骤一定会被执行一次,而且只执行一次。循环结构算法执行过程中,在条件控制下,某些操作步骤需要重复执行(循环)的控制结构。案例:某停车场每个车位的上方都装有传感器(车位探测器)前方装有车位指示灯(空车位显示绿色,否则显示红色)。车位上方的传感器探测下方的车位是否为空,然后根据探测结果控制车位指示灯的颜色并向区域控制器发送该车位的状态信息(“空车位”或“非空车位”)。请用算法描述上面的案例。算法的描述13(1)自然语言描述算法:将传感器回传的数据作为输人数据并进行数字化设定,若测得空车位,则用输入数值1表示,否则用输人数值0表示。用变量flag保存该输人数据。输入flag的值,根据flag的值设置车位上方指示灯的颜色,并输出车位状态(“空车位”或“非空车位”)。(1)自然语言描述算法:解决本问题的算法可以用自然语言描述如下:(1)输人变量flag的值。(2)若flag的值为1,则设置指示灯为绿色,输出“空车位”;否则,设置指示灯为红色,输出“非空车位”。算法的描述——自然语言14自然语言描述算法的优缺点15咬死猎人的狗咬死猎人的“狗”咬死“猎人的狗“咬“死猎人的狗“咬死“猎人的”狗优点容易理解缺点书写烦琐,不确定性,对复杂的问题难以表达准确,不能被计算机识别和执行。算法的描述——流程图16算法的描述——流程图图形名称功能开始/结束符表示算法的开始或结束输入/输出表示数据的输入或输出处理框表示数据的运算处理判断框表示算法中的条件判断流程线表示算法中的流向连接点表示算法中的转接17常用的流程图基本图形及其功能算法的描述方法——流程图开始输入苹果的重量xX>2?Y=X*1.5Y=2*1.5+(X-2)*1.5*0.8输出应付款y结束YN案例1:(1)输入苹果的重量x(2)判断苹果的重量是否大于2千克(3)如果苹果的重量不大于2千克,应付款y=x*1.5(4)如果苹果的重量大于2千克,应付款y=2*1.5+(x-2)*1.5*0.8(5)输出应付款的金额18算法的描述——流程图案例2:用流程图表示交换a和b的值,并输出。开始aa+bba-baa-b结束流程图中a和b为变量,“”表示赋值。如果a的值为15,b的值为10,代入到流程图中,看看结果是什么?输入变量a,b的值输出变量a,b的值19使用流程图描述算法的优缺点优点:直观、形象、结构清晰缺点:情况复杂时,流程线过多,影响理解。不能被计算机识别和执行。算法的描述——N-S图“N-S图”是由美国学者纳西(Nassi)和斯奈德曼(Shneiderman)提出的一种在流程图中完全去掉流程线,全部算法写在一个矩形框内的算法描述方式。相比于原来的流程图描述,结构性显得更好,也更有助于高效地编写程序。前面车位探测中的算法,可用N-S图表示成如下形式。输入flag的值指示灯绿色指示灯红色输出“空车位”输出“非空车位”Flag=1?是否拓展链接:20算法的描述——伪代码(3)伪代码描述算法:flag←车位探测结果;#将测得的车位当前状态值输入给变量flagIfflag=1then(指示灯绿色输出“空车位”)Else(指示灯红色

输出“非空车位”)1.条件判断语句格式1:If条件then(语句序列1)Else(语句序列2)格式2:If条件then(语句序列1)2.循环语句格式:while条件(循环体)举例:a的值为5Whilea>1a=a–1输出a的值21本书语法约定:算法的描述方法——代码(4)计算机程序设计语言描述算法:C++程序设计语言:voidMainWindow::on_pushButton_clicked(){intflag=ui->lineEdit->text().toInt();if(fag==1){ui->label_4->setStyleSheet(“color:green;”);ui->label__4->setText(“绿色”);ui->label_5->setText(“空车位”);}else{ui->label_4->setStyleSheet(“color:red;”);ui->label_4->setText("红色");ui->label_5->setText("非空车位");}}Python程序设计语言:flag=int(input("输入车位状态值:"))ifflag==1:print("绿色")print("空车位")else:print("红色")print("非空车位")22算法的描述方法——程序PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)Ifx<=2Theny=x*1.5Elsey=2*1.5+(x-2)*1.5*0.8EndIfText2.Text=yEndSub开始输入苹果的重量xX>2?Y=x*1.5Y=2*1.5+(x-2)*1.5*0.8输出应付款y结束YN23算法的描述常见的算法描述自然语言流程图伪代码计算机程序设计语言24算法的择优解决同一个问题可能有不同的算法

著名数学家华罗庚“烧水泡茶”的两个算法。算法一第一步:烧水;第二步:水烧开后,洗刷茶具;第三步:沏茶。

算法二第一步:烧水;第二步:烧水过程中,洗刷茶具;第三步:水烧开后沏茶。第二个算法的科学性在于应用了“统筹方法”区别?哪个更高效?一个好算法必须用到科学的方法25小结——算法的概念及描述1.算法的定义:解决问题的方法和步骤2.算法的特

温馨提示

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

评论

0/150

提交评论