下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十一章算法初步与框图(理)、知识网络算法概念算法与程序框图顺序结构框图的逻辑结构循环结构条件结构输入语句算法初步算法语句循环语句 条件语句输出语句 赋值语句算法案例二、考纲要求1 .算法的含义、程序框图(1) 了解算法的含义,了解算法的思想.(2)理解程序框图的三种基本逻辑结构:顺序、条件分支、循环 .2 .基本算法语句理解几种基本算法语句 一一输入语句、输出语句、赋值语句、条件语句、循环语句的含义.三、复习指南本章是新增内容,多以选择题或填空题形式考查,常与数列、函数等知识联系密切 .考查 的重点是算法语句与程序框图,以基础知识为主,如给出程序框图或算法语句,求输出结果或说 明算法的功能;
2、或写出程序框图的算法语句,判断框内的填空等考查题型.难度层次属中偏低.第一节算法与程序框图知识回顾定规则解决某一类问题的明确和有限的布骤.1 .算法的概念:算法通常是指按2 .程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形3 .程序框图的二种基本逻辑结构是顺序结构、条件结构、循环结构.4 .算法的描述方式有:自然语言、程序框图、程庠语言.5 .算法的基本特征:明确性:算法的每一步执行什么是明确的;顺序性: 算法的 前一步 是 后一步”的前提, 后一步”是 前一步”的继续;有限性:算法必须在有限步内完成任务, 不能无限制的持续进行;通用性:算法应能解决某一类问题 .典例精析
3、例1.如图所示是一个算法的程序框图,则该程序框图所表示的功能是开始查/输出拿 /结束解析:首先要理解各程序框的含义,输入a,b,c三个数之后,接着判断a,b的大小,若b小,则把b 赋给a,否则执行下一步,即判断a与c的大小,若c小,则把c赋给a,否则执行下一步,这 样输出的a是a,b,c三个数中的最小值.所以该程序框图所表示的功能是求 a,b,c三个数中的最 小值.评注:求a,b,c三个数中的最小值的算法设计也可以用下面程序框图来表示.开始结束¥ 例2.下列程序框图表示的算法功能是()(1)计算小于100的奇数的连乘积(2)计算从1开始的连续奇数的连乘积(3)计算从1开始的连续奇数的
4、连乘积,当乘积大于100时,计算奇数的个数(4)计算1X3X5XX n2100成立时n的最小值解析:为了正确地理解程序框图表示的算法,可以将执行 过程分解,分析每一步执行的结果.可以看出程序框图中 含有当型的循环结构,故分析每一次循环的情况,列表如下:第一次:S=1 M3,i =5 ;第二次:S=1父3父5=7;第三次:S="3M5M7,i =9,此时S<100不成立,输出结果是7,程序框图表示的算法功能是求使1X3X5XXn之100成立时n的最小值.选D.评注:通过列表,我们能清楚了解程序的每一步中的各个变量是怎样变化的,这正是程序运行的本质所在.本题若要求编写求使1X3X5
5、XXn2 100成立时n的最小值的程序框图或程序时 很容易弄错输出的结果,应注意.例3.在音乐唱片超市里,每张唱片售价为 25元,顾客如果购买5张以上(含5张)唱片,则 按九折收费,如果购买10张以上(含10张)唱片,则按八折收费,请设计算法步骤并画出 程序框图,要求输入张数x,输出实际收费y(元).25x (x;5)分析:先写出y与X之间的函数关系式,有y = 22.5x(5 Ex <10),再利用条件结构画程序框图.20x (x ,10)解:算法步骤如下:第一步,输入购买的张数x,第二步,判断x是否小于5,若是,计算y=25x;否则,判断x是否小于10,若是,计算y = 22.5x;
6、否则,计算y = 20x.第三步,输出y.程序框图如下:评注:凡必须先根据条件做出判断,然后再决定进行哪一个步骤的问题,在画程序框图时,必须引入判断框,采用条件结构设计算法.如果变量分三级(或以上)时,就需要用到条件结构的嵌 套,不能忽视结果中 是“、否”的书写,否则不知道执行哪一条路径.一般地,分n段的分段函数, 需要引入n -1个判断框.条件结构有以下两种基本类型.例4.画出求1+4+|+工的值的程序框图.22 321002分析:这是一个有规律的数列求和问题,每次都进行了相同的运算,故应用循环结构进行算法设计.解:程序框图如下:(1)当型循环(2浒到型循环开始开始评注:(1)解题关键是选择
7、好计数变量i和累加变量S的初始值,并写出用i表示的数列的通项 公式是;循环结构主要用在一些有规律的重复计算的算法中 ,如累加求和,累乘求积等问题.在循环结 构中,要注意根据条件,设计合理的计数变量、累加(积)变量以及它们的初始值等,特别要注意循 环结构中条件的表述要恰当、精确,以免出现多一次或少一次循环 .(3)循环结构分为两类:一类是当型循环结构,如下左图所示;另一类是直到型循环结构, 如下右图所示.变式训练画出求1 +N +N +1"的值的程序框图47100解:程序框图如下:例5.某工厂2005年的生产总值为200万元,技术改进后预计以后后每年的年生产总值都比上 一年增长5%.设
8、计一个程序框图,输出预期年生产总值超过300万元的最早年份及2005年到 此年份之前(不包此年份)的年生产总值的和.分析:本例可用循环结构来实现.(1)确定“循环体”:设a为某年的年生产总值1为年份,S为 年产值的总和,则循环体为S = S + a, a = a 0.05a, n = n 1.(2)初始化变量:n的初始值为2005,a的初始值为200,S的初始值为0.(3)设定循环控制条件:a三300解:程序框图如下:评注:本问题的关健是设计好循环体,注意S = S + a与n之间的对应关系.本题若将S=S + a 放在n =n+1之后,则输出时须重新赋值n = n-1,否则n的值为超过300
9、万的年份的下一年. 本题也可用当型循环结构来表示.变式训练:设计一个程序框图,求使$=1父2父3黑|竹口15000的最小门的值,并输出此时$的 值.解:程序框图如下:基础自测 一、选择题 1.下列说法正确的是()A.算法就是某个问题的解题过程;B.算法执行后可以产生不同的结果;C.解决某一个具体问题算法不同结果不同;D.算法执行步骤的次数不可以很大,否则无法实施.1 .解析:选项A ,算法不能等同于解法;选项 B,例如:判断一个正整数是否为质数,结 果为 是质数”和 不是质数”两种;选项C,解决某一个具体问题算法不同结果应该相同,否 则算法构造的有问题;选项 D,算法可以为很多次,但不可以无限
10、次.选 B.2、如图所示的程序框图中,则第 3个输出的数是()A. 1 B. 3C.2 D. 5223.如图给出的是求1+1+1+工的值的一个程序框图, 2 4 620其中判断框内应填入的条件是()A.i>10?B.i<10? C.i>20? D.i<20?开始结束3 .解析:通过列表,我们能清楚了解程序的每一步中的各个变量1是怎样变化的,弟一次:i =1,S =-,n =4,211第二次:i =2,S =-+ -,n =6, 依此可知循环的条件是i>10?.选A 2 44 .(2007年高考山东卷)阅读右边的程序框图,若输入的n是100,则输出的变量S和T的值依
11、次是(A.B.C.D.2550255025002500)25002550250025504 .解析:依据框图可得S = 100 + 98 + 96 +. + 2 = 2550, T = 99 + 97 + 95 +1 = 2500.选 A.1600元的免征个人 前三级税率如下左5 . 2006年1月份开始实施的个人所得税法规定:全月总收入不超过 工资、薪金所得税,超过1600元部分需征税.设全月总收入金额为 x元, 表所小:级数全月应纳税金额x-1600税率1不超过500元部分5%2超过500至2000元部分10%3超过2000至5000元部分15%当工资薪金所得不超过3600元,计算个人所得
12、税的一个算法框图如图.则输出、输出分别为().A. 0.05x; 0.1xB. 0.05x; 0.1x185C.0.05x-80; 0.1x;D. 0.05x-80; 0.1x-1855 .解析:设全月总收入金额为x元,所得税额为y元,则y与x之间的函数关系为0 (0 < x < 1600)y =d(x16005% (1600 <x <2100) 选 D.25 - (x-2100)0% (2100 : x M 3600)二、填空题6 . (2008年高考山东卷)执行右边的程序框图,若p=0.8,则输出的n=Si* rn 工1. . .一11.6 .解析:第一次俯环后,S
13、=<0.8,止匕时n=2;第二次循环后,S=+<0.8,止匕时n = 3;22 4第三次循环后,S=1十工十1>0.8,止匕时n = 4,输出,故填4.2 4 87 . (2008年高考江苏卷)某地区为了解70-80岁的老人的日平均睡眠时间(单位: h),随机选择了50位老人进行调查,下表是这50位老人睡眠时间的频率分布表:序号 i分组(睡眠时间)组中值3 )频数(人数)频率(F) 1 i14,5)4.560.1225,6)5.5100.2036,7)6.5 1200.4047,8)7.5100.2058,98.5140.08在上述统计数据的分析中一部分计算见算法流程图,则输
14、出的S的值为 解析:由流程图S =GiFiG2F2G3F3G4F4G5F5= 4.5 0.12 5.5 0.20 6.5 0.40 7.5 0.2 8.5 0.08= 6.42故填6.42.开始8 .如果执行右面的程序框图,那么输出的 S =8.解析:S =2 4 6 I" 100 = 2550三、解答题9 .请阅读下面程序框图,说明此程序的功能§(第9题程序框图)解:程序功能是求s的值.s =1 2 22 . 26,并输出 s_ 2(x 2) (x :二0)10.已知函数y=4 (x=0),请画出程序框图,要求输入自变量_ 2Jx-2) (x>0)输出函数值y.10
15、.解:开始x的值,/输入3 /y = (x-2)2尸=4y=(x+2)3 /输出y / J11.画出一个计算1父5M10M15父1住100的程序框图.11解:程序框图如下当型遁坏直到型循环12、甲、乙两位同学为解决数列求和问题, 试图编写一程序.两人各自编写的程序框图分别如图1和如图2. (I)根据图1和图2,试判断甲、乙两位同学编写的程序框图输出的结果是否一致?当n =20时分别求它们输出的结果;(n)若希望通过对图2虚框中某一步(或几步)的修改来实现求首项为2,公比为3的等比数列的前n项和“,请你给出修改后虚框部分的流程图.广图212、解:(I)输出结果一致. 当n = 20时,图 1 的
16、结果为 2 + 4+6+38+40 = 2X (1 + 2+3+ +20) =420图 2 的结果为 2 + 4+6+38+40 = 2X (1 + 2+3+ - + 20) =420(n)修改后虚框部分的流程图为第二节 算法的基本语句及算法案例知识回顾1 .任何一种程序设计语言都包含五种基本的算法语句,它们是输入语句,输出语句, 赋值语句,条件语句,循环语句2 .输入语句的一般格式是INPUT ”提示内容"变量;输出语句的一般格式是PRINT ”提示内容”;表达式;赋值语句的一般格式是 变量=表达式;IF 条件 THENIF 条件 THEN 语句体1条件语句的一般格式是语句体 或E
17、LSE;END IF语句体2END IF循环语句的一般格式是循环体和,循环体 LOOP UNTIL 条件 WEND输入语句、 输出语句、 赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语句分别用来表 达程序框图中的条件结构和循环结构.3 .常用符号运算符号:加_+_,减-_,乘*,除/,乘方aAb,整数取商,求余数MOD.逻辑符号:且AND或OR大于,等于=,小于,大于等于三,小于等于士,不等于三.常用函数:绝对值 ABS平方根SQR取整INT.4 .算法案例(1)辗转相除法和更相减损术辗转相除法和更相减损术都是求两个正整数的最大公约数的方法.(1)辗转相除法就是对于给定的两个正整数,
18、用大数除以小数若余数不为 0,则将小数和余数构成新的一对数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较 小的数就是原来两个数的最大公约数.(2)更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以2(假设进行了 k次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一 对新数,继续上面的减法,反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的2k即为所求两数的最大公约数.(2)秦九韶算法秦九韶算法是求多项式值的优秀算法.设 f (x) =anxn +an°xn,+HI +ax +a0 ,改写为如下形式:f (x)
19、= (IH(anx 3n4)x 3n)x(H 3i)x - 3g.设 Vo =3n, V1 =Vox - an 4v2 ; v1x av3 二 v2x aIIIVn -nX ao 这样求n次多项式f(x)的值就转化为求n个一次多项式的值.当多项式中有些项不存在时, 可将这几项看做0Mxn,补齐后再利用秦九韶算法进行计算.对于一个n次多项式,只需做 次乘法和n_次加法运算即可.(3)进位制K进制数的基数为k, k进制数是由0- k-1之间的数字构成的.将十进制的数转化为k进制数的方法是除k取余法.把k进制数anan川aao(0 can <k,0 Ean,ll|ai,ao <k)化为十
20、进制数的方法为anam 1|权1%出=ankn ankn,W ak a。.典例精析 例1.写出用循环语句描述求S=1-1+=1i =2DOS =S (-1)A(i -1)/i = i 1LOOP UNTIL i 100PRINT "S 二"S END-工+川+1-'的值的算法程序.2 3 499 100解:算法程序如下:(1)当型循环(2)直到型循环i =2 WHILE i <=100 S=S+(-1)A(i -1)/i i =i +1 WENDPRINT "S 二"SEND评注:在编写算法的程序时,可先画出程序框图,抓住程序框图表示算法这
21、个核心用当型循环和直到型循环语句编写的程序中, 区别与联系.注意分别 循环条件的INPUT mIF m <= 50 THENy =13* mELSEIF m<= 100 THENy =50 + 15*( m 50)ELSEy =150+25 冲(m100)END IFEND IFEND例2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月内排出的污水量 m吨收取的污水处理费y元,运行程序如下所示:请写出y与m的函数关系,并求排放污水150吨的污水处理费用. 解:这个程序反映的是一个分段函数13m (m < 50)y = 50 15(m-50) (50 二 m H 1
22、00)150 25(m-100) (m 100)因为m =150 >100,所以y =150 +25(150-100) =1400 ,故该厂应缴纳污水处理费 1400元.评注:解决分段函数要用条件语句来处理.本题可画出程序框图帮助理解.例3.求三个数72,120,168的最大公约数.解法1:用辗转相除法先求120,168的最大公约数, 因为 168 =120 1 48,120 =48 2 24,48 = 24 2 所以120,168的最大公约数是24.再求72,24的最大公约数,因为72 =24父3,所以72,24的最大公约数为24,即72,120,168的最大公约数为 24.解法2:用
23、更相减损术先求120,168的最大公约数,168-120=48,120-48=72,72-48=24,48-24=24所以120,168的最大公约数为24.再求72,24的最大公约数,72-24=48, 48-24=24INPUT m,nS = m nDOr =mMOD n72,24的最大公约数为24,即72,120,168的最大公约数为24.评注:辗转相除法与更相减损术均是求两个正整数的最大公 约数的方法,要理解和掌握它们的操作步骤.变式:试写出求正整数m,n(mn)的最小公倍数的算法程序.n = rLOOP UNTIL r =0解:S =S/mPRINT SENDINPUT m, ni =
24、1DOa = m* ir =aMOD ni =i 1LOOP UNTIL r =0PRINT aEND例4.用秦九韶算法求多项式f (x) = x5 +2x4 +3x3 +4x2 +5x + 6在x = 2时的值.分析:先改写多项式,再由内向外计算.解:f (x) =x8125所以101(必=145(切8 11401评注:将k进制的数转化为k'进制的数的方法是先将k进制的数转化为十进制的数,再将这个 数转化为k进制的数. +2x4 +3x3 +4x2 +5x +6= (x 2)x 3)x 4)x 5)x 6Vo 1, V1 Vo x 2 4v2 =v1x 3=11V3 = V2 x 4
25、 = 26v4 = v3x 5 = 57v5 =v4x 6 =120评注:用秦九韶算法求多项式值,关健是正确将多项式改写,然后由内向外计算求得.本题也可简写为下式:1 2 3 4 5 622 8 22 52 1144 11 26 57 120例5.完成下列进制的转化(1)10202(3) =(10) (2)1O1(1o)=(8)解:(1)102023)=1 34 2 32 2 30 =101(10)用8反复去除101,直到商为0止,所得的余数(从末位读起)就是十进制数101的8进制表示8|101 余数变式训练:下面是把二进制数11111(2)化为十进制数的一个程序框图,判断框内应填入的条件()
26、A 3 B 7 C1 5 D 17A. i 5?B. i _4? C. i 4? D. i _5?解:11111=12412312 =i 1WENDPRINT s END1 2 1,故判断框内应填入的条件i - 4.选c.X基础自测一、选择题1.下列给出的赋值语句中正确的是(A 4=M B M 二M C B =A二31 .解析:赋值语句的功能.选B2 .当x =2时,下面的程序输出的结果是 (i =1INPUT xWHILE i :二=42 解析:0M2+1=1,1乂2+1=3,3父2+1 = 7,7黑2 + 1=15.选INPUT m,n DOr = m MOD n3 .运行下列程序:LOO
27、P UNTIL r =0PRINT mEND当输入56, 42时,输出的结果是A. 56B. 42C. 84D. 143 .解析:该程序的功能是用辗转相除法求正整数 m,n(m>n)的最大公约数,故选D4下边程序运行后输出的结果为()j =1WHILE j =5a =(a j) MOD 5j 二 j 1WENDPRINT aENDA 50 B 5 C 254 .解析:j =1,a =1; j =2,a =3; j =3,a =1; j =4,a = 0; j =5,a = 0.选 D二、填空题5 三个数3 2 4, 243例最大公约数是 5 解析:324 =243 父1+81,135=8
28、1 父1 +54,81 =541 +27,54 = 27 父 2 .填 276 .阅读下列程序:INPUT xIF x 100 AND x :二 1000THENa =x100b =(x-a 100)10c = x MOD 10x =100 c 10b aPRINT x当程序输入x值为123时,问运行的结果是 .6 .解析:算术运算符 和MO吩别用取商和余数.该程序的功能是把一个三位数各位上的数字 颠倒过来.所以运行的结果是321.7 . (2005年高考北京卷理14)已知n次多项式Pn(x)=a0xn+a1xnJL+M+anx + an,如果在一 种算法中,计算x0k (k=2, 3, 4,
29、n)的值需要k 1次乘法,计算P3(x。)的值共需要9 次运算(6次乘法,3次加法),那么计算P0(x。)的值共需要 次运算.下面给出一种减少运算次数的算法:P0(x)=a0,R书(x) = xPk(x)+ak书(k = 0, 1, 2,,n1).利用该算法,计算P3(x°)的值共需要6次运算,计算P0(x。)的值共需要 次运算.(n也,加法最多n次.秦九韶算法通过转化把乘法运算的次数乘法运算的次数最多可到达8 .解析:秦九韶算法适用一般的多项式 R(x) =a0xn+a1xn,+HI+anx+an的求值问题.直接法2减少到最多n次,加法最多n次.答案:65; 20.9 .下面程序运行后输出的结果为x = 5y - -20IF x < 0THENx = y -3ELSEy =y 3END IFPRINT x -y, y -xEND8.解析:22,-22三、解答题9.用秦九韶算法求多项式f (x)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心理健康课程小学版教案集
- 论坛活动策划方案与执行计划
- 水箱安装施工环境保护方案
- 绿色建筑设备安装方案
- 物业能源使用监控方案可行性报告
- 都市农业施工方案
- 具身智能+建筑施工高风险区域智能巡检机器人应用方案可行性报告
- 市政道路雨水管道施工方案范本
- 景观绿化施工养护方案
- 火电机组施工方案
- 污水处理厂污泥处理处置投标方案(技术方案)
- 中建幕墙吊装方案
- 广东省通用安装工程综合定额(2018)Excel版
- 思想道德与法治2023版教学设计第二章 追求远大理想 坚定崇高信念
- 《紧密联系的工具和技术》教学课件
- 21ZJ111 变形缝建筑构造
- (新版)中移动初级解决方案经理认证考试复习总题库-上(单选题-上部分)
- 第六章-simulink模块库介绍课件
- SAP各模块常用表清单
- 中国石油大学材料力学期末复习题
- 粉煤灰实验步骤及规范演示文稿
评论
0/150
提交评论