(
课件网) 广东教育-出卷网-高中信息技术(必修1) 3.2 算法及其描述 第三章 算法基础 3.2 算法及其描述 分析问题 编写程序 调试运行程序 设计算法 知 识 回 顾 第三章 算法基础 3.2 算法及其描述 三个人在河边准备过河,这时他们遇到三个鬼也准备过河。 条件: 1、河上面的船比较小,只能同时乘两个人(或鬼)。 2、鬼在比人多的情况下是会吃人的。 你能想办法让这三个人和三个鬼顺利地过河吗? 智力过河游戏 第三章 算法基础 3.2 算法及其描述 智 力 过 河 步 骤 解 决 第三章 算法基础 3.2 算法及其描述 第三章 算法基础 3.2 算法及其描述 口诀:有出入可确定 智 力 过 河 第三章 算法基础 3.2 算法及其描述 你能帮刘邦算出有多少士兵吗? 3列纵队操练,余有1人; 5列纵队操练,余有2人; 7列纵队操练,余有2人。 各小组讨论分析,试用语言描述士兵数量计算的过程。(设:士兵数量小于2000人) 第三章 算法基础 3.2 算法及其描述 韩信点兵算法描述:(士兵数量小于2000人) ①:S 取 0 ③ 如果S 除以 3 余 1、S 除以 5 余 2、S 除以 7 余 2,则输出数S ②:S 加 1 ④ 如果S<2000则跳转至步骤②,否则执行步骤⑤ ⑤程序结束 我要炒白菜。 自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。 优点:通俗易懂 不足:对复杂的问题表述不当,容易产生歧义性,导致算法执行的不确定。 第三章 算法基础 3.2 算法及其描述 流程图用一些图形符号表示规定的操作。 图形符号 功能 表示一个算法的开始和结束 表示一个算法输入和输出的信息 表示算法中的赋值、计算 判断某一条件是否成立 表示算法中的流向 表示算法中的转接 环节 图形 是 否 否 是 第三章 算法基础 3.2 算法及其描述 ①:S 取 0 ③ 如果S 除以 3 余 1、S 除以 5 余 2、S 除以 7 余 2,则输出数S ②:S 加 1 ④ 如果S<2000则跳转至步骤②,否则执行步骤⑤ ⑤程序结束 根据 自然语言 描述完成 右侧流程图 开始 结束 输出S S<2000 S=S+1 S=0 S%3==1 S%5==2 S%7==2 第三章 算法基础 3.2 算法及其描述 韩信点兵算法描述:(士兵数量小于2000人) 开始 结束 S=0 S<2000 S%3==1 S%5==2 S%7==2 S=S+1 输出S 是 否 否 是 优点:形象、直观、清晰、简洁。 不足:需要特定的规则,运用大量图形符号,书写不方便。 流程图描述:用程序框图来描述算法的一种表示方法。 第三章 算法基础 3.2 算法及其描述 for s in range(1,2000): if (s%3==1 and s%5==2 and s%7==2) 输出s 用介于自然语言和计算机语言之间的文字和符号来描述算法。 优点:书写方便,格式紧凑,易于理解,容易向计算机程序设计语言过渡。 不足:普适性不强,阅读性弱。 韩信点兵算法描述:(士兵数量小于2000人) 第三章 算法基础 3.2 算法及其描述 任意输入三个数,输出三个数中最大的值。(小组讨论,设计算法,在任务单上用流程图描述出来。) 练 习 开始 输入x,y,z值 x>=y 输出max 结束 max=x max=y max>=z max=z 是 否 是 否 方法一 开始 输入x,y,z值 x>=y and x>=z 结束 输出x y>=x and y>=z 输出y 输出z 是 否 是 否 方法二 开始 输入x,y,z值 x>=y x>=z y>=z 输出x 输出z 输出y 输出z 结束 是 否 是 是 否 否 方法三 第三章 算法基础 3.2 算法及其描述 算法 运行程序,体验程序优化的意义。 已知a+b+c=1000,且a2+b2=c2,求a,b,c的所有自然数解。 优 化 第三章 算法基础 3.2 算法及其描述 开始 a=1 b=1 a<=1000 b<=1000 a^2+b^2==(1000-a-b)^2 输出a,b,1000-a-b b=b+1 a=a+1 结束 是 否 是 是 否 否 开始 a=1 b=1 c=1 a<=1000 b<=1000 c<=1000 a^2+b^2==c^2 a+b+c==1000 输出a,b,c c=c+1 b=b+1 a=a+1 结束 是 否 是 是 是 否 否 否 ... ...