资源简介 (共28张PPT)第三章 算法基础信息技术 必修1粤教版普通高中教科书数据与计算复习回顾1、算法:算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。2、算法的特征:1、有穷性:一个算法在执行有穷步之后必须结束。2、确定性:算法执行的每一步骤必须有确切的定义,不能出现模棱两可的情况3、数据输入:一个算法必须有零个或多个输入,以刻画运算对象的初始情况。4、数据输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是没有意义的。5、可行性:算法中执行的任何计算步骤都可以内分解为基本的课执行的操作步骤,即每个计算步骤都可以在有限的时间内完成。自然语言表示法 流程图表示法 伪代码表示法示例 辗转相除法的算法描述 ①输入两个正整数m,n(m>n); ②计算m除以n所得的余数r; ③m=n,n=r; ④若r=0,则m,n的最大公约数等于m;否则转到步骤②; ⑤输出最大公约数m; ⑥结束。if m < n:m, n = n, mr = 1while r != 0:r = m% nm = nn = rprint m复习回顾3、算法的描述复习回顾4、三种基本控制结构复习回顾5、选题探究选题一:1.求1000以内的水仙花数水仙花数的含义:“水仙花数”是一个三位数其各位数字的立方和等于该数本身。例如:13+53+33=153。求1000以内的水仙花数自然语言描述:1、从第一个三位数n开始2、将三位数拆分为百位数a、个位数b和十位数c2、计算a3+b3+c3=n是否成立,如果成立,输出n3、n=n+14、执行到999结束流程图描述:选题二:韩信点兵原有士兵约1500,死伤四五百,现点兵,3人一排,结果多出2名;接着命令士兵5人一排,结果多出3名;他又命令士兵7人一排,结果又多出2名,士兵约一千多,具体多少人 自然语言描述:1、起始n=10002、判断n整除3余数2是否成立,如果成立转3,否则转53、判断n整除3余数2是否成立,如果成立转4,否则转54、判断n整除3余数2是否成立,如果成立转输出n,否则转55、n=n+16、判断n<=1100是否成立,成立转2,否则转77、结束流程图描述:复习回顾5、选题探究导入我们来看看选题的程序实现(启动Python的IDLE运行以下程序):选题一:1.求1000以内的水仙花数选题二:韩信点兵for j in range(1,10):n=int(input("请输入士兵人数范围:"))for i in range(n,0,-1):if i%3==1 and i%5==2 and i%7==4:print("士兵人数是:",i)breakif i==1:print("无解")j=j+1n=0i=100while(i<1000):a=i//100b=i//10%10c=i%10if a**3+b**3+c**3==a*100+b*10+c:n=n+1print("第",n,"个水仙花数:",i)i=i+1问题:1、什么是计算机程序?2、程序是如何运行的?3、程序语言有那些?新知3.3.1计算机程序3.3.2计算机程序设计语言目录CONTENTS3.3 计算机程序计算机程序是指计算机可以识别运行的指令集合。计算机程序的概念控制3.3.1 计算机程序探究活动一:计算机程序选题一:1.求1000以内的水仙花数选题二:韩信点兵for j in range(1,10):n=int(input("请输入士兵人数范围:"))for i in range(n,0,-1):if i%3==1 and i%5==2 and i%7==4:print("士兵人数是:",i)breakif i==1:print("无解")j=j+1n=0i=100while(i<1000):a=i//100b=i//10%10c=i%10if a**3+b**3+c**3==a*100+b*10+c:n=n+1print("第",n,"个水仙花数:",i)i=i+11、 计算机程序的概念3.3.1 计算机程序探究活动一:计算机程序2、计算机的工作过程计算机的五大组成部分:运算器、控制器、存储器、输入设备、输出设备。运算器(内)存储器控制器输入设备输出设备数据流控制流程序数据请求信号响应信号反馈信号操作指令响应信号请求信号取数存数地址指令3.3.1 计算机程序探究活动一:计算机程序2、计算机的工作过程3.3.2 计算机程序设计语言1、 计算机程序语言探究活动二:计算机程序设计语言用自然语言、流程图或伪代码所描述的算法不能被计算机直接执行,还必须将算法按一定规则编写成计算机能识别和运行的程序。计算机程序设计语言,是指一组用来定义计算机程序的语法规则,通常简称“编程语言”。3.3.2 计算机程序设计语言2、 计算机程序语言的发展历程探究活动二:计算机程序设计语言机器语言汇编语言高级语言发展历程3.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程1机器语言(第一代计算机语言)由于电子元件的物理特性,计算机只能识别0和1组成的二进制数,因而二进制是计算机语言的基础。早期的程序设计语言是由二进制代码指令组表示的,这样的语言能被计算机直接接收和执行,称为“机器语言”。1101011000101100101011103.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程1机器语言(第一代计算机语言)早期人们与计算机的通信都是通过机器语言编写的程序完成的,程序中的所有语句都被分解成一系列由0和1组成的代码记录在穿孔带上,如图3-12所示。3.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程缺点:1、难以被理解,程序设计任务繁重,修改程序效率低下;2、每台计算机的指令系统各不相同,在一台计算机上执行的程序要移植到另一台计算机时,需要重新编程,造成重复工作。(移植性差)优点:由于使用的是针对特定型号计算机的语言,因此运算效率是所有语言中最高的。1机器语言(第一代计算机语言)3.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程2汇编语言(第二代计算机语言)用类似英文缩略词且带有助记性符号的语言来替代一个特定的指令二进制串,每条指令都与一条机器指令相对应,只是指令码和操作数采用符号形式,这就是“汇编语言”。3.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程2汇编语言(第二代计算机语言)但是,计算机是不能直接认识这些符号的,计算机还需要一个专门的语言翻译器,负责将程序中的每条语句都翻译成用二进制数表示的机器语言(图3-13)翻译程序汇编语言机器语言汇编语言被翻译成机器语言示意图3.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程2汇编语言(第二代计算机语言)缺点:汇编语言同样与特定机器及特定微处理器相关,移植性不好优点:1、运算效率高;2、准确发挥计算机硬件的功能和特长,编写的程序精练、质量高,易于理解,至今在一些领域(例如,对时效性要求很高的程序、大型程序的核心模块、工业控制方面等)仍是一种常用而强有力的软件开发工具。3.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程2高级语言(第三代计算机语言)高级语言接近于数学语言和人的自然语言,并且不再过度地依赖某种特定的机器或环境。编译程序是计算机把高级语言程序的每一条语句都编译成机器语言,并保存成二进制文件后才运行的程序。解释程序是计算机在执行高级语言程序时,逐条语句解释成机器语言并立即执行的程序。编译程序或解释程序高级语言机器语言高级语言被翻译成机器语言示意图2019年7月20日IEEE Spectrum 发布了第四届顶级编程语言交互排行榜前十位的高级语言依次分别是:Python、C、Java、C++、C#、R、JavaScript、PHP、Go、Assembly,请小组分工合作,通过网络搜索,分别找出它们诞生的时间,并完成时间线的制作。探究活动二:计算机程序设计语言常见的高级程序设计语言3.3.2 计算机程序设计语言2、 计算机程序语言的发展历程3.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程3.3.2 计算机程序设计语言探究活动二:计算机程序设计语言2、 计算机程序语言的发展历程优点:1、代码简单,易于理解;2、抽象度高,源代码无须与硬件、系统底层操作对应,移植性非常好。print(9+8)用高级语言实现“9+8”的运算指令:2高级语言(第三代计算机语言)3.3.2 计算机程序设计语言讨论探究活动二:计算机程序设计语言三代计算机语言的优势与不足语言类型 是否翻译(编译) 优势 不足一 机器语言 否 能被计算机接受和执行,运算效率最高。 程序难以理解,程序设计任务繁重,移植性差。二 汇编语言 是 针对计算机特定硬件而编制的汇编语言程序,比机器语言易于理解,效率仍十分高。 不能被计算机直接运行,移植性不好。三 高级语言 是 接近于数学语言或人的自然语言,易于理解,移植性好。 不能被计算机直接运行。总结项目实施1、 结合微课安装Python程序2、 参照项目范例的样式,撰写相应的项目成果报告各个小组协作完成项目以下任务:成果交流与评价1、各个小组将完成的项目成果在小组或班级进行展示与交流2、 各个小组结合活动过程和项目活动评价表,开展学习活动评价。“综合得分”为:“学生互评”为30%+“学生自评”为30% +“教师评”为40%项目及分值 评分标准与分值 得分 自评 互评 师评作品选题 20 准确把握项目学习的意义和目的。 5选题切合实际、符合科学。 5选题有应用价值、创新价值。 5选题适宜解决、可行性高。 5规划与分析 15 准确分析设计的目的。 10准确分析方案的需求。 10准确描述方案的功能。 10工具与方法 10 合理使用数字化工具及资源。 10围绕项目进行自主、协作学习。 10步骤与过程 30 能完整经历计算机解决问题的过程 10运用流程图描述算法 10通过探讨和网络检索了解计算机程序和计算机语言 10合计得分 100THANK YOU 展开更多...... 收起↑ 资源预览