1、11 算法与程序框图11.1 算法的概念第一章 算法初步考点学习目标核心素养算法的概念、基本特点正确理解算法的概念,掌握算法的基本特点数学抽象设计算法的基本思路通过例题学习,使学生体会设计算法的基本思路逻辑推理、数学建模通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣数学抽象、数学建模第一章 算法初步问题导学(1)我国古代盛行一时的计算工具是什么?(2)求解一般的二元一次方程组分几个步骤?(3)请同学们总结算法的特征是什么?(4)怎样判断整数 n(n2)是否为质数?1算法的概念与算法的描述12 世纪的算法指的是用阿拉伯数字进行_的过程数学中的算法通常是指按照一定规则解决某一类
2、问题的_和_的步骤 现代算法通常可以编成_,让计算机执行并解决问题算术运算明确有限计算机程序算法的描述:算法一般可用以下三种方式描述:(1)自然语言(本节学习)(2)框图语言(下节学习)(3)计算机语言(后面 1.2 节学习)2算法的特征(1)可执行性:顾名思义,即要求算法在现有的条件下可以执行(2)确定性:对于一个算法,必须明确每一步应该做什么,对每一步的表述要简洁清楚,不能有歧义(3)有限性:对于一个算法,其步骤必须是有限的,不能无限执行下去,否则不能达到解决问题的目的(4)不唯一性:对某个问题来说,解法不唯一,由此导致算法不唯一,如解二元一次方程组的算法就有代入消元法、加减消元法两种(5
3、)普遍性:算法是用来解决某一类问题的明确和有限的步骤,因此,要考虑算法是否能够用来解决一类问题,且能重复使用(6)有序性:算法分为若干个明确的步骤,前一步是下一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误才能解决问题3设计算法的目的与要求(1)目的设计算法的目的实际上是寻求一类问题的解决方法,它可以通过计算机来完成设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的(2)要求写出的算法必须能解决一类问题;要使算法尽量简单、步骤尽量少;要保证算法步骤有效,且计算机能够执行 名师点拨对算法含义的理解算法可以理解为由
4、基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列能够解决一类问题 广义地说,算法就是做某一件事的步骤菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是演奏歌曲的算法 判断正误(对的打“”,错的打“”)(1)算法就是某个问题的解决过程()(2)算法执行后可以不产生确定的结果()(3)解决某类问题的算法是唯一的()解析:算法是某一类问题的解决步骤,不是某个问题的解决过程,它的每一步是确定的,产生的结果也是确定的 答案:(1)(2)(3)下列语句中是算法的是()A解一元一次方程的步骤是去分母、去括号、移项、合并同类项
5、、系数化为 1B吃饭C做饭D写作业解析:选 A.根据算法概念可知,算法是解决一类问题的方法,可得选项 A 是解一元一次方程的具体步骤,故它是算法,而 B,C,D 是说的三个事实,不是算法故选 A.下列对算法的理解不正确的是()A算法可以无止境地运行下去B算法的步骤是不可逆的C同一个问题可以有不同的算法D算法中的每一步都应当有效地执行,并得到确定的结果解析:选 A.A 项中,由于算法具有有限性,因此不可能无止境地运行下去,不正确;B 项中,算法中的步骤是按照顺序一步步进行下去的,因此是不可逆的,正确;C,D 项符合算法的特征,正确输入一个 x 值,利用 y|x1|求函数值的算法如下,请将所缺部分
6、补充完整:第一步,输入 x;第二步,_;第三步,当 x0)第二步,判断“x800”是否成立,若是,则 y0.7x,转第四步;否则,执行第三步 第三步,判断“x400”是否成立,若是,则 y0.8x;否则,yx.第四步,输出 y,结束算法实际问题算法的设计技巧(1)弄清题目中所给要求(2)建立过程模型(3)根据过程模型建立算法步骤,必要时由变量进行判断 有两个大人和两个小孩一起渡河,渡口只有一条小船,每次最多只能渡一个大人或两个小孩他们四人都会划船,但都不会游泳,请你为他们设计一个渡河的算法解:第一步,两个小孩同船渡过河去 第二步,一个小孩划船回来,另一个小孩留在对岸 第三步,一个大人划船渡过河
7、去 第四步,对岸的小孩划船回来 第五步,两个小孩再次同船渡过河去 第六步,一个小孩划船回来,另一个小孩留在对岸 第七步,另一个大人划船渡过河去 第八步,对岸的小孩划船回来 第九步,两个小孩同船渡过河去(1)结合下面的算法:第一步,输入 x.第二步,判断 x 是否小于 0,若是,则输出 x2,否则执行第三步第三步,输出 x1.当输入的 x 的值为1 时,输出的结果为()A2 B0C1D3算法步骤的执行或补充(2)求 1357911 的值的一个算法如下,请补充完整第一步,求 13 得结果 3.第二步,将第一步所得结果 3 乘 5,得到结果 15.第三步,_.第四步,再将第三步所得结果 105 乘
8、9,得到结果 945.第五步,再将第四步所得结果 945 乘 11,得到结果 10 395,即为最后结果【解析】(1)当输入的 x 的值为1 时,满足条件“x 小于 0”,故输出 x2,即输出的结果为 1.(2)依据算法功能可知,第三步应为“再将第二步所得结果 15乘 7,得到结果 105”【答案】(1)C(2)再将第二步所得结果 15 乘 7,得到结果 1051若将本例(1)中的第二步“判断 x 是否小于 0”,改为“判断x 是否大于 0”,则输出的结果是什么?解:当输入 x 的值为1 时,因为1 不满足条件大于 0,故应执行第三步,输出 x1,即输出的结果为2.2在本例(1)中,若输出的结
9、果为 0,那么输入的 x 值应为何值?解:若 x0,则 x20,即 x2;若 x0,则 x10,即 x1.故输入的 x 的值应为2 或 1.解决此类问题时,只要依据算法步骤执行算法即可,但要注意每一步执行的条件和结果,否则极易出错 请说出下面算法要解决的问题:_第一步,输入三个不同的数,并分别用 a,b,c 表示第二步,比较 a 与 b 的大小,如果 ab,则交换 a 与 b 的值第三步,比较 a 与 c 的大小,如果 ac,则交换 a 与 c 的值第四步,比较 b 与 c 的大小,如果 bc,则交换 b 与 c 的值第五步,输出 a,b,c.解析:第一步是给 a,b,c 赋值 第二步运行后
10、ab.第三步运行后 ac.第四步运行后 bc,所以 abc.第五步运行后,显示 a,b,c 的值,且从大到小排列 答案:输入三个数 a,b,c,并按从大到小的顺序输出1下列对算法的理解不正确的是()A一个算法应包含有限的步骤,而不能是无限的B算法中的每一步骤都应当是确定的,而不应当是含糊的、模棱两可的C算法中的每一步骤都应当有效地执行,并得到确定的结果D一个问题只能设计出一种算法解析:选 D.A 中,算法的有限性指包含的步骤是有限的,故 A正确;B 中,算法的确定性是指每一步都是确定的,故 B 正确;C 中,算法的每一步都是确定的,且每一步都应有确定的结果,故 C 正确;D 中,对于同一个问题,可以有不同的算法,故 D错误2阅读如下算法:第一步,输入 x 的值;第二步,若 x0,则 yx;第三步,否则,yx2;第四步,输出 y 的值若输出的 y 值为 9,则 x 的值是_解析:根据题意可知,此为求分段函数 yx,x0,x2,x0 的函数值的算法,当 x0 时,x9;当 x0 时,x29,所以 x3.答案:3 或 93写出求二次函数 y2x24x1 的最大值的算法解:算法如下:第一步,计算 m4acb24a4(2)1424(2)3.第二步,判断 a20,故 ymax3.第三步,输出二次函数的最大值 3.本部分内容讲解结束 按ESC键退出全屏播放