资源简介 (共21张PPT)粤教版普通高中教科书信息技术 必修1数据与计算第三章 算法基础计算机解决问题的一般过程回顾问题1、什么是算法?2、什么是程序?3、怎样编写程序解决问题?3.2、算法及其描述1、算法的概念2、算法的描述第三章 算法基础3.2.1算法问题:学期结束时,老师打算花50块钱购买一些笔记本奖励表现优秀的同学,请班长小明帮忙,小明决定买三种单价分别为6元、5元、4元的笔记本,请问可以买多少本?探究活动一买笔记本问题转化为求解方程:6x+5y+4z=50的正整数解分析方案 x y z 合计1 1 4 6 112 1 8 1 103 2 2 7 114 2 6 2 105 3 4 3 106 4 2 4 107 6 2 1 9若要求方程6x+5y+4x=50的正整数解的个数t,则解决问题的步骤如下:①t=0;③x=1;②y=1;④z=1;⑤如果满足式子6x+5y+4z=50,则解的个数加1(即t=t+1,表示右边式子的值赋值给左边式子),并输出这个解(即输出t,x,y,z的值);⑥z=z+1;⑦如果z<12则转步骤⑤,否则继续步骤8;8y=y+1;9如果y<10则转步骤④,否则继续步骤⑩;0x=x+1;11如果x<8则转步骤3,否则继续步骤12;12结束。算法探究活动一探究活动一算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。有穷性、确定性、数据输入、数据输出、可行性自主阅读教材并完成《3.1体验计算机解决问题的过程项目活动记录表》“人工解决与计算机解决问题方式的异同讨论记录“中知识与技能部分。项目实施认识算法:算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。算法的特征:1、有穷性:一个算法在执行有穷步之后必须结束。2、确定性:算法执行的每一步骤必须有确切的定义,不能出现模棱两可的情况3、数据输入:一个算法必须有零个或多个输入,以刻画运算对象的初始情况。4、数据输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是没有意义的。5、可行性:算法中执行的任何计算步骤都可以内分解为基本的课执行的操作步骤,即每个计算步骤都可以在有限的时间内完成。若要求方程6x+5y+4x=50的正整数解的个数t,则解决问题的步骤如下:①t=0;③x=1;②y=1;④z=1;⑤如果满足式子6x+5y+4z=50,则解的个数加1(即t=t+1,表示右边式子的值赋值给左边式子),并输出这个解(即输出t,x,y,z的值);⑥z=z+1;⑦如果z<12则转步骤⑤,否则继续步骤8;8y=y+1;9如果y<10则转步骤④,否则继续步骤⑩;0x=x+1;11如果x<8则转步骤3,否则继续步骤12;12结束。探究活动一1.用自然语言描述算法用自然语言描述算法,就是用人们日常所用的语言,如:汉语、英语等来描述算法。3.2.2算法的描述t=0;x=1;y=1;z=1;如果满足式子6x+5y+4z=50,则购买的方案数加1(即t=t+1),并输出这种购买方案(即输出t、x、y、z的值)。z=z+1;如果z<=12则转⑤,否则继续⑧;y=y+1;如果y<=10则转④,否则继续⑩;x=x+1;如果x<=8则转③,否则继续 ;结束。探究活动二2.用流程图描述算法用流程图描述算法是用程序框图来描述算法的一种表示方法。使用流程图描述算法,让人感到算法的流程描述清晰简洁。流程图的基本图形及其功能如下表所示。图 形 名 称 功 能开始/结束 表示算法的开始或结束输入/输出 表示算法中变量的输入或输出处理 表示算法中变量的计算与赋值判断 表示算法中的条件判断流程线 表示算法中的流向连接点 表示算法中的转接探究活动二3.用伪代码描述算法用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。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;输出解的个数t和三个整数x,y,z}探究活动二探究活动二探究参考教材P51实践活动,探讨辗转相除法的算法描述自然语言表示法 流程图表示法 伪代码表示法示例探究活动二探究参考教材P51实践活动,探讨辗转相除法的算法描述自然语言表示法 流程图表示法 伪代码表示法示例 ①输入两个正整数m,n(m>n); ②计算m除以n所得的余数r; ③m=n,n=r; ④若r=0,则m,n的最大公约数等于m;否则转到步骤②; ⑤输出最大公约数m; ⑥结束。 m=input("m=")n=input("n=")if m < n:m, n = n, mr = 1while r != 0:r = m% nm = nn = rprint m探究活动二讨论算法三种描述方法的优劣对比算法描述的方法 优势 不足自然语言表示法流程图表示法伪代码表示法探究活动二讨论算法三种描述方法的优劣对比算法描述的方法 优势 不足自然语言表示法 用人们日常所用的语言,比较容易掌握。 当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。流程图表示法 用程序框图来描述,流程描述清晰简洁。 所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。伪代码表示法 用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。 由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。探究活动三探究算法的三种基本控制结构顺序结构循环结构选择结构探究活动三探究算法的三种基本控制结构顺序结构循环结构选择结构这三种基本控制结构的主要作用是:(1)顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。(2)选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。(3)循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。探究活动三使用三种基本控制结构的组合来描述算法,可以改善算法的清晰度,提高算法的可读性。原因如下:探究算法的三种基本控制结构顺序结构循环结构选择结构1、以控制结构为单位,只有一个入口和一个出口,个单位间接口简单,比较容易独立的理解每一个单位。2、缩小了算法的静态描述与动态执行过程之间的差异,使得两者相互独立项目实施选题一:鸡兔同笼问题例如鸡兔同笼,头共46,足共128,鸡兔各几只 选题二:韩信点兵原有士兵约1500,死伤四五百,现点兵,3人一排,结果多出2名;接着命令士兵5人一排,结果多出3名;他又命令士兵7人一排,结果又多出2名,士兵约一千多,具体多少人回顾上节课的选题:选题探究:围绕各小组选题,分别用自然语言和流程图的描述方法描述你的算法展示交流选题一:鸡兔同笼问题例如鸡兔同笼,头共46,足共128,鸡兔各几只 自然语言描述:流程图描述:展示交流选题二:韩信点兵原有士兵约1500,死伤四五百,现点兵,3人一排,结果多出2名;接着命令士兵5人一排,结果多出3名;他又命令士兵7人一排,结果又多出2名,士兵约一千多,具体多少人自然语言描述:流程图描述:课堂小结:知识检测:完成课时检测问卷1、算法的概念2、算法的描述 展开更多...... 收起↑ 资源预览