1、第一课算法初步,【网络体系】,【核心速填】1.算法与程序框图(1)算法是指按一定规则解决某一类问题的_和_的步骤.(2)程序框图是一种用_、_及文字说明来表示算法的图形.,明确,有限,程序框,流程线,(3)算法的基本逻辑结构是_、_和_.如图所示:,顺序结构,条件结构,循环结构,2.基本算法语句(1)输入、输出语句和赋值语句.输入语句:INPUT“_”;变量输出语句:PRINT“提示内容”;表达式赋值语句:变量=表达式,提示内容,(2)条件语句.,语句体,语句体1,语句体2,(3)循环语句.,循环体,循环体,3.算法案例(1)求两个正整数最大公约数的解法用的是_和更相减损术.(2)多项式求值比
2、较先进的算法是_.(3)“满几进一”就是几进制,其中的_是基数.,辗转相除法,秦九韶算法,几,【易错提醒】1.理解算法的关注点(1)算法是解决某一类问题的一种程序化方法.(2)判断一个问题是否有算法,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.,2.输入语句和赋值语句二者的不同输入语句可使初始值与程序分开,利用输入语句改变初始数据时,程序不变,而赋值语句是程序的一部分,输入语句可对多个变量赋值,赋值语句只能给一个变量赋值.3.程序设计中的注意点程序设计中特别注意:条件语句的条件表达和循环语句的循环变量的取值范围.,4.辗转相除法与更相减损
3、术的区别(1)都是求两个正整数最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显.(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0而得到,而更相减损术则以减数与差相等而得到.,类型一 算法的设计【典例1】(1)算法:输入正整数a,b,c;计算x=a2+b2;输出x-c.下列描述最准确的是()A.可用来判断a,b,c是否为一组勾股数B.可用来判断a,b,c之间大小顺序C.可用来判断点(a,b)是否在直线x=c上D.可用来判断点(a,b)与圆心在原点,半径为 的圆的位置关系,(2)在
4、解放战争中,有一名战士接到命令,要求在最短的时间内制作三个炸药包,但是由于条件艰苦,称量物品的天平只剩下50g和5g两个砝码.现有495g硫磺,如何设计算法使称量的次数最少?需称量多少次?,【解题探究】1.典例(1)中由x=a2+b2会得到什么结果?提示:令a2+b2=c=( )2,则方程表示圆心在原点,半径为 的圆O.2.典例(2)中每一个炸药包应用硫磺多少克?如何用给出的砝码称出?提示:每个炸药包应用硫磺165克,165克中含有3个55克,用5克砝码和50克砝码称出55克硫磺.,【解析】(1)D.令a2+b2=c=( )2,则方程表示圆心在原点,半径为的圆O.依题意,x-c即a2+b2-c
5、.若x=c,a2+b2=c,表示点(a,b)在圆O上;若xc,a2+b2c,表示点(a,b)在圆O外;若xc,a2+b2r,则相离;若d500的最小的自然数n,画出执行该问题的程序框图.(2)某复印室复印A4纸的计费方法如下:10张以内(不包括10张)的按每张5角钱计费;10张到50张之间(不包括50张)按每张4角钱计费;50张到100张之间(不包括100张)按每张3角钱计费;100张及以上按每张2角钱计费.设计一个程序框图,要求输入复印的张数x(张),输出复印费y(元).,【解题探究】1.典例(1)的程序框图中是否应用循环结构?提示:用到循环结构.,2.典例(2)中若用函数如何表示出输入复印
6、的张数x(张)与输出复印费y(元)的关系?提示:由题意知复印费y(元)与复印张数x之间的函数关系为,【解析】(1)程序框图:,(2)由题意知复印费y(元)与复印张数x(张)之间的函数关系为,程序框图:,【方法技巧】画程序框图的规则(1)使用标准的图形符号.(2)框图一般按从上到下、从左到右的方向画.(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一符号.(4)判断框分两大类,一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.(5)在图形符号内描述的语言要简练、清楚.,【变式训练】阅读下列程序框图:,若
7、输出结果为0,则处的执行框内应填的是( )A.x1 B.b0C.x1 D.a【解析】选A.先确定执行框内是给x赋值然后倒着推,b0时,2a30, 当 时,,【补偿训练】如图所示的程序框图,下列说法正确的是(),A.第一个输出的数为1B.第一个输出的数为4C.交换 与 n=n+3 的顺序后输出结果相同D.最后一个输出的是2003,【解析】选A.这是一个循环结构的程序框图.首先给n赋值1,当n2000时结束程序,最后一个输出的是1999,所以D肯定是错误的,在第一个赋值结束时就输出n,显然是1,如果交换 与 n=n+3的顺序,第一个将会输出4,显然结果发生了变化.,类型三 算法语句的设计及应用【典
8、例3】(2015洛阳高一期中检测)下面是一个计算 的值的算法程序,在横线上填写所缺的语句,并求出s的值.,【解题探究】典例中用到的是哪种循环结构语句?提示:当型循环结构语句.,【解析】,【方法技巧】设计条件语句和循环语句的关注点(1)“条件”是由一个关系表达式或逻辑表达式构成的,其一般形式为“”,常用的运算符有“”(大于)“=”(大于或等于)“”(不等于).关系表达式的结果可取两个值,以“真”或“假”来表示,“真”表示条件满足,“假”则表示条件不满足.(2)“语句”是由程序语言中所有语句构成的程序段,即可以是语句组.,(3)条件语句可以嵌套,即条件语句的THEN或ELSE后面还可以跟条件语句,
9、嵌套时注意内外分层,避免逻辑混乱.(4)在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法.WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体.(5)循环语句主要用来实现算法中的循环结构,处理一些需要反复执行的运算任务,如累加求和,累乘求积等.,【变式训练】已知函数 写出求函数的值的程序.,【解析】,【补偿训练】对于下列算法:,如果在运行时输入2,那么输出的结果是()A.2,5 B.2,4 C.2,3 D.2,9,【解析】选A.本题主要考查条件语句的应用,输入a的值为2,首先判断是否大于5,显然2不大于5,然后判断2与
10、3的大小,显然2小于3,所以结果是b=5,因此结果应当输出2,5.,类型四 分类讨论思想在算法中的应用【典例4】(1)某算法的程序框图如图所示,则输出量y与输入量x满足的关系式是.,(2)已知函数y=f(x) 写出求f(x)的程序,并画出程序框图.,【解析】(1)当x1时,有yx2,当x1时,有y2x,所以,有分段函数答案:,(2)程序框图如图:,程序如下,【方法技巧】算法中的分类讨论思想(1)在解答某些数学问题时,有时会有多种情况,需对各种情况加以分类,并逐类求解,然后综合得结论,这就是分类讨论思想.(2)在具体问题的算法设计中,往往需要根据条件进行逻辑判断,并进行不同的处理(如条件结构和循
11、环结构),这实际上运用了分类讨论的数学思想方法.,【变式训练】按如图所示的程序框图计算,若x=4,则运算进行_次才停止()A.3 B.4 C.5 D.6,【解析】选C.若x=4,则x=34-2=10244.故运行5次才停止循环.,【补偿训练】已知程序框图如图所示,求输出的x值.,【解析】当x=1时,执行x=x+1后x=2;当x=2时,执行x=x+2后x=4,再执行x=x+1后x=5;当x=5时,执行x=x+1后,x=6;当x=6时,执行x=x+2后x=8,再执行x=x+1后x=9;当x=9时,执行x=x+1后x=10;当x=10时,执行x=x+2后,x=12,此时128,因此输出的x的值为12.,