浙教版-信息技术-必修1-2.1-算法的概念及描述--ppt课件.pptx

上传人:飞****2 文档编号:92570039 上传时间:2023-06-08 格式:PPTX 页数:23 大小:1.10MB
返回 下载 相关 举报
浙教版-信息技术-必修1-2.1-算法的概念及描述--ppt课件.pptx_第1页
第1页 / 共23页
浙教版-信息技术-必修1-2.1-算法的概念及描述--ppt课件.pptx_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《浙教版-信息技术-必修1-2.1-算法的概念及描述--ppt课件.pptx》由会员分享,可在线阅读,更多相关《浙教版-信息技术-必修1-2.1-算法的概念及描述--ppt课件.pptx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第2章 算法与问题解决浙教版(2019版)信息技术(高中)必修1 数据与计算2.1 算法的概念及描述 学习目标123算法的概念。算法的特征。算法的要素。算法的描述。412重点难点重点:算法的描述。难点:算法的描述。课堂导入“算法”指的是解决某个问题的一组步骤。人们在解决问题时都会经历一个“怎么做”的阶段,而思考“怎么做”的过程,就是“算法设计”的过程。用计算机解决问题时,通常先设计算法,然后将算法用合适的计算机程序设计语言表示,计算机就能按照人们设计的计算机程序进行高速、准确的自动化处理,从而帮助人们解决问题。2.1.1 算法的概念图2.1.1 高一新生报到流程古代的算法主要指的是“算术”,即

2、数值的算术运算。随着科学技术的发展,算法的内涵和外延逐渐发生变化。古代的算法广义地讲,算法指的是解决问题或完成任务的一系列步骤。既包括传统意义上计算任务,也可以是生活中各种事物的处理。广义算法 计算机领域内,算法指的是用计算机解决问题的步骤。是为了解决问题而让计算机执行的有序、无歧义的,有限步骤的集合。1、算法的定义计算机算法拓展链接 穷举算法也称枚举算法,指的是在求解过程中,先按照一定的顺序一一列所有可能的解,然后用条件判断列举出的可能解是否为正确解。穷举法一般适合解决解集为离散的且范围明确的问题。“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买鸡百,问翁、母、雏各几何?”这是我国古

3、代数学家张丘建在算经中提出的经典问题。同时,他还在书中给出了解决该问题的算法“鸡翁每增四,鸡母每减七,鸡雏每益三,即得。百钱买百鸡 穷举算法2、算法的特征 有穷性 算法必须能在执行有限个步骤之后终止。确切性 算法中的每一次运算都有明确的定义,具有无二义性,并且可以通过计算得到唯一的结果。输入项 一个算法有0个或多个输入。所谓0个输入是指本身给出了初始条件。输出项 算法一定要有输出。任何算法都不能“无功而返”。可行性 算法中执行的任何运算都可以在有限的时间内完成。为防止用户账户被盗,在用户登录账户时,有些信息系统会限制用户尝试输入密码的次数(如图2.1.2),一旦超出限定的次数,系統就会禁止輸入

4、并要 求进行注册账户验证。下面为某系统验证用户输入密码正确与否的算法:密码输入错误次数初始化为零。接受用户输入的密码。将用户输入的密码与原来设置的密码比较,若相同则转,否则转。密码输入错误次数增加1。若密码输入错误次数少于5,输出信息“密码错误,请再次输入密码!”,然后转;否则,输出信息“密码输入错误已达5次,请通过注册邮箱找回密码”,然后转。问题与讨论:接受用户输入的密码,然后转。密码正确,进入系统。密码验证算法结束。请结合上述算法,谈谈算法的特征在其中的具体体现。比如,该算法体现了“可行性”特征,因为算法中的“判断密码正确性”“密码输入错误次数统计”等处理都是现实中确实可以实现的。3、算法

5、的要素数据运算控制转移 用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。在对数据进行运算时,必须明确每一步的运算是什么、对哪些数据进行运算等。在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,这时就需要运用控制转移来执行不同的操作。很多设备的“自动”功能,都是内部算法控制的结果。比如,在夏天把空调温度设定在26C(如图2.1.4所示),每当空调内部的温度传感器测得室内温度小于或等于26C时,算法就会“告诉”空调已经到达目标温度,可以暂停工作,空调就会“自动”暂时关闭压缩机的运行。这样,既确保了室内温度,又实现了节能环保。还有很多设备

6、用算法来帮助设备实现自动化。与同学讨论交流,哪些设备来用算法实现了自动化?并尝试说出这些设备实现自动化控制的算法。问题与讨论:2.1.2 算法的描述1、用自然语言描述算法图2.1.5 停车场中的车位探测解决本问题的算法可以用自然语言描述如下。(1)输入变量fag的值。(2)若flag的值为1,则设置指示灯为绿色,输出“空车位”;否则,设置指示灯为红色,输出“非空车位”。2、用流程图描述算法图形 名称 功能开始/结束符 表示算法的开始或结束输入/输出 表示数据的输入或输出处理框 表示数据的运算处理判断框 表示算法中的条件判断流程线 表示算法中的流向连接点 表示算法中的转接“N-S图”是由美国学者

7、纳西(Nassi)和斯奈德曼(Shneiderman)提出的一种在流程图中完全去掉流程线,全部算法写在一个矩形框内的算法描述方式。相比于原来的流程图描述,结构性显得更好,也更有助于高效地编写程序。前面车位探测中的算法,可用N-S图表示成如下形式。输入flag 的值指示灯绿色 指示灯红色输出“空车位”输出“非空车位”Flag=1?是 否拓展链接:问题与讨论:结合实例,与同学一起分组讨论:为什么算法必须要有“输出”,但有时却可以没有“输入”?3、用伪代码描述算法 伪代码指的是一种比较直观简洁的、符号接近计算机程序代码的算法描述方式,其风格很像计算机程序设计语言,但又不是真正的可以被计算机理解的代码

8、。伪代码的表示方法没有统一、严格的规定,只要定义合理、表达正确即可。格式1:If条件 then(语句序列1)Else(语句序列2)格式2:If条件 then(语句序列1)格式:while条件(循环体)条件判断语句循环语句Flag 车位探测结果;#将测得的车位当前状态值输入给变量flagIf flag=1 then(指示灯绿色 输出“空车位”)Else(指示灯红色 输出“非空车位”)4、用计算机程序设计语言描述算法void MainWindow:on_pushButton_clickedO int flag=ui-lineEdit-textO.toIntO;if(flag=1)(ui-label

9、_4-setStyleSheet(color:green;);ui-label_4-setText(绿色);ui-label_5-setText(空车位”);elseui-label_4-setStyleSheet(color:red;);ui-label_4-setText(红色”);ui-label_5-setText(非空车位”);该程序的运行结果分别如图2.1.7 和图2.1.8 所示。该算法还可以用Python 程序设计语言描述如下:flag=int(input(“输入车位状态值:))if flag=1:print(绿色”)print(空车位)else:print(红色”)print

10、(非空车位)计算机程序设计语言 计算机程序设计语言经历了“机器语言一汇编语言一高级语言”的发展历程。机器语言中的指令由“0”“1”二进制码组成,机器执行效率高但可读性、维护性差。为了提升编程的效率,科学家用特定的符号(助记符)来表示各个机器指令,发明了汇编语言。科学家后来又发明了高级语言,用接近人类日常用语的符号来表示各类指令。常见的高级语言有Basic、C、C+、Java、Python、Ruby等。拓展链接1,某智能停车场车位引导系统中,通过一个区域控制器来统计、显示该区域空车位情况。当该区域控制器接收到每个车位发送的状态信息(“空车位”或“非空车位”)后,它会统计该区域当前的空车位总数,并将该信息通过引导屏呈现在停车库入口处(如图2.1.9),引导驾驶员有方向地寻找空车位。与同学讨论,该区域控制器可用怎样的算法来解决空车位的统计和显示问题?2,与同学一起讨论,是否可以设计出除本节介绍的四种算法描述方式之外的其他方式?并将第1题的算法用自己设计的方式加以描述。问题与讨论:谢 谢!Thanks!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁