(
课件网) 3.1体验计算机解决问题的过程 3.2算法及其描述 3.3计算机程序与程序设计语言 第三章 算法基础 信息技术 必修1 粤教版普通高中教科书 第一节 算法及其描述 算法是对解题过程的精确描述,且需要使用某种方法将其表示出来。 3.1体验计算机解决问题的过程 3.2算法及其描述 第三章 算法基础 概念讲解 认识算法: 算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。 算法的特征:有穷性、确定性、数据输入、数据输出、可行性。 3.2算法及其描述 通过视频《 3-3算法的常用描述方法》,了解描述算法的的常用方法。 探究活动 分析归纳算法三种描述方法的优劣,完成学案 观 察 讨 论 活动1:了解算法的常用描述方法 第三章 算法基础 3.2算法及其描述 探究活动 项目实施 讨 论 分析归纳算法三种描述方法的优劣,完成学案 第三章 算法基础 算法描述的方法 优势 不足 自然语言表示法 流程图表示法 伪代码表示法 3.2算法及其描述 用人们日常所用的语言,比较容易掌握。 用程序框图来描述,流程描述清晰简洁。 用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。 当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。 所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。 由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。 观看视频《3-2程序的三种基本结构》,了解三种结构的特点。 探究活动 请思考,所有复杂的程序都可以用这三种结构组合来表示吗? 观 察 讨 论 观看视频后,说说这三种基本控制结构的主要作用。 交 流 活动2:算法的三种基本控制结构 第三章 算法基础 3.2算法及其描述 探究活动 实 践 探讨辗转相除法的算法描述,参考流程图和伪代码,完成用自然语言表示,完成学案 第三章 算法基础 自然语言表示法 流程图表示法 伪代码表示法 示例 m=input("m=") n=input("n=") if m < n: m, n = n, m r = 1 while r != 0: r = m% n m = n n = r print m 3.2算法及其描述 ①输入两个正整数m,n(m>n); ②计算m除以n所得的余数r; ③m=n,n=r; ④若r=0,则m,n的最大公约数等于m;否则转到步骤②; ⑤输出最大公约数m; ⑥结束。 探究活动 分别运行两段求两个大整数的最大公约数的程序,对比分析后,归纳:一个高质量的程序,应具备哪些条件? 体 验 # gongyueshu1.py a=int(input("a=")) b=int(input("b=")) if a < b: a, b = b, a r = 1 while r != 0: r = a%b a = b b = r print (a) #gongyueshu2.py a=int(input("a=")) b=int(input("b=")) for i in range(b,1,-1): if (a%i==0)and(b%i==0): print (i) break 高质量程序应具备以下条件: 1.便于检查、修正、移植和维护。 2.程序具有良好的结构,逻辑清晰、可读性强。 3.结果必须正确,且在精度和其他各方面均满足要求。 4.程序运行时间尽可能短,同时尽可能合理地使用内存。 第三章 算法基础 3.2算法及其描述 课堂总结: 算法是程序设计的核心,是程序设计的灵魂。算法的好坏,直接影响着程序的通用性和有效性,影响着问题解决的效率。恰当的算法描述更有利于编写程序。 要点:算法描述要完整,步骤要清晰,符合算法的特征,有效解决项目的关键问题。 第三章 算法基础 3.2算法及其描述 三种基本控制结构的主要作用是: (1)顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。 (2)选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条 ... ...