必修3第一章《算法初步》复习课知识结构算法程序框图算法语句辗转相除法与更相减损术秦九韶算法进位制知识梳理1.算法的概念在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.用程序框、流程线及文字说明来表示算法的图形称为程序框图.2.程序框图的概念3.程序框、流程线的名称与功能图形符号名称功能终端框(起止框)输入、输出框处理框(执行框)判断框流程线表示一个算法的起始和结束表示一个算法输入和输出的信息赋值、计算判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”连接程序框,表示算法步骤的执行顺序4.算法的顺序结构(1)概念:由若干个依次执行的步骤组成的逻辑结构,称为顺序结构.(2)程序框图:步骤n步骤n+15.算法的条件结构(1)概念:由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构.(2)程序框图:满足条件?步骤A步骤B是否满足条件?步骤A是否6.算法的循环结构(1)概念:由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为循环结构.(2)程序框图:循环体满足条件?是否循环体满足条件?是否7.算法的输入语句INPUT“提示内容”;变量8.算法的输出语句PRINT“提示内容”;表达式9.算法的赋值语句变量=表达式10.算法的条件语句IF条件THEN语句体ENDIFIF条件THEN语句体1ELSE语句体2ENDIF满足条件?步骤1步骤1是否满足条件?步骤A是否11.算法的循环语句DO循环体LOOPUNTIL条件满足条件?是循环体否WHILE条件循环体WEND循环体满足条件?是否12.辗转相除法第一步,给定两个正整数m,n(mn).第二步,计算m除以n所得的余数r.第三步,m=n,n=r.第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.求两个正整数的最大公约数13.更相减损术第一步,给定两个正整数m,n(mn).第二步,计算m-n所得的差k.第三步,比较n与k的大小,其中大者用m表示,小者用n表示.第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.求两个正整数的最大公约数14.秦九韶算法第一步,输入多项式的次数n,最高次项的系数an和x的值.第二步,令v=an,i=n-1.第三步,输入i次项的系数ai.第四步,v=vx+ai,i=i-1.第五步,判断i≥0是否成立.若是,则返回第二步;否则,输出多项式的值v.求多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值15.十进制化k进制的算法第四步,若q≠0,则a=q,返回第二步;否则,输出全部余数r排列得到的k进制数.第一步,输入十进制数a和基数k的值.第二步,求出a除以k所得的商q,余数r.第三步,把所得的余数依次从右到左排列.除k取余法1.程序框图中,有两个出口的程序框是()A.起止框B.处理框C.判断框D.输入、输出框根据框图的功能,可知有两个出口的程序框是判断框,选C.C巩固练习2.如果执行下面的程序框图,那么输出的S=()A.7B.9C.11D.13CS=1,i=1;S=3,i=2;S=5,i=3;S=7,i=4;S=9,i=5;S=11,i=6.S=1,i=1S=S+2i=i+13.将程序框图转换成直到型程序.S=1i=1DOi=i+1LOOPUNTILi5PRINTSENDS=S+2解程序S=1,i=1S=S+2i=i+14.将程序框图转换成当型程序.s=1i=1WHILEi=5i=i+1WENDPRINTSENDS=S+2解程序S=1,i=1S=S+2i=i+15.下面的程序框图,若输出y的值是9,则输入的实数x的值为()A.3B.-3C.-2D.2Bx2(x1)()x(1≤x10)log3x(x≥10)x1x2=9解得x=-3,选B.由程序框图可知,y=,13由或1≤x10()x=913或x≥10log3x=9,6.将程序框图转换成程序.INPUT“x=”;xIFx1THENy=x^2ELSEIFx10THENy=ln(x)/ln(3)PRINT“y=”;yENDELSEy=(1/3)^xENDIFENDIF6.将程序框图转换成程序.INPUT“x=”;xIFx1THENy=x^2ENDIFIFx=1ANDx10THENy=ln(x)/ln(3)PRINT“y=”;yENDENDIFy=(1/3)^xIFx=10THENENDIF7.阅读下列程序:若输入的两个数m=428,n=284,求计算机输出的数.INPUTm,nDOr=mMODnm=nn=rLOOPUNTILr=0PRINTmEND解428÷284=1…144284÷144=1…140144÷140=1…4140÷4=3548.若f(x)=3x5-2x2-x+1,当x=-2时,求v0,v1,v2,v3,v4,v5的值.303-1120-21-2-6-612-24-265251-102-101解v0,v1,v2,v3,v4,v59.把八进制数2376(8)化为五进制数.解2376(8)=1278=20103(5)