1、1.1.1算法概念第1页第一步,把冰箱门打开第一步,把冰箱门打开 第二步,把大象装进去第二步,把大象装进去 第三步,把冰箱门关上第三步,把冰箱门关上第2页请问你怎样安排?请问你怎样安排?第3页知识探究(一):算法概念知识探究(一):算法概念思索思索1:1:在初中,对于解二元一次方程组你学在初中,对于解二元一次方程组你学过哪些方法?过哪些方法?加减消元法和代入消元法加减消元法和代入消元法思索思索2:2:解二元一次方程组解二元一次方程组 详细步骤是什么?详细步骤是什么?第4页 解解,得,得 .解解,得,得 .第一步,第一步,第二步,第二步,第三步,第三步,第四步,第四步,第五步,第五步,得到方程组
2、解为得到方程组解为 .第5页思索思索3:3:参考上述思绪,普通地,解方程参考上述思绪,普通地,解方程组组 基基本步骤是什么?本步骤是什么?第6页 第7页思索思索4:4:依据上述分析,你能归纳出依据上述分析,你能归纳出算法算法概念概念吗?吗?在数学中,按照在数学中,按照一定规则一定规则处理处理某一类问题某一类问题明确明确和和有有限限步骤称为步骤称为算法算法.现在,算法通常能够现在,算法通常能够编成计算机程序编成计算机程序,让计算机执行,让计算机执行并处理问题。并处理问题。说明:计算机处理任何问题都要依赖于_,只有将处理问题过程分解为若干个_,即_,并用计算机能够接收_准确地描述出来,计算机才能够
3、处理问题算法明确步骤算法“语言”第8页算法特点:算法特点:1.1.有序性:有序性:算法从初始步骤开始,分为算法从初始步骤开始,分为若干明确步骤若干明确步骤,每一个步骤,每一个步骤只能只能有有一个确定后续步骤一个确定后续步骤,只有执行完前一步才能执行后一步,只有执行完前一步才能执行后一步2.2.明确性:明确性:算法算法每一步计算每一步计算,都必须,都必须有确定结果有确定结果,不能模棱两可不能模棱两可,即,即算法算法每一步只有唯一执行路径,每一步只有唯一执行路径,对于相同输入只能得到相同输出结果对于相同输入只能得到相同输出结果3.3.有限性:有限性:一个算法当运行完一个算法当运行完有限个步骤后必须
4、结束有限个步骤后必须结束,不能是无限地运行,不能是无限地运行4.4.可行性:可行性:算法中每一步骤必须能用实现算法工具准确表示,并能在有限算法中每一步骤必须能用实现算法工具准确表示,并能在有限步内完成。步内完成。5.5.不唯一性:不唯一性:处理一个或一类问题,能够有不一样方法和步骤,处理一个或一类问题,能够有不一样方法和步骤,处理这个处理这个或这类问题算法不一定是唯一或这类问题算法不一定是唯一6.6.普遍性:普遍性:算法普通要适合用于算法普通要适合用于输入值集合中不一样形式输入值输入值集合中不一样形式输入值,而不是局限于,而不是局限于一些特殊值,即一些特殊值,即算法含有普通性算法含有普通性,一
5、个算法,一个算法总是针对某类问题设计总是针对某类问题设计,所以对于求解这类问,所以对于求解这类问题中任意一个问题都应该是有效题中任意一个问题都应该是有效第9页算法设计(1)算法设计目标设计算法目标实际上是寻求_算法,它能够经过计算机来完成设计算法关键是把过程分解成若干个_,然后用计算机能够接收“语言”准确地描述出来,从而到达计算机执行目标一类问题是确步骤一类问题简单少正确执行(2)算法设计要求写出算法必须能处理_;要使算法尽可能_、步骤尽可能_;要确保算法_,且计算机能够_第10页(3)算法描述展现形式:当前可使用文字语言表示展现方式:算法惯用以下方式来表示:第一步,第二步,第三步,第11页1
6、2练习练习判断以下关于算法说法是否确:判断以下关于算法说法是否确:1 1、求解某一类问题算法是唯一;、求解某一类问题算法是唯一;2 2、算法必须在有限步操作之后停顿:、算法必须在有限步操作之后停顿:3 3、算法每一步必须是明确,不能有歧义或含、算法每一步必须是明确,不能有歧义或含糊:糊:4 4、算法执行后一定产生确定结果:、算法执行后一定产生确定结果:第12页第四步,第四步,用用5 5除除7 7,得到余数,得到余数2,2,因为余数不为因为余数不为0 0,所,所以以5 5不能整除不能整除7 7知识探究(二)知识探究(二):算法步骤设计算法步骤设计思索思索1:1:设计一个算法,判断设计一个算法,判
7、断 7 7是否为质数。是否为质数。第一步第一步,用,用2 2除除7 7,得到余数,得到余数1,1,因为余数不为因为余数不为0 0,所,所 以以2 2不能整除不能整除7.7.第五步第五步,用,用6 6除除7 7,得到余数,得到余数1,1,因为余数不为因为余数不为0 0,所以所以6 6不能整除不能整除7.7.第二步第二步,用,用3 3除除7 7,得到余数,得到余数1,1,因为余数不为因为余数不为0 0,所,所以以3 3不能整除不能整除7.7.第三步第三步,用,用4 4除除7 7,得到余数,得到余数3,3,因为余数不为因为余数不为0 0,所,所以以4 4不能整除不能整除7.7.所以,所以,7 7是质
8、数是质数.思索2:得到余数得到余数0 0,因为余数为,因为余数为0 0,以以5 5能能整除整除35.2第13页第四步,第四步,用用5 5除除7 7,得到余数,得到余数2,2,因为余数不为因为余数不为0 0,所,所以以5 5不能整除不能整除7 7知识探究(二)知识探究(二):算法步骤设计算法步骤设计思索思索2:2:设计一个算法,判断设计一个算法,判断 7 7是否为质数。是否为质数。第一步第一步,用,用2 2除除7 7,得到余数,得到余数1,1,因为余数不为因为余数不为0 0,所,所 以以2 2不能整除不能整除7.7.第五步第五步,用,用6 6除除7 7,得到余数,得到余数1,1,因为余数不为因为
9、余数不为0 0,所以所以6 6不能整除不能整除7.7.第二步第二步,用,用3 3除除7 7,得到余数,得到余数2,2,因为余数不为因为余数不为0 0,所,所以以3 3不能整除不能整除7.7.第三步第三步,用,用4 4除除7 7,得到余数,得到余数3,3,因为余数不为因为余数不为0 0,所,所以以4 4不能整除不能整除7.7.所以,所以,7 7是质数是质数.所以,所以,3535不是质数。不是质数。得到余数得到余数0 0,因为余数为,因为余数为0 0,以以5 5能能整除整除35.第八十七步第八十七步,用,用8888除除8989,得到余数,得到余数1,1,因为余数不为因为余数不为0 0,所以,所以8
10、888不能整除不能整除89.89.所以,所以,8989是质数是质数.1 1思索3:第14页第一步,第一步,第四步,第四步,第三步,第三步,第二步,第二步,算法设计算法设计:第15页第16页例1.写出求123456一个算法 解析解析 算法算法1 1:第一步,计算第一步,计算1 12 2得到得到3 3;第二步,将第一步中运算结果第二步,将第一步中运算结果3 3与与3 3相加得到相加得到6 6;第三步,将第二步中运算结果第三步,将第二步中运算结果6 6与与4 4相加得到相加得到1010;第四步,将第三步中运算结果第四步,将第三步中运算结果1010与与5 5相加得到相加得到1515;第五步,将第四步中
11、运算结果第五步,将第四步中运算结果1515与与6 6相加得到相加得到2121;第六步,输出运算结果第六步,输出运算结果算法算法3 3:第第一一步步,将将原原式式变变形形为为(1(16)6)(2(25)5)(3(34)4)3737;第二步,计算第二步,计算3737;第三步,输出运算结果第三步,输出运算结果第17页算法设计步骤设计一个详细算法,通常按以下步骤:第18页例2.(1)一个算法步骤以下:第一步,输入x值第二步,计算yx2.第三步,计算z2ylog2y.第四步,输出z值若输入x值为2,则输出z值为()A2B4 C12D14(2)下面是求1357911值算法,用p表示被乘数,i表示乘数,则将
12、算法补充完整第一步,使p1.第二步,使i3.第三步,使p_.第四步,使i_.第五步,若i11,则返回到第三步继续执;不然输出p.(1)D(2)P ii2第19页【变式】(1)以下算法:第一步,输入x值第二步,若x0成立,则yx,不然执行下一步第三步,计算y2x24.第四步,输出y值若输入x2,则输出y_.(2)给出算法:第一步,输入n8.第二步,令i1,S0.第三步,判断i n是否成立,若不成立,输出S,结束算法;若成立,执行下一步第四步,令S值加i,仍用S表示,令i值加1,仍用i表示,返回第三步该算法功效是_(1)4(2)计算1238值第20页小结:小结:1、算法概念 2、算法特点作业:作业:小本89-90页第21页