资源简介 (共19张PPT)微项目1探讨生活中的算法之美Phthon编程------算法概述 1通过探寻生活算法的应用并体验它的特点与用途,了解计算机算法以及计算思维掌握计算机算法的基本特征及常用描述方式。算法决定问题解决的过程、影响问题解决的效率,了解算法效率,逐步掌握算法的设计方法与技巧。学习目标活动一:用算法提高效率——探究生活中的算法同学们在这个年龄已经能够帮助父母做一些力所能及的家务活了,如炒菜、泡茶等。有一些家务活做下来,往往需要经历一个相对复杂的过程,这其中是否有方法、经验可以总结呢 讨论 问题:1. 讨论在泡茶的“洗茶具、烧水、泡茶”流程中,可以有哪些不同顺序,怎样统筹实施才更节约时间 炒菜 摘菜 洗菜 切菜 热锅 放食用油 放香料 加菜 翻炒 放盐 出锅时间 5分钟 3分钟 2分钟 1分钟 1分钟 30秒 30秒 2分钟 10秒 1分钟泡茶 洗茶具 烧水 泡茶操作时间 5分钟 10分钟 3分钟高效算法解决问题迭代算法枚举算法冒泡排序桶排序排序算法自定义函数递归算法分治算法生活算法+++++++++发现问题解决问题的 步骤 、方式 和方法(更节约时间)(解决更全面)(高效)(计算机的超强运算能力)(不依赖某种语言的表达)程序设计的骨架和灵魂使用计算机解决问题,需要经历 分析问题、设计算法、编写代码、运行程序四个主要阶段。其中,算法设计是非常重要的一环。为保证能够顺利处理问题,就需要设计符合计算机规范的算法。程序算法C语言Java语言Python语言VB语言……发现问题解决问题计算机语言计算思维(学科核心)算法是计算机科学领域最重要的基石,万变不离其宗。编程语言随着计算科学与技术的发展日新月异,所以算法思想是基础核心。基于特定编程语言的程序代码是外在形式。使用计算机解决生活中的问题的思考方式(1)算法:算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。(解决问题的方法步骤)(2)计算机算法:计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述。算法现实生活中,算法是解决问题、实现目标的方法,它对应于一组定义明确的规则或者操作步骤。计算机算法也对应一组表述计算机执行计算任务过程的规则,把这组规则转换为计算机指令,来指挥计算机完成相应的工作,就形成了计算机程序。小组讨论:算法是什么?算法和程序是什么关系?算法的特征1.一个算法必须在有限步骤内结束,不能无限循环。2.算法的每一个步骤必须具有确定含义,不能有任何歧义。3.输入的数据是算法加工处理的对象,输出的数据是算法解决问题的结果。一个算法可以有零个或多个输入,至少有一个输出。4.算法中的每一条指令必须是可执行的,通过计算机可以实现。(1)有穷性。(2)确定性。(3)输入、输出。(4)可行性。(5)确定性算法用自然语言表达简单易懂,但描述较为冗长和模糊,逻辑也不够清晰。伪代码、流程图是描述算法的结构化方法,避免了自然语言语句中常见的歧义问题。算法的描述方法流程图自然语言伪代码活动2:探究算法的应用流程图自然语言伪代码探究算法在生活中的应用理解算法的不同描述方式1.做游戏,找规律同学们有没有玩过一种叫作“拍7”的游戏 假设一起游戏的有33人,请记录经过3轮报数后拍手的数据。自然语言 描述方法 (案例一)游戏规则:把从1开始的自然数中含“7”的数称作“明7”;把不含“7”且是“7”的倍数的数称作“暗7”。从1开始轮流报数,轮到报“明7”或“暗7”的人,不能出声,只拍一下手。自然语言自然语言描述算法 (案例二)辗转相除法:是把这2个数的较小数去除较大数,得到的余数去除之前的除数,依次进行,直到余数为0为止,最后一次的除数就是他们的最大公约数。这个方法非常适合无法做质因数分解(一下子看不出质因子)的时候快速使用。辗转相除法-------求公约数 ——方法之一求两数 最大公约数: 求两个数25,15的最大公约数请查阅相关资料,讨论如何应用“辗转相除”算法来求最大公约数。例如:a=25,b=15 a/b商1余10a=15,b=10 a/b商1余5a=10,b=5 a/b商2余0最后一个余数为0的除数是5,5就是所求的最大公约数。自然语言流程图?流程图提供了一种图形化描述算法的方式,可以使解决问题的步骤可视化,有助于人们理解解决问题的过程。流程图大多是从顶部开始向下 绘制的,主要符号见下表。流程图 描述方法符号 名称 用途开始或结束 算法的开始或结束输入或输出 算法中变量的输入或输出处理(过程) 变量的赋值等数据处理选择(判断) 条件判断,确定采用路径中的哪一条流程线 显示过程的操作顺序(流向)流程图中的基本符号(部分)流程图流程图-----------案例一 “拍7” 流程图流程图流程图-----------案例二 最大公约数 流程图流程图伪代码用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描沭算法,其目的是使被描述的算法可以容易地转化为运用任何一种编程语言(C, Java,Python等)实现。伪代码描述算法在形式上并不是非常严格,在某些方面可能显得不太正规,但它可以屏蔽算法的部分实现细节,让我们专注于算法的核心思想和关键步骤。伪代码描述方法——案例一如 :if 7点以前:锻炼elif 8点到17点:上学else :休息伪代码1、什么是算法?算法在程序设计中的作用?2、算法的描述方式有几种?各自的特点?课堂小结3、算法基本特征有哪些?算法枚举 算法迭代 算法排序 算法递归 算法分治 算法寻找问题多解探究数据的变化数据整理(升降序)优化程序提高查找效率本章内容简介谢谢! 展开更多...... 收起↑ 资源预览