《志鸿全优设计》2013-2014学年高中数学北师大版必修三目标导学:第二章 算法初步(6份,含解析)

文档属性

名称 《志鸿全优设计》2013-2014学年高中数学北师大版必修三目标导学:第二章 算法初步(6份,含解析)
格式 zip
文件大小 51.9MB
资源类型 教案
版本资源 北师大版
科目 数学
更新时间 2013-09-22 16:52:06

文档简介

§3 几种基本语句
3.1 条件语句
1.经历将具体问题的程序框图转化为程序语言的过程,理解条件语句.
2.掌握用If语句和复合If语句描述选择结构的算法.
1.条件语句
(1)格式:
(2)功能:当计算机执行上述语句时,首先对If后边的条件进行判断,如果满足条件,那么执行________,再执行End If之后的语句,即结束条件语句;如果不满足条件,那么执行________,再执行End If之后的语句,即结束条件语句.
(3)注意:下列算法框图中的________都可转化为(1)中的条件语句格式.
【做一做1-1】给出以下四个问题:
①输入一个数x,输出它的绝对值;
②求函数f(x)=的函数值;
③求面积为6的正方形的周长;
④求三个数a,b,c中的最大数.
其中不需要用条件语句来描述的有(  ).
A.1个 B.2个 C.3个 D.4个
【做一做1-2】下列程序语言的条件语句中,判断的条件是__________.
输入x;
If x>0 Then
y=2*x
Else
y=1-x
End If
输出y.
2.复合If语句
(1)格式:
If 条件1 Then
语句1
Else
If 条件2 Then
语句2
________
语句3
End If
End If
(2)对应的算法框图如图所示.
【做一做2-1】下列关于条件语句的说法中正确的是(  ).
A.任何条件语句中不能没有Else及后序语句
B.在复合If语句中,可以只有一个End If语句
C.在算法语句中,可以同时使用多个条件语句
D.在Else和Then后面只能有一个语句
【做一做2-2】下面给出的是用条件语句编写的程序,该程序的功能是__________.
输入x;
If x<3 Then
y=2*x
Else
If x>3 Then
y=x2-1
Else
y=2
End If
End If
输出y.
在设计条件语句时,怎样正确写出条件的表达式?
剖析:(1)使用条件语句时要注意,每一个条件语句都以“If”开头,以“End If”结束.程序中有几个“If”就有几个“End If”与之对应.
(2)复合If语句:在选择结构的某一分支中,有时需要对某一条件进行判断,因此需要再用一个选择结构完成这一要求,这样就形成了复合If语句.复合条件语句表示为:
外层条件语句
题型一 简单If语句
【例题1】试设计一个程序,对于输入的任意两个实数a,b,求出其差的绝对值,并画出程序框图.
分析:当a≥b时,其差的绝对值为a-b;否则,其差的绝对值为b-a,可以利用条件语句来描述这个算法.
反思:(1)理解并掌握条件语句的结构是解决本题的关键.
(2)从形式上讲If…End If相当于一对括号,使用时缺一不可.该语句执行时,假如条件成立,就执行语句1;否则就执行语句2.
(3)语句中If,Else,End If都是固定关键词,不能写错.
题型二 复合If语句的应用
【例题2】已知函数y=用基本语句描写一个算法,对每一个输入的x的值,求出相应的函数值.
分析:由于函数是一个分段函数,对于输入的x值,应根据其取值范围,选择相应的解析式代入求值,故要利用条件语句来进行处理.又因为实数x的取值共分为三部分,所以要使用复合If语句,对x值的范围进行刻画,从而准确地得到相应的函数值.算法框图如图所示.
反思:分段函数中常以自变量的取值范围进行分类,我们要熟悉常用到的判断条件以及该条件的相反条件,例如a≥b,其反面是a<b.
题型三 对条件语句的理解
【例题3】分别判断下列两组语句执行的结果:
(1)输入a
If a>0 Then
m=a*a-1
输出m
Else
输出“a negative number”
End If
若输入-3,输出的结果为__________;
若输入2,输出的结果为__________;
(2)输入x
If x≤10 Then
p=x*0.35
Else
p=10*0.35+(x-10)*0.7;
End If
输出p
若输入18,则p=__________.
若输入18,则p=__________.
反思:解决本题的关键是理解条件语句的执行过程,特别是执行Else后面语句的条件是什么.
1下列函数求值算法中需要用到条件语句的函数为(  ).
A.f(x)=x2-1
B.y=x3-1
C.
D.f(x)=2x
2当a=3时,下面的程序段输出的结果是(  ).
输入a
If a<10 Then
  y=2*a
Else
y=a*a
End If
A.9 B.3 C.10 D.6
3若执行下面程序后输出的结果是3,则输入的x值是(  ).
输入x
If x>0 Then
y=x
Else
y=-x
End If
A.0 B.3 C.-3 D.3或-3
4写出下面语句运行的结果.
输入a
If a<0 Then
输出“不存在”
Else
输出t
End If
当a=-3时,输出结果为______;当a=9时,输出结果为______.
5将下列算法框图转化为条件语句.
答案:
基础知识·梳理
1.(1)Then Else (2)语句1 语句2 (3)选择结构
【做一做1-1】A 只有③不需要用条件语句来描述.
【做一做1-2】x>0
2.(1)Else
【做一做2-1】C
【做一做2-2】求函数y=的函数值
典型例题·领悟
【例题1】解:程序框图如图所示.
用基本语句描述为:
输入a,b;
If a≥b Then
 c=a-b
Else
 c=b-a
End If
输出c.
【例题2】解:算法语句如下:
输入x;
If x≤-1 Then
y=(x+1)2
Else
If x≥1 Then
  y=1/x-1
Else
  y=2*x+2
End If
End If
输出y.
【例题3】(1)a negative number 3 (2)2.1 9.1 要分清各条件语句中是执行了语句1还是语句2,这取决于条件判断是真还是假.(1)中,若输入-3,则条件判断为假,所以执行Else后面的语句:输出“a negative number”.若输入2,则条件判断为真,所以执行Then后面的语句:m=a*a-1,输出m(先将a*a-1的值赋予变量m,然后输出变量m的值).同理可分析得出(2)的答案.
随堂练习·巩固
1.C 求分段函数的函数值,需要用到条件语句.
2.D ∵a=3<10,∴y=2a=6.
3.D 若x=3,则y=3;若x=-3,则y=-(-3)=3.
4.不存在 3 本算法语句的作用是输入一个数,若该数大于等于0,求该数的算术平方根,当输入的数小于0时,该数的算术平方根不存在.
5.解:输入x
If x>0 Then
  输出x
Else
  输出-x
End If3.2 循环语句
1.理解For循环语句和Do Loop循环语句在算法语句中的作用.
2.能举例说明循环语句的作用,并掌握循环流程分析的方法,进一步体会算法的基本思想.
1.For语句
(1)格式:
(2)适用于预先________循环次数的循环结构.
①在For语句里,我们默认循环变量每次的增量为1,增量不为1的情况,需用参数Step,即“For循环变量=初始值To终值Step增量”.
②For语句的执行流程:当程序执行时,遇到For语句,首先把初始值赋予循环变量,记下终值,并比较初始值和终值,如果初始值不超过终值,开始执行循环体,执行到Next语句时循环变量加1并且与终值比较,若不超过终值,则继续执行循环体,否则退出循环.
【做一做1】下列程序中的For语句终止循环时,S等于(  ).
S=0
For M=1 To 10
   S=S+M
Next
输出S
A.1 B.5 C.10 D.55
2.Do Loop语句
(1)格式:
(2)适用于预先________循环次数的循环结构.
(3)Do Loop语句的执行流程:先进入循环体,执行一次循环体后,检查While后的条件是否被满足,“是”则继续执行循环体,“否”则退出循环体.
For语句和Do Loop语句的异同
For语句和Do Loop语句都是表达循环结构的算法,但是它们在表达方式和功能上又有一定的区别,主要表现在以下几点:
(1)书写形式不同.
(2)作用不同:For语句主要适用于预先知道循环次数的循环结构;如果预先不知道循环次数,则使用Do Loop语句.
(3)For语句中循环条件在前,首先判断循环条件,如果条件不满足一次也不能执行循环体;而Do Loop语句中循环条件在后,即使刚开始不满足条件也要执行一次循环体.
【做一做2】请用Do Loop语句设计一个算法求平方小于1 000的所有正整数的平方和.
什么时候使用循环语句?
剖析:循环结构是算法中的基本结构,循环语句是实现这一算法的基础,它能解决那些需要重复进行运算的问题,把循环结构的算法转化为易于理解的类似计算机的语言,从而实现程序在计算机上的运行.例如,要求1+2+3+…+100的计算就要反复进行加法运算,就可以使用循环语句实现.
循环语句主要有两种类型:
(1)For语句是表达循环结构最常见的语句之一,其格式为:
(2)另一种是Do Loop语句,其格式为:
题型一 For语句的基本应用
【例题1】使用For语句设计算法,计算1+3+5+…+999的值.
分析:每次加的数都比前一个数大2,这是该问题的规律,怎么利用这个规律呢?在计算机上我们用For语句,把循环变量的增量设为2,这样就实现了每次加的数比前一个数大2.
反思:用For语句描述算法的步骤是:(1)首先明确循环的次数;(2)设置循环变量控制循环的次数,并给定初始值和终值;(3)套用For语句的一般形式.
题型二 For语句与条件语句的综合应用
【例题2】用For语句描述一个算法,找出满足以下三个条件的矩形:(1)四条边长均为整数;(2)面积值与周长值相等;(3)各边长都不超过400.
反思:本题算法语句中省略了增量1,当循环变量的增量为1时,常省略.
题型三 Do Loop语句的基本应用
【例题3】用基本语句描述一个算法,求满足1+3+5+…+n>500的最小自然数n.
分析:结束循环的条件是和大于500,可以用累加的方法,一个数一个数地加到累加器中,每加一个数就把累加器的值与500比较,直到大于500为止.
由于预先不知道循环次数,故用Do Loop语句描述该算法.
反思:对于重复执行某操作的算法,一般用循环语句来实现.如果预先不知道循环的次数,一般用Do Loop语句来实现.
题型四 易错辨析
【例题4】设计程序计算并输出+++…+的值.
错解:用For语句描述为:
S=0
For i=1 To 17
m=1/(2*i+1)
S=S+m
Nest
输出S
错因分析:原式中共有18个数相加,错解中由“i=1 To 17”共循环17次,结果错误.
1下列关于For循环的说法错误的是(  ).
A.在For循环中,循环表达式也称为循环体
B.在For循环中,步长为1,可以省略不写;若为其他值,则不可省略
C.理解For循环关键是理解为循环变量设定初值、步长、终值
D.在For循环中,“End”控制结束一次循环,开始一次新的循环
2下列程序的运行结果为(  ).
A.5 B.6
C.7 D.8
3下列程序的运行结果为(  ).
A.6 B.7
C.8 D.9
4如图,把求的值的程序补充完整,则(1)__________;(2)__________.
5设计一个计算1×3×5×…×99的程序.
答案:
基础知识·梳理
1.(1)初始值 终值 (2)知道
【做一做1】D
2.(1)条件为真 (2)不知道
【做一做2】解:用算法语句描述为:
S=0
i=1
Do
S=S+i2
i=i+1
Loop While i2<1 000
输出S
典型例题·领悟
【例题1】解:用For语句描述为:
S=0
For i=1 To 999 Step 2
S=S+i
Next
输出S
【例题2】解:用For语句描述为:
For a=1 To 400
For b=1 To 400
  If a*b=2(a+b) Then
   输出a,b
  End If
Next
Next
【例题3】解:用Do Loop语句描述为:
i=1
sum=0
Do
sum=sum+i
i=i+2
Loop While sum≤500
i=i-2
输出i
【例题4】正解:
S=0
For i=1 To 18
m=1/(2*i+1)
S=S+m
Next
输出S
随堂练习·巩固
1.D
2.B 由于0+1+2+3+4+5=15,0+1+2+3+4+5+6=21,∴i=6.
3.B S=0,i=1;S=0+1,i=2;…;S=0+1+2+3+4+5,i=6,由于此时S=15<20,∴继续执行S=0+1+2+3+4+5+6,i=6+1=7,此时S=21>20,故i=7.
4.(1)S=S+1/[i*(i+3)] (2)i≤50
5.解:算法程序为
i=1
S=1
For i=1 To 99
  S=S*i
  i=i+2
Next
输出S§1 算法的基本思想
1.通过对解决具体问题的过程与步骤的分析,体会算法的思想,了解算法的含义.
2.学会用自然语言来描述算法;初步学会为一个具体问题设计算法.
算法
(1)定义:在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些______称为解决这些问题的算法.这种描述不是算法的严格定义,但是反映了算法的基本思想.
(2)算法的性质:
①确定性:算法中的每一步都应该是确定的,并且能有效地执行并得到确定的结果,而不能含糊其辞,含有歧义.
②有限性:对于一个算法来说,它的操作步骤必须是有限的,必须在有限的步骤之内完成.
③普遍性:一个算法通常能解决一类问题,不是仅仅解决一个单独的问题.
(3)作用:使________代替人完成某些工作.
(4)注意:解决一个问题可能有多个算法,但有优劣之分,其中操作简单、步骤少且能解决一类问题的算法称为最优算法.
算法与一般意义上具体问题的解法既有联系又有区别,它们之间是一般与特殊、抽象与具体的关系.算法的获得要借助于一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,这些步骤称为解决这些问题的算法,这种解决问题的思想方法称为算法的思想.
【做一做1】下列对算法的理解不正确的是(  ).
A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)
B.算法要求是一步步执行,每一步都能得到唯一的结果
C.算法一般是机械的,有时要进行大量重复的计算,它的优点是是一种通法
D.任何问题都可以用一个算法来解决
【做一做2】求半径r=2的圆的周长,写出算法.
一个好的算法应满足哪些要求?
剖析:一般来说,一个好的算法应满足以下要求:
(1)写出的算法必须能解决一类问题(例如解任意一个二元一次方程组),并且能够重复使用;
(2)算法的过程要能一步一步执行,每一步操作,必须明确,不能含混不清,而且要在有限步之内得出结果;
(3)算法要简洁,要清晰可读,不能繁杂,也就是说在解决同一类问题的许多种不同的算法中,我们所确定的算法步骤应该是最简单有效的,即最优化算法.
题型一 算法的概念
【例题1】下列关于算法的叙述中,不正确的是(  ).
A.计算机解决任何问题都需要算法
B.只有将要解决的问题分解为若干步骤,并且用计算机能够识别的语言描述出来,计算机才能解决问题
C.算法执行后可以不产生确定的结果
D.解决同一个问题的算法并不唯一,而且每一个算法都要一步一步执行,每一步都要产生确切的结果
题型二 求正约数的算法设计
【例题2】求18的所有正约数,请设计两种算法.
分析:分别对1,2,3,…,18逐一检验,或者对18进行因数分解,写出相关步骤即可.
反思:解决一个问题可以有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但算法二运用了因数分解原理,这样步骤就比算法一少了许多,因此更为科学.本题体现了算法的特征:(1)一个算法往往具有代表性,能够解决一类问题;(2)算法不是唯一的;(3)两种算法各自体现了不同的思想内涵.
题型三 计算问题的算法设计
【例题3】写出求两底面半径分别为1和4,高为4的圆台的侧面积、表面积及体积的算法.
分析:可先由两底面半径r1,r2和高h计算出圆台母线长l,进而求出圆台侧面积S侧=π(r1+r2)l.同时由r1,r2计算出两底面积S1,S2,然后由体积公式V=(S1+S2+)·h及表面积公式S=S1+S2+S侧求得结果.
反思:写数值性问题的算法一定要掌握有关知识及公式的正确运用和计算,要注意过程的条理化和步骤的清晰化.
题型四用 二分法求方程近似解的算法设计
【例题4】用二分法设计一个求方程x2-2=0的近似解的算法.
分析:若令f(x)=x2-2,则求方程x2-2=0的近似解,就是求函数f(x)的零点的近似值.借助用二分法求函数零点近似值的方法,我们便可以设计出求方程近似解的算法.
反思:从本例可以发现,求解某类问题的算法不同于求解一个具体问题的方法,它必须能解决一类问题.只要有了解决问题的算法,不管借助的工具是纸笔、计算器,还是计算机,都能按照算法步骤求得相同的结果.
题型五 易错辨析
【例题5】设计一个解方程ax2+bx+c=0的算法.
错解:小华采用的算法描述如下:
1.计算Δ=b2-4ac;
2.若Δ<0,则输出“方程无实根”;
3.若Δ>0,则输出方程的根.
错因分析:上述算法中有两处错误:
第一处是没有考虑a是否为0,显然a=0时,方程无判别式,上述算法无效;
第二处错误是漏掉了Δ=0的情况.
1下列关于算法的说法中,正确的是(  ).
A.算法就是某个问题的解题过程
B.算法执行后可以不产生确定的结果
C.解决某类问题的算法不一定是唯一的
D.算法可以无限地操作下去不停止
2下列语句表达中是算法的有(  ).
①从济南到巴黎可以先乘火车到北京,再坐飞机抵达;
②>2x+4;
③求M(1,2)与N(-3,-5)两点连线的方程,可先求MN的斜率,再利用点斜式方程求得.
A.0个 B.1个
C.2个 D.3个
3给出算法:
1.输入n=10.
2.令i=1,S=0.
3.判断i≤n是否成立,若不成立,输出S,结束算法;若成立,执行下一步.
4.令S的值加i,仍用S表示,令i的值增加1,仍用i表示,返回第3步.
该算法的功能是_______________________________________________________.
4已知长方体的长、宽、高分别为3,4,5,设计算法求其体积.
5写出解方程x2-2x-3=0的一个算法.
答案:
基础知识·梳理
(1)步骤 (3)计算机
【做一做1】D
【做一做2】分析:直接用公式C=2πr求解.
解:算法如下:
1.取r=2.
2.计算C=2πr.
3.输出C.
典型例题·领悟
【例题1】C 算法的主要特征是确定性和顺序性,确定性包括结果明确,每一步产生的结果和最后的结果都是明确的;顺序性包括步骤确切,每一步执行什么是明确的;因此,C项不正确,故选C.
【例题2】解:算法一:
1.1是18的正约数,将1列出;
2.2是18的正约数,将2列出;
3.3是18的正约数,将3列出;
4.4不是18的正约数,将4删除;
……
18. 18是18的正约数,将18列出.
算法二:
1.18=2×9;
2.18=2×32;
3.列出18的所有正约数:1,2,3,32,2×3,2×32.
【例题3】解:算法步骤如下:
1.取r1=1,r2=4,h=4;
2.计算l=;
3.计算S1=πr21,S2=πr22,S侧=π(r1+r2)l;
4.计算S表=S1+S2+S侧;
5.计算V=(S1++S2)h.
【例题4】解:我们先假设所求近似值与精确解的差的绝对值不超过0.005.
算法步骤如下:
1.令f(x)=x2-2.因为f(1)<0,f(2)>0,所以设x1=1,x2=2.
2.令m=,判断f(m)是否为0.若是,则m为所求;若否,则继续判断f(x1)·f(m)大于0还是小于0.
3.若f(x1)·f(m)>0,则令x1=m;否则,令x2=m.
4.判断|x1-x2|<0.005是否成立.若是,则x1,x2之间的任意取值均为满足条件的近似根;若否,则返回第2步.
【例题5】正解:1.输入a,b,c的值.
2.若a=0,b≠0,则输出方程的根x=-;
若a=b=0,c≠0,则输出“方程无实根”;
若a=b=c=0,则输出“方程有无数个实根”.
3.若a≠0,计算Δ=b2-4ac:
若Δ<0,则输出“方程无实根”;
若Δ≥0,则输出方程的根x1=,x2=.
随堂练习·巩固
1.C 2.C
3.计算1+2+3+4+5+6+7+8+9+10的值
4.分析:利用公式V长方体=长×宽×高,写出算法.
解:算法如下:
1.输入长方体的长a,宽b,高h.
2.计算V=abh.
3.输出V.
5.解:方法一:1.移项,得x2-2x=3;①
2.①两边同时加1并配方,得(x-1)2=4;②
3.②式两边开方,得x-1=±2;③
4.解③得x=3,或x=-1.
方法二:1.计算方程的判别式并判断其符号,Δ=(-2)2-4×1×(-3)=16>0;
2.将a=1,b=-2,c=-3代入求根公式x=,得x1=3,x2=-1.2.3 循环结构
1.理解循环结构的有关概念.
2.能正确地运用循环结构框图表示具体问题的算法.
1.循环结构的概念
在算法中,从某处开始,按照一定的条件________某些步骤的结构称为循环结构.
反复执行的______称为循环体;控制着循环的______和______的变量,称为循环变量;决定是否继续执行循环体的________,称为循环的终止条件.
【做一做1-1】算法框图中的三种基本逻辑结构是(  ).
A.顺序结构、选择结构和循环结构
B.输入、输出结构、判断结构和循环结构
C.输入、输出结构、选择结构和循环结构
D.顺序结构、判断结构和循环结构
【做一做1-2】如图所示的算法框图中含有循环结构,其循环的终止条件是______.
2.循环结构的设计过程
设计循环结构之前需要确定的三件事:
(1)确定循环变量和________;
(2)确定算法中________的部分,即循环体;
(3)确定循环的______条件.
循环结构的算法框图的基本模式,如图所示.
画程序框图时,一般遵循以下规则:
①使用标准的程序框和符号;
②一般按从上到下、从左到右的顺序画程序框图;
③在程序框内的语言或符号要非常简练清楚.
【做一做2-1】如图所示的程序框图中,属于循环结构的是(  ).
A.①② B.②③ C.③④ D.②④
【做一做2-2】求1+2+3+4+…+110的值,写出算法步骤,画出算法框图.
如何理解循环结构?
剖析:对循环结构的理解:
(1)先执行一次循环体,再对条件进行判断,如果条件不满足,就继续执行循环体,当满足条件时终止循环.
(2)循环结构要在某个条件下终止循环,这就需要选择结构来判断.因此,循环结构中一定包含选择结构,以保证在适当的时候终止循环,不允许“死循环”.
(3)在循环结构中通常都有一个计数变量和累加变量.计数变量用于记录循环次数,累加变量用于输出结果.计数变量和累加变量一般是同步执行的,累加一次,计数一次.循环结构内不存在无终止的循环.
循环结构中几个常用的变量:
计数器:即计数变量,用来记录某个事件发生的次数,如i=i+1,n=n+1.
累加器:即累加变量,用来计算数据之和,如sum=sum+i.
累乘器:即累乘变量,用来计算数据之积,如p=p*i.
对于这些变量,在程序开始,一般要先赋初值,可根据实际问题合理选择初始值,一般情况下,计数器可设初值为0或1,累加器为0,累乘器为1.
题型一 一列数的求和问题
【例题1】已知有一列数,,…,,设计算法求这列数前100项的和.
反思:对于这样一列有规律的数进行求和,利用循环结构解决很方便.需要注意的是:先要看清这列数的规律,一般题目会给出,就是最后一个式子.比如本题中这列数的特点是.如果不给出这样的式子,自己要好好寻找其中的规律.对于其中的变量S,在累加时初始值赋值为0,在累乘时初始值赋值为1.
题型二 筛选问题
【例题2】给出以下10个数:5,9,80,43,95,73,28,17,60,36,要求把大于40的数找出来并输出,试画出解决该问题的程序框图.
分析:可以从第一个数开始与40比较大小,这样共需比较10次,可以设计一个计数变量来控制比较的次数,再通过循环结构来设计算法.
反思:设计循环结构需要两步来完成:设计循环结束条件和设计循环体.循环结束条件的设计主要看题目中是否有明确的循环次数或者问题结束的条件,若有,则可以直接套用.设计循环体需要寻找哪一部分操作需要重复进行,重复进行的步骤就是我们需要设计的循环体.
题型三 函数的求值问题
【例题3】已知函数f(x)=3x,设计输入x的值求f{f[f(x)]}的值的算法,并画出程序框图.
分析:输入x后,将x代入函数f(x)求得函数值,再将函数值代回函数f(x),这个过程需重复进行,可以运用循环结构解决.
反思:本题解决的是函数求值问题,主要的难点是如何解决多次计算函数值的问题.每次求函数值的过程都是代入同一函数式,是重复的,需要重复3次,因此这部分可以考虑用循环结构.
题型四 易错辨析
【例题4】画出求1×3+2×4+3×5+4×6+5×7+6×8+7×9的值的程序框图.
错解:程序框图如图所示.
错因分析:第一处错误是判断框处,逻辑上为“是”时输出,“否”时应继续循环;第二处是循环体不对,不只是i=i+1,应包括S=S+i×(2+i).
1下列四个说法:
①任何一个算法都离不开顺序结构;
②算法框图中,根据条件是否成立有不同的流向;
③循环体是指按照一定条件,反复执行的某一处理步骤;
④循环结构中一定有选择结构,选择结构中一定有循环结构.
其中正确的个数为(  ).
A.1 B.2 C.3 D.4
2阅读如图所示的算法框图,该算法框图输出的结果为(  ).
A.81 B.3 C.5 D.15
3(2011福建高考,文5)阅读下图所示的程序框图,运行相应的程序,输出的结果是(  ).
A.3 B.11 C.38 D.123
4阅读下面的程序框图,则输出的数据S为__________.
5画出求的值的算法框图.
答案:
基础知识·梳理
1.反复执行 步骤 开始 结束 判断条件
【做一做1-1】A
【做一做1-2】i>131
2.(1)初始条件 (2)反复执行 (3)终止
【做一做2-1】C ①是顺序结构;②中只是对条件的判断,不会重复出现操作;③④属于循环结构.
【做一做2-2】分析:由于重复做加法,因此需用循环结构.
解:算法步骤:
1.i=1,sum=0;
2.sum=sum+i;
3.i=i+1;
4.如果i≤110,则执行第二步,否则执行下一步;
5.输出sum.
算法框图如图所示.
典型例题·领悟
【例题1】解:1.找循环变量i,其增量为1,故只需用式子i=i+1;
2.设置循环体,观察这列数的特点是,将这样的数累加S=S+;
3.设置循环终止的条件i>100,算法框图如图.
【例题2】解:程序框图如图所示.
【例题3】解:算法如下:
1.输入x;
2.i=1;
3.若i≤3,则y=3x,x=y,i=i+1,继续执行第3步;否则,执行第4步;
4.输出y.
程序框图如图所示.
【例题4】正解:程序框图如图所示.
随堂练习·巩固
1.C ①②③正确,④错误,故选C.
2.A 第一次循环,s=9,a=4;
第二次循环,s=81,a=3<4.
故循环终止,输出s=81.故选A.
3.B 第一次循环,a=3;第二次循环,a=11,故该程序框图运行后输出的结果为11.
4.31 S=1+21+22+23+24=31.
5.分析:这个式子实际上是通过求和,取倒数;再求和,取倒数,反复5次即可达到目的.循环变量为i,初始值为1,每次递增1;循环体为A=;循环的终止条件为i>5.
解:算法框图如图所示.2.2 变量与赋值
1.了解变量与赋值的概念.
2.掌握将常数赋予变量、将含其他变量的表达式赋予变量、将含有变量自身的表达式赋予变量.
3.学会通过赋值的方式改变变量的值.
1.变量
(1)定义:在研究问题的过程中,可以取不同______的量称为变量.在设计算法的过程中,引入变量后,会使算法的表述变得非常简单、清楚.
(2)表示法:算法中的变量常用______字母或英文字母加数字表示.例如A,B,a,b,c等.不同的变量要用不同的字母表示.
2.赋值
在算法中,把变量A的值赋予变量B,这个过程称为赋值,记作______,其中“=”称为______.
对赋值语句的理解
(1)如果把变量看成能且仅能放一个数值的盒子,那么赋值就是往这个盒子中放数值,一次只能放一个数值,当放入新数值后,原数值被“挤”出去,该变量的值被新数值替换.
(2)在算法中,B=A与A=B不同,B=A表示将变量A的值赋予变量B,而A=B正好相反,表示将变量B的值赋予变量A.
(3)赋值符号“=”的右边是变量或表达式,而左边只能是一个变量.
(4)赋值符号“=”不同于数学算式中的等号,例如赋值语句A=A+1表示变量A的值增加1后还用变量A表示,但是在数学算式中A=A+1无意义.
【做一做1】下列关于赋值语句需要注意的事项的叙述中,不正确的是(  ).
A.赋值号左边只能是变量名字,不能是表达式
B.赋值号左右不能对换
C.不能利用赋值语句进行代数式计算
D.赋值号与数学中的等号的意义相同
【做一做2】下列赋值语句中正确的是(  ).
A.4=M B.x+y=10
C.A=B=2 D.N=N2
【做一做3】执行下列赋值语句后,变量A=__________.
A=1
A=A+1
A=2A
1.如何给变量赋值?
剖析:所谓赋值就是将一个数据赋予一个变量,在计算机程序中赋值操作是由赋值语句来完成的.赋值语句的格式为:变量名=表达式.
例如:x=8,其作用是给变量x赋值8.这里的“=”不是数学中通常意义的“等于号”,它是“赋值符号”.其作用是将它右边的值赋给它左边的变量.可以形象地比喻:每个变量占一个匣子,每个匣子中可以放一个数据.在程序开始时,计算机自动使所有变量的初值为0,在执行赋值语句“x=8”后,x匣子中放入了数值8,x匣子中的数就称为变量x的值.
2.如何交换两个变量A,B的值?
剖析:在算法中交换两个变量的值不可以直接交换,而是通过另外一个变量作为中间量来交换.初学时,往往容易把电脑解决问题的方法与人类的想法混淆,导致学习算法很困难.
交换两个变量A和B的程序很多,其中最常见的是:
X=A,
A=B,
B=X.
其交换过程可以形象理解为:
X=A表示“把A杯中的水倒入X杯中”,这样“A杯”是空杯子;
A=B表示“把B杯中的水倒入A杯中”,这样“A杯”中的水换成了“B杯”中的水,此时“B杯”是空杯子;
B=X表示“把X杯中的水倒入B杯中”,这样“B杯”中的水换成了“X杯”中的水,即原来“A杯”中的水,交换结束.
其交换过程可以用下图表示:
题型一 赋值语句的判断
【例题1】判断下列赋值语句是否正确:
(1)1=m;(2)x-y=3;(3)A=B=2;(4)N=M.
反思:根据赋值语句的特征判断赋值语句的正确与否.
题型二 与赋值语句有关的问题
【例题2】写出下列语句描述的算法的输出结果.
分析:注意赋值号“=”与数学中的“=”意义不同.
反思:在解决与赋值语句有关的题目时,一定要明确赋值语句的作用,尤其是涉及对变量的多次赋值时,应以后一次赋值为最后输出值.
题型三 变量的设置
【例题3】编写一个算法,求用长度为l的细铁丝分别围成的正方形和圆的面积,要求输入l的值,输出正方形和圆的面积,并画出框图.
反思:两个或多个变量的设置一般是利用已有的公式,使用赋值语句,这样算法的表述就变得非常简洁和清晰.
1对赋值语句的叙述正确的是(  ).
A.只能给1个变量赋值
B.最多可以给2个变量赋值
C.可以给多个变量赋值
D.可以给表达式赋值
2下面语句描述的算法输出的结果是(  ).
A=10;
B=A-8;
A=A-B;
输出A.
A.10 B.8 C.2 D.-2
3(2011西安一中月考,3)下列赋值语句中正确的是(  ).
A.m+n=3 B.3=i
C.i=i2+1 D.i=j=3
4如图所示算法框图输出M=______.
5金融业是现代生活中不可或缺的行业,与我们有着密切的关系.某人现有5 000元人民币,他按照定期一年的存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为2.25%,试求5年后这个人连本带息可以取出多少钱?用算法解决问题,画出框图.
答案:
基础知识·梳理
1.(1)数值 (2)英文
2.B=A 赋值号
【做一做1】D
【做一做2】D
【做一做3】4
典型例题·领悟
【例题1】解:由赋值语句中的“=”左边是变量,右边是表达式知(1)(2)错误,由赋值语句只能给一个变量赋值,不能出现两个或多个“=”知(3)错误,(4)是正确的,故(1)错误;(2)错误;(3)错误;(4)正确.
【例题2】解:∵c===4,∴c2=42=16.∴d=16.
输出16.
【例题3】解:设围成的正方形的边长为a,依题意得4a=l,a=,所以正方形的面积为S1=2=.
同理,若设围成的圆的半径为R,则2πR=l,R=,所以圆的面积为S2=πR2=π·2=.
因此可以用顺序结构实现这一算法,输入l的值,利用赋值语句得到面积,最后输出面积.算法步骤如下:
1.输入l的值;
2.;
3.;
4.输出S1,S2.
框图如图所示.
随堂练习·巩固
1.A 2.B
3.C 根据赋值语句的格式进行判断.
4.10
5.解:设这个人在n(n=1,2,3,4,5)年后连本带息可以取出a元,算法如下:
1.a=5 000;
2.a=a(1+2.25%);
3.a=a(1+2.25%);
4.a=a(1+2.25%);
5.a=a(1+2.25%);
6.a=a(1+2.25%);
7.输出a.
算法框图如图所示.§2 算法框图的基本结构及设计
2.1 顺序结构与选择结构
1.了解算法框图的定义.
2.通过模仿、操作、探索,经历通过设计流程图表达解决问题的过程,理解并掌握顺序结构、选择结构.
1.算法框图
通常,为了使算法结构更加清晰,可借助____来帮助描述算法,这便得到了算法框图.图的特点是______、清楚,便于检查和交流.算法框图有三种基本结构:顺序结构、选择结构和循环结构.
几个基本的框图和它们各自表示的功能.
框图 功能
终端框(起止框) 表示一个算法的起始和结束
输入、输出框 表示一个算法输入和输出的信息
处理框 赋值、计算
判断框 判断某一条件是否成立
【做一做1】下列关于框图的功能描述正确的是(  ).
A.(1)是处理框;(2)是判断框;(3)是终端框;(4)是输入、输出框
B.(1)是终端框;(2)是输入、输出框;(3)是处理框;(4)是判断框
C.(1)和(3)都是处理框;(2)是判断框;(4)是输入、输出框
D.(1)和(3)的功能相同;(2)和(4)的功能相同
2.顺序结构
(1)定义:按照______依次执行的一个______,称为具有“顺序结构”的算法,或者称为算法的顺序结构.
(2)算法框图:如图所示.
(3)执行步骤的方式:先执行步骤______,再执行步骤______.
【做一做2】如图所示的算法框图中,输入a1=3,a2=4,
则输出的结果是(  ).
A.12 B.7 C.34 D.43
3.选择结构
(1)定义:在算法中,需要判断条件的真假,依据判断的____决定后面的______,像这样的结构通常称为选择结构.
(2)算法框图:如图所示.
(3)执行步骤的方式:每次仅能执行一个步骤.当条件为____时,执行步骤____;当条件为假时,执行步骤____.不能同时执行这两个步骤,也不能一个步骤也不执行.
【做一做3-1】如图所示的算法框图中,输入m=-1,则输出w=________.
【做一做3-2】已知关于x的一元二次方程ax2+bx+c=0(a≠0),设计一个算法判断方程是否有实数根.写出算法步骤,并画出算法框图.
怎样画算法框图?
剖析:初次学习画算法框图时,首先写出算法步骤,再用相应的框图表示出来.待熟练后,可不写出算法步骤,直接画出算法框图.
说明:(1)任何算法框图中,最上面和最下面的框图必须是终端框,表示算法框图的开始和结束.
(2)任何算法框图中,必须有输出框,表示输出所解决问题的答案,否则是无意义的算法框图.
(3)算法框图中,对于输入框、处理框、判断框,要根据实际需要来决定是否选用.
题型一 设计含顺序结构的算法
【例题1】利用梯形的面积公式设计计算两底为a,b和高为h的梯形面积的算法,并画出程序框图.
分析:根据题意确定算法步骤,并结合其算法类型选择顺序结构.
反思:顺序结构是算法框图中最简单、最基本的逻辑结构,是任何一个算法都含有的.此类算法中不含有判断框.
题型二 设计含有选择结构的算法框图
【例题2】已知函数y=设计一个算法,输入自变量x的值,输出对应的函数值.请写出算法步骤,并画出算法框图.
分析:该函数是分段函数,当x取不同范围内的值时,函数表达式不同,因此当给出一个自变量x的值时,也必须先判断x的范围,然后确定利用哪一个解析式求函数值,因此函数解析式分为三段,所以判断框需要两个,即进行两次判断.
反思:设计程序框图时,首先设计算法步骤(自然语言),再将算法步骤转化为程序框图(图形语言).如果已经非常熟练地掌握了画程序框图的方法,那么可以省略设计算法步骤而直接画出程序框图.对于算法中含有分类讨论的步骤,在设计程序框图时,通常用选择结构来解决.
画程序框图时,容易漏掉终端框,其原因是没有掌握画程序框图的规则,任何程序框图必须有终端框,终端框表示程序框图的开始和结束,否则是不完整的.
题型三 根据算法框图确定算法
【例题3】观察所给程序框图,说明它所表示的函数.
分析:由框图形式可以看出这是一个选择结构,可根据判断条件确定算法流向,因此所表示的是一个分段函数.
反思:(1)对于这类问题的解答,首先由框图形式识别其结构类型,然后根据结构模式确定算法内容.(2)这类题型形式上与课后习题相反.既要会根据分段函数写出其流程图,又要会根据流程图写出其所表示的函数,这种题型在以后会经常出现.
题型四 实际应用题
【例题4】某居民区的物业管理部门每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,画出算法框图.
反思:(1)解决求分段函数的函数值问题时,一般要采用选择结构来设计算法.
(2)解决这类题的关键是设计好正确的算法步骤,然后画出准确的算法框图.
1在算法框图中,算法中要处理的数据和计算,可以分别写在不同的(  ).
A.处理框内 B.判断框内
C.输入、输出框内 D.循环框内
2如图所示的算法框图,当输入x=2时,输出的结果是(  ).
A.4 B.5
C.6 D.13
3如图所示的算法框图,其功能是(  ).
A.输入a,b的值,按从小到大的顺序输出它们的值
B.输入a,b的值,按从大到小的顺序输出它们的值
C.求a,b中的最大值
D.求a,b中的最小值
4如图所示的算法框图,输出的结果是S=7,则输入A的值等于______.
5已知函数设计算法,输入自变量x的值,输出对应的函数值,写出算法步骤,并画出算法框图.
答案:
基础知识·梳理
1.图 直观
【做一做1】B
2.(1)步骤 算法 (3)甲 乙
【做一做2】A
3.(1)结果 步骤 (3)真 甲 乙
【做一做3-1】-2 m=-1<0,则w=-1-1=-2.
【做一做3-2】分析:根据Δ=b2-4ac的符号来判断,因此要用选择结构.
解:算法步骤:
1.输入a,b,c.
2.计算Δ=b2-4ac.
3.判断Δ≥0是否成立,若成立,输出“方程有实数根”,若不成立,输出“方程无实数根”.
算法框图如图所示.
典型例题·领悟
【例题1】解:算法如下:
1.输入a,b,h;
2.计算S=(a+b)h;
3.输出S.
该算法的程序框图如图所示.
【例题2】解:算法如下:1.输入自变量x的值.
2.判断x>0是否成立,若成立,计算y=1+x,否则,执行下一步.
3.判断x=0是否成立,若成立,令y=0,否则,计算y=-x-3.
4.输出y.
算法框图如图所示.
【例题3】解:表示的函数是y=
【例题4】解:设某住户的人数为x,收取的卫生费为y元,
依题意有y=
这是一个分段函数求值问题,可用选择结构实现算法.
算法步骤如下:
1.输入x;
2.若x≤3,则y=5;否则y=5+1.2(x-3);
3.输出y.
算法框图如下.
随堂练习·巩固
1.A
2.D 该算法框图的执行过程是
x=2
y=2×2+1=5
b=3×5-2=13
输出b=13.
3.C 输入a=1,b=2,运行算法框图可输出2.根据执行过程可知该算法框图的功能是输入a,b的值,输出它们中的最大值,即求a,b中的最大值.
4.3 该算法框图的功能是输入A,计算2A+1的值.设2A+1=7,解得A=3.
5.分析:该函数是分段函数,当x取不同范围内的值时,对应法则不同,因此当给出一个自变量x的值时,必须先判断x的范围,以便确定相应的对应法则,所以用选择结构来解决.
解:算法如下:
1.输入x.
2.如果x>0,则y=;否则y=-x.
3.输出y.
算法框图如图所示.