当前位置:文档之家› 苏教版学高中数学必修三算法初步基本算法语句讲义

苏教版学高中数学必修三算法初步基本算法语句讲义

学习目标核心素养1.经历将具体问题的流程图转化为伪代码的过程.(重点)2.理解用伪代码表示的算法语句——赋值语句、输入输出语句、条件语句、循环语句,进一步体会算法的基本思想.(重点、难点、易混点)3.通过本节的学习,使学生理解一个基本的运算过程应是:在运算中构造、设计、选择一个合理的算法,以提高效果.4.通过本节的学习,进一步提高逻辑思维能力.1.从问题中抽象出算法,培养学生的数学抽象素养.2.将流程图转化为伪代码,进一步提高学生的逻辑推理素养.1.伪代码伪代码是介于自然语言和计算机语言之间的文字和符号.2.赋值语句在伪代码中,赋值语句用符号“←”表示,“x←y”表示将y的值赋给x,其中x是一个变量,y是一个与x同类型的变量或表达式.思考1:赋值语句两边的量可以互换吗?[提示] 赋值符号“←”左右两边不能对换,如A←B和B←A的含义及运行结果是不同的.A←B表示用B的值替换A原来的值,B←A表示用A的值替换B原来的值.思考2:赋值语句可以给代数式赋值吗?[提示] 赋值语句不能给代数式赋值,如“a2b—ab2←0”是错误的,赋值语句只能给变量赋值.如果赋值符号左边的变量原来没有值,则执行赋值语句后获得一个值;如果已有值,则执行赋值语句后赋值符号右边的值将代替该变量原来的值,即将原来的值“冲掉”.思考3:赋值语句能进行代数式演算吗?如化简、因式分解等.[提示] 不能用赋值语句进行代数式的演算(如化简、因式分解等).如y←x2—1←(x—1)(x+1)是不能实现的.在一个赋值语句中,只能给一个变量赋值,不能出现两个或多个“←”.但一个变量可以多次赋值.3.输入、输出语句输入语句“Read a,b”表示输入的数据依次送给a,b,输出语句“Print_x”表示输出运算结果x.4.条件语句(1)条件语句表达算法的选择结构.(2)条件语句的一般形式为:If A ThenBElseCEnd If其中A表示判断的条件,B表示满足条件时执行的操作内容,C表示不满足条件时执行的操作内容,End_If表示条件语句结束.(3)数学中的分类讨论、分段函数在算法中一般用条件语句.5.循环语句(1)循环语句的定义循环语句用来实现算法中的循环结构.(2)当型循环语句它表示当所给条件中成立时,执行循环体部分,然后再判断条件p是否成立.如果p仍成立,那么再次执行循环体,如此反复,直到某一次条件p不成立时退出循环,其一般格式为:错误!,其特点是先判断,后执行.(3)直到型循环语句它表示先执行循环体部分,然后再判断所给条件p是否成立,如果p不成立,那么再次执行循环体部分,如此反复,直到所给条件p成立时退出循环,其一般格式为错误!,其特点是先执行,后判断.(4)“For”语句当循环的次数已经确定时用“For”语句,其一般形式为错误!.思考4:三种循环语句的区别与联系是什么?[提示]当型语句直到型语句For语句执行步骤当所给条件成立时,执行循环体部分,然后再判断条件是否成立.如果仍然成立,那么再次执行循环体,如此反复,直到某一次条件不成立时退出循环先执行循环体部分,然后再判断所给条件是否成立.如果不成立,那么再次执行循环体部分.如此反复,直到所给条件成立时退出循环同当型语句适用范围循环次数不能确定循环次数不能确定循环次数已经确定1.赋值语句“x←x+1”的正确解释为________.1x的值与x+1的值可能相等;2将原来x的值加上1后,得到的值替换原来x的值;3这是一个错误的语句;4此表达式经过移项后,可与x←x—1功能相同.2[赋值符号与数学中的等号的意义是不完全相同的.x←x+1在数学中不成立,但在赋值语句中将x的原值加1,再赋给x.2正确.134不正确.]2.下面这个伪代码的输出结果是________.错误!25[将A的原值10加15后再赋给A,10+15=25.]3.下列语句,当输入x←—3.2时,输出的结果为________.错误!3.2[因为x=—3.2<0,所以执行“Then”引导的语句,故输出—(—3.2)=3.2.]4.下面伪代码输出的结果是________.错误!0 [当S←5+4+3+2=14时,n←2—1=1,此时S<15继续执行循环体,则S←5+4+3+2+1=15,n←1—1=0,此时S=15,循环结束,输出0.]赋值语句错误!(2)阅读下列两个伪代码,回答问题:1错误!2错误!上述两个伪代码最后输出的x和y值分别为________.(1)3(2)4,43,3[(1)a←1,b←2,把1与2的和赋给a,即a←3,输出的结果为3.(2)伪代码1中的x←y是将y的值4赋给x,赋值后x的值变为4,y为4;2中y←x是将x的值3赋给y,赋值后y的值为3,x为3.]赋值号与数学中的等号的意义是不完全相同的,赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一个值,如果已有值,则执行该语句,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.如:N←N+1,在数学中是不成立的,但在赋值语句中,意思是将N的原值加1再赋给N.1.设A←10,B←20,则可以实现A,B的值互换的伪代码是________.1错误!2错误!3错误!4错误!3[1中伪代码执行后A=B=10;2中伪代码执行后A=B=10;3中伪代码执行后A=20,B =10;4中伪代码执行后A=B=10.]2.执行下面的伪代码的结果是X=________,Y=________,Z=________.错误!222[X,Y,Z的初值分别为1,2,3,执行语句X←Y后,X=2,执行语句Y←X后,Y=2,执行语句Z←Y后,Z=2,所以X,Y,Z的值都是2.]输入、输出语句1输入语句Read a;b;c;2输入语句Read x=3;3输出语句Print A=4;4输出语句Print 20,32.4[1Read语句可以给多个变量赋值,变量之间用“,”隔开;2Read语句中只能是变量,而不能是表达式;3Print语句中不用赋值号“=”;4Print语句可以输出常量、表达式的值.]1.输入语句要求输入的值只能是具体的常数,不能是变量或表达式(输入语句无计算功能),若输入多个数,各数之间应用逗号“,”隔开.2.输出语句可以输出常量,变量或表达式的值(输出语句有计算功能)或字符,伪代码中引号内的部分将原始呈现.3.写出下列伪代码的结果.错误!若输入2,1,则输出的结果为________.5[若输入2,1,即a←2,b←1.所以22+错误!=4+1=5.输出的结果为a2+错误!=5.]4.下面算法的功能是求所输入的两个正数的平方和,已知最后输出的结果为3.46,试据此将算法补充完整.错误!1.5x错误!+x错误![由于算法的功能是求所输入的两个正数的平方和,所以S=x错误!+x错误!,又由最后输出的结果是3.46,所以3.46=1.12+x错误!,所以x错误!=2.25.又x是正数,所以x2=1.5.]2条件语句并画出其对应的流程图.[解] 解决分段函数求值的问题,编写伪代码要用条件语句,画流程图要用选择结构,可以先用自然语言,设计解决问题的算法,再转化为流程图和伪代码.用变量x,y分别表示自变量和函数值.步骤如下:S1输入x值.S2判断x的范围,若x≥0,则用函数y←x2—1求函数值,否则用y←3x2—8求函数值.S3输出y的值.流程图如图所示:伪代码如下图所示:错误!1.书写条件语句时,为了清晰和方便阅读,通常将Then部分和Else部分缩进书写.2.在条件语句中,Then部分和Else部分是可选的,但语句的出口“End If”不能省.提醒:(1)条件语句的执行顺序与流程图中的选择结构的执行顺序一致,首先对条件进行判断,满足条件则执行该条件下的语句,不满足条件则执行下一步.(2)If代表条件语句的开始,End If代表条件语句的结束,这两点是判断一个语句是否为条件语句的关键.5.根据如下所示的伪代码,当输入的a,b分别为log23,log32时,最后输出的c的值为________.错误!log32[本伪代码的算法功能是输出a,b中较小的数.因为a=log23>1,b=log32<1,所以b<a,所以c=b=log32.]6.根据下面的算法语句,画出其对应的流程图.伪代码:错误![解] 伪代码中有条件语句,相应流程图用选择结构,解决的是一个两段函数求值的问题,用一个判断框就可以了.流程图如图所示:循环语句[1.循环结构流程图有几种形式?它们有何区别?可以相互转化吗?[提示] 循环结构流程图有两种形式;当型循环和直到型循环,它们可以相互转化,先判断后执行的是当型循环,先执行后判断的是直到型循环.2.循环语句有几种形式?它们可以相互转化吗?[提示] 循环语句有三种形式,如下表所示,当型循环语句和直到型循环语句可以相互转化,一般地,“For”语句可以改写成“While”语句,但“While”语句不一定能够改写成“For”语句.形式当型循环语句直到型循环语句“For”语句格式While p循环体End WhileDo循环体Until pEnd DoFor I From“初值”To“终值”Step“步长”循环体End For错误!(1)伪代码中的循环语句是________型的循环语句;(2)将伪代码用另一类型的循环语句来实现.思路点拨:用“While”语句描述的循环语句是当型循环语句,用“Do”语句描述的循环语句是直到型循环语句,从上面的伪代码可以看出,这是一个用当型循环语句写的伪代码,此伪代码输出的是1+3+5+…+99的值.[解] (1)当(2)改成直到型循环语句如下:错误!1.本例中的伪代码能用“For”语句实现吗?思路点拨:本例中伪代码输出的是1+3+5+…+99的值,循环次数用步长确定,故可以用“For”语句实现.[解] 本例中的伪代码能用“For”语句实现,用“For”语句表示如下:错误!2.设计算法,求1—3+5—7+…—99+101的值,用伪代码表示.[解] 循环语句有While语句、Until语句和For语句,采用不同语句,其算法描述不同.用“For”语句表示:错误!用“While”语句表示:错误!1.累加求和、累乘求积问题一般都要应用循环语句来设计伪代码,应用循环语句时,关键是设计循环条件及循环体.2.用循环语句编写伪代码的步骤(1)给循环语句中的变量赋初始值.(2)找出在伪代码中反复执行的部分,即循环体.(3)找出控制循环的条件:其中直到型循环是直到条件符合,即判断“Y”时,退出循环,条件不符合,即判断“N”时,继续循环;当型循环是当条件符合,即判断“Y”时,继续循环,条件不符合,即判断“N”时,退出循环.提醒:(1)“For”语句中的I是用于控制算法中循环次数的变量,起计数作用,它有初值和终值,是循环开始和结束时循环变量的值.(2)在“For”语句中,如果省略“Step步长”,那么重复循环时,I每次增加1.1.本节课的重难点是用三种语句书写算法.2.(1)条件结构的适用范围:已知分段函数的解析式求函数值的问题,须用条件语句书写伪代码,当条件的判断有两个以上的结果时,可以选择条件结构嵌套去解决.(2)解此类问题的步骤:1构思出解决问题的一个算法(可用自然语言).2画出流程图,形象直观地描述算法.3根据流程图编写伪代码,即逐步把框图中的算法步骤用算法语句表达出来.3.两种循环语句的相同点是:(1)进入循环前的语句相同;(2)循环体相同;(3)输出部分相同.不同点是:(1)循环条件的位置不同;(2)循环条件不同.1.下面的伪代码输出的结果是()错误!A.25B.27 C.9 D.11D[由题意知,x←6,y←3,x←6÷3=2,y←4×2+1=9,x+y=2+9=11.所以输出11.]2.判断输入的数x是否为正数,若是,输出它的平方,若不是,输出它的相反数,则横线上应填()错误!A.x<0 B.x≤0C.x>0 D.x≥0B[由题意知,x为正数时,输出x2,x不是正数,即x≤0时,输出—x.观察伪代码知“If”执行的是输出相反数,故应填x≤0.]3.下列伪代码输出的结果为________.错误!C=34[循环结构中,循环体的作用是将前两个数相加,得到后一个数;如果没有循环条件的限制,伪代码中的循环结构将依次给A,B赋值为:1,1,2,3,5,8,13,21,34,…,其中第1,3,5,…个数为A的值,第2,4,6,…个数为B的值,可见B=21时,循环结束,此时,A=13,所以C=A+B=34.]4.下面的语句运行后输出的结果为________.错误!25[第一次循环:x=1,x=12;第二次循环:x=2,x=22;第三次循环:x=5,x=52=25,25≥20,循环终止.故输出x的值为25.]5.给出如图所示的流程图,写出相应的伪代码.[解] 这是一个顺序结构的流程图,过程清楚,用输入,输出语句和赋值语句,编写伪代码即可.相应的伪代码如下所示.错误!。

相关主题