程序框图归纳总结
程序框图专题一、课标卷高考规律
框图
Ⅱ卷10选择题5
分
循环结构中
Ⅲ卷8选择题5
分
循环结构中
二、基础梳理
基本的程序框及其功能
程序框名称功能
终端框(起止框)表示一个算法的起始和结束,是任何流程图不可少的。
输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。
处理框(执行框)赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。
判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。
流程线
连接程序框2.三种基本逻辑顺序
名称
内容
顺序结构
条件结构
循环结构
定义
由若干个___________的步
骤组成,这是任何一个算法都离不开的___________
算法的流程根据___________有不同的流向,条件结构就是处理这种过程的结构
从某处开始,按照一定的条件___________某些步骤的结构,反复执行的步骤称为___________
程序框图
3.算法语句
(1)输入语句、输出语句、赋值语句的格式与功能 语句 一般格式 功能 输入语句 输入信息
输出语句 输出常量、变量的值和系统信息 赋值语句
将表达式所代表的值赋给变量
注:赋值语句(变量=表达式)
①赋予变量常数值.如:1=n 表示将1这个数赋予变量n ;
②赋予变量其他变量或表达式的值.如:b a =表示将b 的值赋予a ,a b =表示将a 的值赋予
b ;
③赋予变量含有变量自身的表达式的值.如:1+=n n 表示将1+n 的值赋予n ,即表示n 的值自身加1. (2)条件语句
①程序框图中的___________与条件语句相对应.
②条件语句的格式
a.IF—THEN格式b.IF—THEN—ELSE格式
(3)循环语句
①程序框图中的__________与循环语句相对应.
②循环语句的格式
a.UNTIL语句b.WHILE语句
4.算法案例
求最大公约数
(1)短除法
求两个正整数的最大公约数的步骤:先用两个数公有的质因数连续去除,一直除到所得的商是两个互质数为止,然后把所有的除数连乘起来
(2)穷举法(也叫枚举法)
穷举法求两个正整数的最大公约数的解题步骤:从两个数中较小数开始由大到小列举,直到找到公约数立即中断列举,得到的公约数便是最大公约数
(3)辗转相除法
辗转相除法求两个数的最大公约数,其算法可以描述如下:
①输入两个正整数m和n;
②求余数r:计算m除以n,将所得余数存放到变量r中;
③更新被除数和余数:m=n,n=r;
④判断余数r是否为0。若余数为0,则输出结果;否则转向第②步继续循环执行
如此循环,直到得到结果为止。
(4)更相减损术
我国早期也有解决求最大公约数问题的算法,就是更相减损术。在《九章算术》中记载了更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母?子之数,以少减多,更相减损,求其等也,以等数约之
步骤:
Ⅰ.任意给出两个正数;判断它们是否都是偶数。若是,用2约简;若不是,执行第二步.
Ⅱ.以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续这操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.
2.秦九韶算法
秦九韶算法的一般规则:
秦九韶算法适用一般的多项式f(x)=a n x n+a n-1x n-1+….+a1x+a0的求值问题。用秦九韶算法求一般多项式f(x)= a n x n+a n-1x n-1+….+a1x+a0当x=x0时的函数值,可把n次多项式的求值问题转化成求n个一次多项式的值的问题,即求
v0=a n
v1=a n x+a n-1
v2=v1x+a n-2
v3=v2x+a n-3
……..
v n=v n-1x+a0
观察秦九韶算法的数学模型,计算v k时要用到v k-1的值,若令v0=a n。
我们可以得到下面的递推公式:
v0=a n
v k =v k -1+a n -k (k=1,2,…n)
这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现
三、典例分析
考向一:程序框图
例1:(2013课标全国)执行下面的程序框图,如果输入的t ∈[-1,3],则输出的s 属于( ). A .[-3,4] B .[-5,2] C .[-4,3] D .[-2,5]
例2:(2017新课标全国Ⅱ卷)执行如图的程序框图,如果输入的1-=a ,则输出的S =
( ) A .2
B .3
C .4
D .5
例3:(2017新课标全国I 卷)如图是为了求出满足321000n n
->的最小偶数n ,那么
在 和 两个空白框中,可以分别填入
A .A >1000和n =n +1
B .A >1000和n =n +2
C .A ≤1000和n =n +1
D .A ≤1000和n =n +2
例4:(2012新课标全国)若执行右边和程序框图,输入正整数N (2N ≥)和实数1a ,
2a ,…,N a ,输出A ,B ,则( )
A .A
B +为1a ,2a ,…,N a 的和
B .
2
A B
+为1a ,2a ,…,N a 的算术平均数 C .
A 和
B 分别是1a ,2a ,…,N a 中最大的数和最小的数
D .
A 和
B 分别是1a ,2a ,…,N a 中最小的数和最大的数
考向二:算法语句
例5:(2015江苏卷)根据如图所示的伪代码,可知输出的结果S 为 例6:(2013陕西)根据下列算法语句, 当输入x 为60时, 输出y 的值为
(例5图) (例6图)
四、强化练习
1.(2016全国I )中国古代有计算多项式值得秦九韶算法,右图是实现该算法的程序框图.执
行该程序框图,若输入的a 为2,2,5,则输出的s =( )
2.(2017北京)执行如图所示的程序框图,输出的s 值为
(A )2 (B )23(C )35
(D )58
(2016四川)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数
书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n ,x 的值分别为3,2,则输出v 的值为( )
4.(2015全国Ⅱ)下面程序框图的算法思路来源于我国古代数学名著《九章算术》中的“更相减损术”,执行该程序框图,若输入的a ,b 分别为14,18,则输出的a 为( )
A. 0
B. 2
C. 4
D. 14
是
否 结束
输出a 开始 输入a ,b a =a - b b a ≠
b a >
b =b - a
是
否
5.(2013江西)阅读如下程序框图,如果输出i =4,那么空白的判断框中应填入的条件是( ). A .S <8 B .S <9 C .S <10 D .S <11
6.(2017江苏)右图是一个算法流程图,若输入x 的值为
16
1
,则输出的y 的值是 .
7.(2017全国Ⅲ卷)执行下面的程序框图,为使输出
S 的值小于91,则输入的正整数N 的最小值为( ) A .5 B .4 C .3
D .2