【解析】程序框图如下面的图一或图二.
图一 图二
总结提高
1.给出一个问题,设计算法时应注意:
(1)认真分析问题,联系解决此问题的一般数学方法;
(2)综合考虑此类问题中可能涉及的各种情况;
(3)借助有关的变量或参数对算法加以表述;
(4)将解决问题的过程划分为若干个步骤;
(5)用简练的语言将各个步骤表示出来.
2.循环结构有两种形式,即当型和直到型,这两种形式的循环结构在执行流程上有所不同,当型循环是当条件满足时执行循环体,不满足时退出循环体;而直到型循环则是当条件不满足时执行循环体,满足时退出循环体.所以判断框内的条件,是由两种循环语句确定的,不得随便更改.
3.条件结构主要用在一些需要依据条件进行判断的算法中.如分段函数的求值,数据的大小关系等问题的算法设计.
11.2 基本算法语句
典例精析
题型一 输入、输出与赋值语句的应用
【例1】阅读程序框图(如下图),若输入m=4,n=6,则输出a= ,i= .
【解析】a=12,i=3.
【点拨】赋值语句是一种重要的基本语句,也是程序必不可少的重要组成部分,使用赋值语句,要注意其格式要求.
【变式训练1】(2010陕西)如图是求样本x1,x2,…,x10的平均数 的程序框图,则图中空白框中应填入的内容为( )
A.S=S+xn B.S= S+xnn C.S=S+n D.S=S+ 1n
【解析】因为此步为求和,显然为S=S+xn,故选A.
题型二 循环语句的应用
【例2】设计算法求11×2+12×3+13×4+…+199×100的值.要求画出程序框图,写出用基本语句编写的程序.
【解析】这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算 法.程序框图如下图所示:
程序如下:
s=0
k=1
DO
s=s+1/(k* (k+1))
k=k+1
LOOP UNTIL k>99
PRINT s
END
【点拨】(1)在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意格式和条件的表述方法,WHILE语句是当条件满足时执行循环体,UNTIL语句是当条件不满足时执行循环体.
(2)在解决一些需要反复执行的运算任务,如累加求 和、累乘求积等问题中应注意考虑利用循环语句来实现.
(3)在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套的这些语句,保证语句的完整性,否则就会造成程序无法执行.
【变式训练2】下图是输出某个有限数列各项的程序框图,则该框图所输出的最后一个数据是 .
【解析】由程序框图可知,当N=1时,A=1;N=2时,A=13;N=3时,A=15,…,即输出各个A值的分母是以1为首项以2为公差的等差数列,故当N=50时,A=11+(50-1)×2=199,即为框图最后输出的一个数据.故填199.
题型三 算法语句的实际应用
【例3】某电信部门规定:拨打市内电话时,如果通话时间3分钟以内,收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话不足1分钟时按1分钟计算).试设计一个计算通话费用的算法,要求写出算法,编写程序.
【解析】我们用c(单位:元)表示通话费,t(单位:分钟)表示通话时间,
则依题意有
算法步骤如下:
第一步,输入通话时间t.
第二步,如果t≤3,那么c=0.2;否则c=0.2+0.1×[t-2].
第三步,输出通话费用c.
程序如下:
INPUT t
IF t<3 THEN
c=0.2
ELSE
c=0.2+0.1*INT(t-2)
END IF
PRINT c
END
【点拨】在解决实际问题时,要正确理解其中的算法思想,根据题目写出其关系式,再写出相应的算法步骤,画出程序框图,最后准确地编写出程序,同时要注意结合题意加深对算法的理解.
【变式训练3】(2010江苏)下图是一个算法流程图,则输出S的值是 .
【解析】n=1时,S=3;n=2时,S=3+4=7;n=3时,S=7+8=15;n=4时,S=15+24=31;n=5时,S=31+25=63.因为63≥33,所以输出的S值为63.
总结提高
1.输入、输出语句可以设计提示信息,加引号表示出来,与变量之间用分号隔开.
2.赋值语句的赋值号左边只能是变量而不能是表达式;赋值号左右两边不能对换,不能利用赋值语句进行代数式计算,利用赋值语句可以实 现两个变量值的互换,方法是引进第三个变量,用三个赋值语句完成.
3.在某些算法中,根据需要,在条件语句的THEN分支或ELSE分支中又可以包含条件语句.遇到这样的问题,要分清内外条件结构,保证结构的完整性.
4.分清WHILE语句和UNTIL语句的格式,在解决一些需要反复执行的运算任务,如累加求和,累乘求积等问题中应主要考虑利用循环语句来实现,但也要结合其他语句如条件语句.
5.编程的一般步骤:
(1)算法分析;(2)画出程序框图;(3)写出程序.
11.3 算法案例
典例精析
题型一 求最大公约数
【例1】(1)用辗转相除法求840与1 764的最大公约数;
(2)用更相减损术求440与556的最大公约数.
【解析】(1)用辗转相除法求840与1 764的最大公约数:
1 764=840×2+84,
840=84×10+0.
所以840与1 764的最大公约数是84.
(2)用更相减损术求440与556的最大公约数:
556-440=116,
440-116=324,
324-116=208,
208-116=92,
116-92=24,
92-24=68,
68-24=44,
44-24=20,
24-20=4,
20-4=16,
16-4=12,
12-4=8,
8-4=4.
所以440与556的最大公约数是4.
【点拨】(1)辗转相除法与更相减损术是求两个正整数的最大公约数的方法,辗转相除法用较大的数除以较小的数,直到大数被小数除尽结 束运算,较小的数就是最大公约数;更相减损术是用两数中较大的数减去较小的数,直到所得的差和较小数相等为止,这个较小数就是这两个数的最大公约数.一般情况下,辗转相除法步骤较少,而更相减损术步骤较多,但运算简易,解题时要灵活运用.
(2)两个以上的数求最大公约数,先求其中两个数的最大公约数,再用所得的公约数与其他各数求最大公约数即可.
- 理科高三数学教案:算法初步总复习
- › 理科高三数学教案:复数总复习教学案
- › 理科高三数学教案:几何证明总复习
- › 理科高三数学教案:排列组合总复习
- › 理科高三数学教案:算法初步总复习
- › 理科高三数学教案:推理与证明总复习
- › 理科高三数学教案:统计案例总复习
- › 理科高三数学教案:导数及其应用
- › 理科高三数学教案:数列总复习
- › 理科高三数学教案:圆锥曲线与方程
- › 理科高三数学教案:一轮直线和圆的方程总
- › 理科高三数学教案:三角函数
- 在百度中搜索相关文章:理科高三数学教案:算法初步总复习
- 在谷歌中搜索相关文章:理科高三数学教案:算法初步总复习
- 在soso中搜索相关文章:理科高三数学教案:算法初步总复习
- 在搜狗中搜索相关文章:理科高三数学教案:算法初步总复习