资源简介 (共36张PPT)信息技术王凤龙灵璧县第二中学 王凤龙灵璧县第二中学 王凤龙粤教版普通高中教科书信息技术 必修13.2 算法及其描述灵璧县第二中学 王凤龙学习内容(P48)问题思考杯子A杯子B杯子C有3个同样大小装饮料的杯子,杯子A装雪碧,杯子A装可乐,杯子C是空杯。请用语言描述如何将杯子A和杯子B中的饮料相互交换呢?信息技术王凤龙信息技术王凤龙信息技术王凤龙杯子A杯子C杯子C杯子A杯子A杯子B杯子C问题解决杯子B杯子B杯子A杯子B杯子C① 将杯子A的饮料倒入杯子C中② 将杯子B的饮料倒入杯子A中③ 将杯子C的饮料倒入杯子B中经典/常见算法之“变量互换算法”程序实现信息技术王凤龙信息技术王凤龙信息技术王凤龙杯子A杯子C杯子C杯子A杯子A杯子B杯子C问题解决杯子B杯子B杯子A杯子B杯子C① 将杯子A的饮料倒入杯子C中② 将杯子B的饮料倒入杯子A中③ 将杯子C的饮料倒入杯子B中经典/常见算法之“变量互换算法”程序实现算法与程序的关系:算法是解决问题的方法与步骤,是程序设计的"灵魂"与"核心" ,而程序是算法的计算机代码的具体实现。分析问题设计算法编写程序调试运行信息技术王凤龙信息技术王凤龙算法工程师 各大互联网公司的算法工程师享有优厚的待遇,但同时也有着较高的技术要求以上数据来自于BOSS直聘以上数据来自于BOSS直聘信息技术王凤龙一、算法的概念广义、狭义P48信息技术王凤龙算法的概念算法有广义和狭义之分。广义的算法是指解决问题或完成任务所需要的一系列步骤,其执行者往往是人。西红柿炒鸡蛋做法合肥旅游计划自动挡汽车启动步骤信息技术王凤龙算法的概念算法有广义和狭义之分。狭义的算法特指计算机解决问题的步骤,是能够被计算机机械执行的动作或指令的有限集合。① 开始② 令t=1,s=1;③ s = s × t;④ t = t + 1;⑤ 如果 t<10,则转到步骤③;⑥ 否则,输出 s的值;⑦ 结束输入 a,b,cΔ = b**2 - 4*a*cif (Δ < 0)输出 方程无实根else if (Δ == 0)x = -b / (2*a)输出 方程有两个相等的实根:xelse if (Δ > 0)x1 = (-b + 求平方根(delta)) / (2*a)x2 = (-b - 求平方根(delta)) / (2*a)输出 方程有两个不相等的实根:x1、x2求10的阶乘 算法求两个数的最大值 算法解一元二次方程 算法信息技术王凤龙算法的特征下列两个都是“求前100项正整数和”的算法,哪个正确、可行呢?算法A算法B信息技术王凤龙二、算法的特征有穷性、确定性、可行性、数据输入、数据输出P49信息技术王凤龙算法执行的每一个步骤的表述都必须是确定的,无歧义的算法的特征有穷性一个算法的执行步骤必须是有限的算法的每一个步骤都是可执行的并且能在有限的时间内完成求所有正整数的和求前100项正整数的和输出所有5的倍数输出100以内所有5的倍数确定性可行性加入若干糖浆加入少许珍珠加入适量奶茶摇一摇……加入30克糖浆加入80g珍珠加入140ml奶茶摇一摇……给我来一杯中杯的椰果奶茶系统等待若干秒系统等待0.5秒写出π的值写出π的值,精确到小数点后六位我 算法的特征0个或多个输入算法可以有零个或多个输入1个或多个输入算法至少有一个或多个输出输出不仅可以是数值、文本,也可以是图形、图像、视频、声音、文件、电子信号、页面跳转等信息技术王凤龙0个输入2个输入输入除了是文本、数值,还可以是图片、视频、声音、文件、生物特征、电子信号、传感器信号等信息技术王凤龙三、算法的描述自然语言、流程图★、伪代码P49信息技术王凤龙信息技术王凤龙出租车计费算法 设计出租车计费规则包含以下几个方面:1. 初始费用:也就是起步价,前3公里(含3公里的)的费用固定为8元。2. 里程费用:行驶超过3公里后,每增加1公里将按2元计费。请你根据上述场景描述设计出租车计费的算法?设定出租车行驶的公里数为s,所需费用为money。根据题意可知,当s≤3时,money=10,当s>3时,money= 8+(s-3)*2,求出money的值即为所需的费用。分析问题信息技术王凤龙用【自然语言】描述算法自然语言是人们在日常生活中交流使用的语言,如汉语、英语等。自然语言描述算法通俗易懂,容易掌握。但当步骤较多时,用自然语言就难以将其清晰地描述出来,并且由于自然语言本身的特征,导致描述时容易出现歧义和难以理解。输入行驶里程s;money = 0;如果s≤3,则money = 10;否则,money = 8+(s-3)*2;输出费用moneyt=0;x=1;y=1;z=1;如果满足式子6x+5y+4z=50,则解的个数加1(即t=t+1,表示右边式子的值赋值给左边式子),并输出这个解(即输出t,x,y,z的值);z=z+1;如果z≤12则转步骤5,否则继续步骤;y=y+1;如果y≤10则转步骤4,否则继续步骤j;x=x+1;如果x≤8则转步骤3,否则继续步骤!2;结束。自然语言描述 出租车计费算法自然语言描述 求方程6x+5y+4z=50正整数解算法这门没有锁我不是吃素的有歧义和难理解穷举法信息技术王凤龙用【流程图】描述算法流程图是通过规定的图形和带有箭头的流程线来描述算法的一种方法。相对于自然语言,流程图在描述算法时具有直观形象、结构清晰、简洁明了等优点。因此,流程图广泛应用于项目管理、软件开发、工程、教育等各个领域。图 形 名 称 功 能开始/结束框 表示算法的开始或结束输入/输出框 表示算法中变量的输入或输出处理框 表示算法中变量的计算和赋值判断框 表示算法中的条件判断流程线 表示算法中的流向流程图描述 出租车计费算法流程图的基本图形及其功能信息技术王凤龙用流程图描述算法 运行题1题2若输入11、25,则上述流程图输出________上述流程图的输出结果为________1424s t1 22 36 424 5若输入36、28,则上述流程图输出________8信息技术王凤龙伪代码求方程6x+5y+4z=50正整数解的流程图算法t=0for x in range(1,9):for y in range(1,11):for z in range(1,13):if(x*6+y*5+z*4==50):{t=t+1;输出解x、y、z;}给出解的个数tPython程序信息技术王凤龙信息技术王凤龙用【伪代码】描述算法伪代码是一种用介于自然语言和计算机语言之间的文字和符号来描述算法的方式,其风格很像计算机程序设计语言,但又不是真正的可以被计算机理解的代码。相对于自然语言和流程图,伪代码结构清晰、格式紧凑,更易于向计算机程序过渡。伪代码描述 出租车计费算法输入公里数 smoney = 0if (s<=3) :{money = 8;}else{money = 8+(s-3)*2;}输出 moneypython语言编写的程序C语言编写的程序信息技术王凤龙信息技术王凤龙算法的描述描述方式 特点 优点 缺点自然语言 序号标注+大量文字 通俗易懂、容易掌握 不易描述,容易歧义流程图 各种图形 直观形象、简洁清晰 绘制较繁琐,占空间较大伪代码 程序代码+极少量文字 结构清晰、便于过渡 需要一定的编码基础输入行驶里程s;money = 0;如果s≤3,则money = 10;否则,money = 8+(s-3)*2;输出费用money输入公里数 smoney = 0if (s<=3)money = 8elsemoney = 8+(s-3)*2输出 money自然语言流程图伪代码信息技术王凤龙信息技术王凤龙四、算法的三种基本控制结构顺序结构、选择结构、循环结构P52信息技术王凤龙算法的三种基本控制结构任何复杂的算法都可以使用以下三种基本控制结构组合表示顺序结构选择结构循环结构自上而下一条线有分支、无回路有分支、有回路信息技术王凤龙算法的三种基本控制结构 判断选择结构求两个数的最大值 算法顺序结构求圆的周长和面积 算法循环结构求4的阶乘 算法信息技术王凤龙信息技术王凤龙总结信息技术王凤龙信息技术王凤龙真题练习(1/5)A. 自然语言B. 机器语言C. 流程图D. 伪代码1、以下不属于算法的描述方式的是 ( ) B2、用介于自然语言和计算机语言之间的文字和符号来描述,并且便于向计算机程序设计语言过渡的算法是 ( ) A. 自然语言B. 机器语言C. 流程图D. 伪代码A. 输入边长,求正方形的面积B. 求前一百项正整数和C. 求两个数的最大公约数D. 输出所有3的倍数3、下列问题不能用算法描述的是 ( ) DD信息技术王凤龙4、算法的输出结果至少应有 ( ) A.0个B. 1个C. 2个D. 3个信息技术王凤龙真题练习(2/5)B灵璧县第二中学 王凤龙5、API是指空气污染指数,右图图1虚线部分的程序框图应该是 ( ) A.B.D.C.图1D信息技术王凤龙灵璧县第二中学 王凤龙6、右图图2流程图使用的算法控制结构是 ( ) A. 顺序结构B. 选择结构C. 循环结构图27、若用户输入5、9、7,则右图图2流程图的输出结果为 ( ) A. 9B. 5C. 7信息技术王凤龙真题练习(3/5)BA8、右图图3流程图使用的算法控制结构是 ( ) A. 顺序结构B. 选择结构C. 循环结构信息技术王凤龙真题练习(4/5)C灵璧县第二中学 王凤龙图39、右图图3流程图的输出结果为 ( ) A. 9、18B. 12、18C. 9、30C. 12、30BK S0 03 36 99 181210、小明设置了一个每天早上都响的闹钟。平时闹钟响后,他会关掉闹钟然后起床,但如果是周末他会关掉闹钟睡到自然醒,下面流程图中(1)、(2) 处分别应该填入 ( ) 信息技术王凤龙真题练习(5/5)A灵璧县第二中学 王凤龙A. 是(Y)、否(N)B. 否(N)、是(Y)C. 是(Y)、是(Y)C. 否(N)、否(N)信息技术王凤龙信息技术王凤龙信息技术王凤龙信息技术王凤龙常见算法思想:穷举法穷举法又称为暴力破解法。其基本思想是穷尽题目条件范围所有可能是解的情况,从而找到符合题目要求的解。因此,穷举法适用于题目解的个数有限且可以一一列举的情况。用户输入一个数字,猜这个数是多少 输出1000~9999范围内所有能被13和17同时整除的整数 鸡兔同笼,共有35个头,94只脚。求鸡和兔各多少只 以上解题程序均使用python语言编写信息技术王凤龙信息技术王凤龙常见算法思想:解析法穷举法是通过找出解决问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解的方法,具体表现为利用成熟的数量关系、公式和定理来解析各种问题。以上解题程序均使用python语言编写输入圆的半径,求圆的周长和面积利用求根公式解一元二次方程鸡兔同笼信息技术王凤龙作业利用思维导图软件整理本节课知识第三章 算法基础信息技术王凤龙信息技术王凤龙附页:流程图应用考试报名流程图工业生产流程图项目管理流程图信息技术王凤龙信息技术王凤龙附页:程序运行结果求方程6x+5y+4z=50正整数解的Python程序程序运行结果信息技术王凤龙本节课到此结束 展开更多...... 收起↑ 资源预览