1、高一数学教案 算法语句复习教学目标:总结算法解题的一般思路,即算法分析(提炼问题的数学本质)画出程序框图按框图编写伪代码;通过本节学习增强解题的规范性 教学重点:在准确理解算法的基础上,掌握流程图的画法及判断,掌握伪代码的编写教学难点:程序的嵌套课 型:新授课教学手段:多媒体教学过程:一、概念梳理输入语句:1.输入语句的一般格式:Read“提示内容”;x,“提示内容”可以省略。输入语句可以同时给多个变量赋值,实现算法的输入信息功能。提示内容可以是英文,也可以是中文,但提示内容一定要加引号输入语句要求输入的值是具体的常数。2.输出语句的一般格式:Print“提示内容”;表达式,“提示内容”可以省
2、略。输出语句可以在计算机的屏幕上输出常量,变量的值和系统信息,也可以输出数值计算的结果3. 赋值语句的一般格式是:变量表达式,赋值语句的作用是将表达式所代表的值赋给变量。赋值号与数学中的等号的意义是不同的,赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一个值,如果已有值,则执行该语句,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”。4条件语句的格式是:If 条件 Then 语句l E1se 语句2 End If(1)为了便于阅读和醒目,语句1和语句2及Else一般缩进书写(2)“条件”可以是复合条件,此时用and加以连结(3)条件语句一般用在需要对条件进行判断的算法设计中,如
3、判断一个数的正负、确定两个数的大小等问题都要用到条件语句,另外,求分段函数的函数值往往要用条件语句编写程序,有时还要用到条件语句的嵌套,其格式为:If 条件1 Then 语句l E1se If 条件2 Then 语句2 E1se 语句3 End If(4)End If是“出口”,是条件语句的结束符号,在书写程序时不要漏掉5循环语句主要用来实现算法中的循环结构在处理一些需要反复执行的运算任务,如累加求和,累乘求积等问题中常常用循环语句编写程序(1)当循环的次数已经确定,可用“For”语句来表示一般形式为: For I From“初值”to“终值”step“步长” End For 初值和终值是循环
4、量的两端,For和End FOr之间缩进的步骤称为循环体 计算机执行FOr语句时,先执行循环体,后判断条件是否成立,如果条件成立,则执行循环体,这个过程反复执行,直到某一次不符合条件为止,此时不再执行循环体,跳出循环(2)当循环次数不能确定时,用While语句一般形式为: While A End while 其中A表示判断执行循环的条件,While和End While之间缩进的步骤称为循环体计算机执行While语句时,先判断条件是否成立,如果成立,则执行While和End While之间的循环体,然后再判断上述条件,再次执行循环体,这个过程反复执行,直到某一次不符合条件为止,这时不再执行循环体
5、,将跳到End while语句后,执行End while后面的语句二、题型分析考点题型1 输入、输出语句,实现数据的输入、输出功能例1编写个程序,求用长度为的细铁丝分别围成一个正方形和一个圆时所围成的正方形和圆的面积要求输入的值,输出正方形和圆的面积(取314)解析:可以用顺序结构实现这一算法,采用Read语句输入的值,利用赋值语句得到面积,最后输出两个面积程序如下:Read “”;S1()16S2()(4314)Print “正方形的面积为S2归纳点评:编写程序的关键在于搞清问题的算法,特别是算法的结构,然后确定采取哪一种算法语句本题中要用到相关的平面几何的知识来寻求正方形和圆的面积的计算公
6、式,在此基础上确定利用顺序结构实现算法误区警示:输入语句中输入的值只能是具体的常数,输出语句可以输出常量、变量或表达式的值及字符考点题型2 赋值语句,将表达式的值转给变量例2编写一个程序,要求输入两个正数a和b的值,输出ab与ba的值解析:可以利用Read语句输入两个正数,然后将ab与ba的值分别赋给两个变量,然后输出这两个变量的值即可;另一方面ab与ba作为两个幂的值,是把底数和指数进行了交换,故还可以利用赋值语句,采用将两个变量的值互换的办法实现这一算法 方法一:Read a,b 方法二:Read a,b Aab Aab Bba Print A Print A xa PrintB ab b
7、x Print A 归纳点评:方法二中通过引进一个变量x实现了变量a和b的值的交换,因此只需一个赋值语句即可实现算法在一些较为复杂的问题算法中经常需要对两个变量的值进行交换,因此应熟练掌握这种方法考点题型3 If-Then-Else语句,条件满足或不满足均有可执行的操作内容例3编写程序,输入两点的坐标,输出这两点连线的斜率解析:对于平面上给定的两点A(xl,y1)和B(x2,y2),若x1x2,则直线AB的斜率不存在,若xlx2,则直线AB的斜率因此在输入两点的坐标后应先判断xlx2是否成立,若成立,应输出斜率不存在的信息,若不成立,可将的值赋给变量k输出,故可利用条件语句实现这一算法程序为:
8、Read xl,x2,y1,y2If x1x2 Then Print “斜率不存在” Else Print “k”;k End If归纳点评:由于当x1x2和x1x2时,直线的斜率的情况是不同的,故输入坐标数据后,应先进行条件的判断,用条件语句设计算法考点题型4 If-Then语句,条件不满足时无可执行的操作内容例4编写程序,输入两个实数,由小到大输出这两个数 程序: Read a,b If ab Then ta ab bt End If Print a,b归纳点评:排序通常用到条件结构,若两数不符合所排顺序,通常是交换两个变量的值,注意本例中IfThen语句的使用考点题型5 For语句,先执
9、行循环体,后判断条件(循环次数确定)例5算法:S0 For I From l To 1000 SS+I End For 中,执行循环的次数是( )A1 000 B999 C1001 D998解析:因为循环中step=1,初值为1,终值为1000,故循环的次数是1000,选A归纳点评:本题的算法设计具有灵活性和通用性,如计算l231 000时,只需将SS+I改为SSI即可,而计算1+3+5十+999时,只需增加step=2即可在设计算法程序时要有经典的程序作为基础。考点题型6 While语句,先判断条件,再执行循环体(循环次数不确定)例6设计一个计算13579的算法下面给出了程序的一部分,则在横
10、线上不能填人下面数据中的( ) Sl I3 While I SSI II+2 End While Print S EndA9 B95 C 10 D10.5解析:因为SSI在II+2前,故I=9必须代入运算。因此I=9是运算的终值,故Ia Then c(a+b)/2 Print cElse Print bEnd IfEnd Aa3b4If ab Then ca+b Print cElse aa+b-3End IfPrint aEnd Ca3b4If ab Tthen Print bElse aa+lEnd IfPrint aEnd B3图中的程序运行结果为6 012,则的内容应为( )AI2 0
11、02 BI2 002 CI2 002 D12 0024阅读下列伪代码,并指出当时的计算结果:(1)Read a, b (2) Read a, b (3)Read a, b Xa+b aa+b aa+b ya-b ba-b ba-b a(x+y)/2 a(a+b)/2 a(a-b)/2 b(x-y)/2 b(a-b)/2 b(a+b)/2 (第3题) Print a, b Print a, b Print a, b a=_,b_ a=_,b_ a=_,b_5一球从l00m高度落下,每次落地后反弹回原高度的一半,再落下,在第十次落地时,共经过多少路程?第十次下落多高?6根据下列的伪代码,指出相应的算法功能并画出相应的流程图I1S1While S10 000 SSI II+1End WhilePrint I- 2End参考答案1. D 2. C 3. C 4.(1)a=3,b=-5;(2)a=3,b=-5;(3)a=-5,b=3;5S0H100SS+HFor I From 2 To 10HH/2SS+2HPrint S, H6功能是求满足不等式: 123I10000的最大正整数,流程图如下所示