重点列表:
重点
名称
重要指数
重点1
算法的概念
★★★
重点2
顺序结构
★★★★
重点3
分支结构
★★★★
重点详解:
1.算法的概念及特点
(1)算法的概念
在数学中,算法通常是指按照一定______解决某一类问题的________和________的步骤.
(2)算法的特点之一是具有______性,即算法中的每一步都应该是确定的,并能有效的执行,且得到确定的结果,而不应是模棱两可的;其二是具有______性,即算法步骤明确,前一步是后一步的前提,只有执行完前一步才能进行后一步,并且每一步都准确无误才能解决问题;其三是具有______性,即一个算法应该在有限步操作后停止,而不能是无限的;另外,算法还具有不唯一性和普遍性,即对某一个问题的解决不一定是唯一的,可以有不同的解法,一个好的算法应解决的是一类问题而不是一两个问题.
2.程序框图
(1)程序框图的概念
程序框图又称流程图,是一种用 、
及 来表示算法的图形.
(2)构成程序框图的图形符号、名称及其功能
图形符号
名 称
功 能
①
表示一个算法的起始和结束
②
表示一个算法输入和输出的信息
③
赋值、计算
④
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
⑤
连接程序框
○
⑥
连接程序框图的两部分
3. 算法的基本逻辑结构
(1)顺序结构
顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按__________的顺序进行的.它是由若干个__________的步骤组成的,它是任何一个算法都离不开的基本结构.顺序结构可用程序框图表示为如图所示的形式:
(2)条件结构
在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.常见的条件结构可以用程序框图表示为如图所示的两种形式:
程序语句
1.输入(INPUT)语句
输入语句的一般格式: .
要求:
(1)输入语句要求输入的值是具体的常量;
(2)提示内容提示用户输入的是什么信息,必须加双引号,“提示内容”原原本本地在计算机屏幕上显示,提示内容与变量之间要用分号隔开;
(3)一个输入语句可以给多个变量赋值,中间用“,”分隔.
2.输出(PRINT)语句
输出语句的一般格式: .
功能:实现算法输出信息(表达式).
要求:
(1)表达式是指算法和程序要求输出的信息;
(2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开;
(3)如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔.
3.赋值语句
赋值语句的一般格式: .
赋值语句中的“=”叫做赋值号,它和数学中的等号不完全一样.
作用:赋值语句的作用是将表达式所代表的值赋给变量.
要求:
(1)赋值语句左边只能是变量,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:2=x是错误的;
(2)赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”、“B=A”的含义和运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B是对的;
(3)不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等).
4.条件语句
(1)“IF—THEN”语句
格式:
____________________.
说明:当计算机执行“IF—THEN”语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.
(2)“IF—THEN—ELSE”语句
格式:
____________________.
说明:当计算机执行“IF—THEN—ELSE”语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.
【答案】
1.(1)规则 明确 有限 (2)确定 有序 有穷
2.(1)程序框 流程线 文字说明
(2)①终端框(起止框) ②输入、输出框
③处理框(执行框) ④判断框 ⑤流程线
⑥连接点
3.(1)从上到下 依次执行
程序语句
1.INPUT “提示内容”;变量
2.PRINT “提示内容”;表达式
3.变量=表达式
4.(1)
(2)
重点1:算法的概念
【要点解读】
算法是指按照一定规则解决某一类问题的明确和有限的步骤.
【考向1】算法的概念
【例题】下列语句是算法的个数为( )
①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎;
②统筹法中“烧水泡茶”的故事;
③测量某棵树的高度,判断其是否为大树;
④已知三角形的两边及夹角,利用三角形的面积公式求出该三角形的面积.
A.1 B.2 C.3 D.4
【评析】算法过程要做到一步一步地执行,每一步执行的操作必须确切,不能含糊不清,且在有限步后必须得到问题的结果.
【考向2】经典算法
【例题】“韩信点兵”问题.韩信是汉高祖刘邦手下的大将,为了保守军事机密,他在点兵时采用下述方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就知道了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.
解:在本题中,士兵从1~3报数,最后一个士兵报2,说明士兵的总人数是除以3余2,其他两种情况依此类推.
(算法一)步骤如下:
第一步:先确定最小的满足除以7余4的数是4;
第二步:依次加7就得到所有满足除以7余4的数:4,11,18,25,32,39,46,53,60,…;
第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:18;
第四步:依次加上35,得18,53,88,…;
第五步:在第四步得到的一列数中,找到最小的满足除以3余2的正整数:53,这就是我们要求的数.
(算法二)步骤如下:
第一步:先确定最小的满足除以3余2的数是2;
第二步:依次加3就得到所有满足除以3余2的数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…;
第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:8;
第四步:然后依次加15就得8,23,38,53,…,不难看出,这些数既满足除以3余2,又满足除以5余3;
第五步:在第四步所得的一列数中找到满足除以7余4的最小数是53,这就是我们要求的数.
【评析】给出一个问题,设计算法时要注意:(1)认真分析问题,研究解决此问题的一般方法;(2)将解决问题的过程分解成若干步骤;(3)用简练的语言将各步骤表示出来;(4)把解题过程条理清楚地表达出来,就得到一个明确的算法.对于同一问题,可以设计不同的算法,其最终的结果是一样的,但解决问题的繁简程度不同,我们要寻找最优算法.
重点2:顺序结构
【要点解读】
(1)程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
(2)程序框图通常由程序框和流程线组成.
(3)基本的程序框有终端框(起止框)、输入、输出框、处理框(执行框)、判断框.
输入语句、输出语句、赋值语句的格式与功能
语句
一般格式
功能
输入语句
INPUT“提示内容”;变量
输入信息
输出语句
PRINT“提示内容”;表达式
输出常量、变量的值和系统信息
赋值语句
变量=表达式
将表达式的值赋给变量
【考向1】顺序结构程序框图
【例题】已知点P(x0,y0)和直线l:Ax+By+C=0,求点P(x0,y0)到直线l的距离d,写出其算法并画出流程图.
解:算法如下:
第一步:输入x0,y0及直线方程的系数A,B,C.
第二步:计算z1=Ax0+By0+C.
第三步:计算z2=A2+B2.
第四步:计算d=.
第五步:输出d.
流程图如图所示:
【评析】顺序结构是一种最简单、最基本的结构,可严格按照传统的解题思路写出算法步骤,画出程序框图.注意语句与语句之间,框与框之间是按从上到下的顺序进行的.
【考向2】顺序结构语句
【例题】请写出下面运算输出的结果.
(1)a=5
b=3
c=(a+b)/2
d=c*c
PRINT “d=”;d
(2)a=1
b=2
c=a+b
b=a+c-b
PRINT “a=,b=,c=”;a,b,c
(3)a=10
b=20
c=30
a=b
b=c
c=a
PRINT “a=,b=,c=”;a,b,c
解:(1)语句“c=(a+b)/2”是将a,b之和的一半赋值给变量c,语句“d=c*c”是将c的平方赋值给d,最后输出d的值.故输出结果为d=16.
(2)语句“c=a+b”是将a,b之和赋值给c,语句“b=a+c-b”是将a+c-b的值赋值给了b.故输出结果为a=1,b=2,c=3.
(3)经过语句“a=b”后a,b,c的值是20,20,30,经过语句“b=c”后a,b,c的值是20,30,30,经过语句“c=a”后a,b,c的值是20,30,20.故输出结果为a=20,b=30,c=20.
【评析】①将一个变量的值赋给另一个变量,前一个变量的值保持不变;②可先后给一个变量赋多个不同的值,但变量的取值总是最后被赋予的值.
重点3:分支结构
【要点解读】
条件语句
(1)算法中的条件结构与条件语句相对应.
(2)条件语句的格式及框图
①IF-THEN格式
②IF-THEN-ELSE格式
【考向1】分支机构程序框图
【例题】某铁路客运部门规定甲、乙两地之间旅客托运行李的费用c(单位:元)与行李的重量w(单位:kg)之间的关系为c=
写出计算费用c的算法并画出程序框图.
解:算法如下:
第一步:输入行李的重量w;
第二步:如果w≤50,那么c=0.53w,
否则c=50×0.53+(w-50)×0.85;
第三步:输出托运费c.
程序框图如图所示:
【评析】条件结构的运用与数学的分类讨论有关.设计算法时,哪一步要分类讨论,哪一步就需要用条件结构.
【考向2】条件语句
【例题】设计算法,求关于x的方程ax+b=0的解.
解:程序框图如图所示.
根据框图可写出程序语言:
INPUT a,b
IF a〈〉0 THEN
PRINT “x=”;-b/a
ElSE
IF b=0 THEN
PRINT “解集为R”
ELSE
PRINT “此方程无解”
END IF
END IF
END
【评析】对于三段或三段以上的分段函数求函数值的问题,通常需用条件语句的嵌套结构.本例是条件语句内套条件语句,即用了两个条件语句,必须有两个END IF,请读者指出前后END IF分别结束的条件语句.
难点列表:
难点
名称
难度指数
难点1
循环结构
★★★★
难点2
算法案例
★★★★★
难点详解:
循环结构
在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是 .反复执行的步骤称为 .
循环结构有如下两种形式:
①如图1,这个循环结构有如下特征:在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.因此,这种循环结构称为____________.
②如图2表示的也是常见的循环结构,它有如下特征:在每次执行循环体前,对条件进行判断,当条件满足时,执行循环体,否则终止循环.因此,这种循环结构称为____________.
循环语句
(1)当型循环语句
当型(WHILE型)语句的一般格式为:
________________.
(2)直到型循环语句
直到型(UNTIL型)语句的一般格式为:
______________.
【答案】循环结构 循环体 ①直到型循环结构
②当型循环结构
(1) (2)
难点1:循环结构
【要点解读】
循环语句
(1)算法中的循环结构与循环语句相对应.
(2)循环语句的格式及框图.
①UNTIL语句
②WHILE语句
【考向1】循环结构程序框图
【例题】设计一个算法求1++…++的值,并画出程序框图.
解:当型循环:
算法如下:
第一步:令i=1,S=0;
第二步:若i≤10成立,则执行第三步,否则,输出S;
第三步:计算S=S+,i=i+1,返回第二步.
程序框图如图所示:
直到型:
算法如下:
第一步:令i=1,S=0;
第二步:计算S=S+,i=i+1;
第三步:若i>10,则输出S,否则,返回第二步.
程序框图如图所示:
【评析】如果算法问题里涉及的运算进行了许多次重复的操作,且先后参与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变量),应用循环结构.在循环结构中,要注意根据条件设计合理的计数变量、累加和累乘变量及其个数等,特别要使条件的表述恰当、准确.
【考向2】循环语句
【例题】读下面的程序:
INPUT n
i=1
S=1
WHILE i<=n
S=S*i
i=i+1
WEND
PRINT S
END
上面的程序在执行时输入6,那么输出的结果为( )
A.6 B.720 C.120 D.1
【评析】计算机执行此程序时,遇到WHILE语句,先判断条件是否成立,如果成立,则执行WHILE和WEND之间的循环体,然后返回到WHILE语句再判断上述条件是否成立,直至返回到WHILE语句判断上述条件不成立为止,这时不再执行循环体,而执行WEND后面的语句,这是当型循环.
难点2:算法案例
【要点解读】
算法案例
(1)辗转相除法
辗转相除法是用于求两个正整数的最大公约数的一种方法,这种算法是由欧几里得在公元前330年左右首先提出的,因此又叫欧几里得算法.
(2)更相减损术的定义
任给两个正整数(若是偶数,先用2约数),以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数,直到所得的数相等为止,则这个数(等数)(或这个数与约简的数的乘积)就是所求的最大公约数.
(3)秦九韶算法
秦九韶算法是我国南宋数学家秦九韶在他的代表作《数书九章》中提出的一种用于计算一元n次多项式的值的方法.
【考向1】辗转相除法与更相减损术
【例题】用更相减损术求120与75的最大公约数时,反复相减,直至求出结果,进行减法运算的次数为( )
A.4 B.5
C.6 D.3
解析:∵120-75=45,75-45=30,45-30=15,30-15=15,
∴120与75的最大公约数是15,共进行4次减法运算.
答案:A
【考向2】秦九昭算法
【例题】用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x+8的值,当x=3时,v3的值为( )
A.27 B.86
C.262 D.789
答案:B
【趁热打铁】
1.用辗转相除法求108和45的最大公约数为( )
A.2 B.9
C.18 D.27
2.已知程序如下:
当输入x的值为5时,输出的结果为( )
A.15 B.76
C.84 D.34
3.某程序框图如图所示,该程序运行后输出S的结果是( )
A. B.
C. D.
4.下列程序运行后的输出结果是( )
A.17 B.19
C.21 D.23
5.计算机中常用16进制,采用数字0~9和字母A~F共16个计数符号,与10进制的对应关系如下表:
16进制
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10进制
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
那么,16进制中的16C化为十进制数应为( )
A.1 612 B.364
C.5 660 D.360
6.如下框图,当x1=6,x2=9,p=8.5时,x3等于( )
A.7 B.8
C.10 D.11
7.如图框图
(1)若输入4,则输出的是________;
(2)若输出32,则输入的是________.
8.阅读如图所示的程序框图,运行相应的程序,输出的结果S=________.
9.根据如图所示的框图,说明该流程图解决什么问题,写出相应的算法,并回答下列问题:
(1)若输入x的值为5,则输出的结果是什么?
(2)若输出的值为8,则输入的x的值是什么?
(3)要使输出的值最小,输入的x的值应是多少?
10.如图是为求310的值而设计的程序框图,请回答下列问题.
(1)将空白处补上,指明它是循环结构中的哪一种类型;
(2)画出它的另一种循环结构框图.
第一章
1解析:∵108=2×45+18,45=2×18+9,18=9×2,
∴108和45的最大公约数为9.
答案:B
2解析:该程序表示的是输入x输出函数
y=的值.
答案:A
答案:C
5解析:16C(16)=1×162+6×16+12×160=256+96+12=364.
答案:B
6解析:当x3=7时,|6-9|<|9-7|,即3<2,此时p==8,输出p=8,A不正确;当x3=8时,|6-9|<|9-8|,即3<1,此时p==8.5,输出p=8.5,B正确.同理可验证C、D不正确.
答案:B
7解析:(1)若输入4,
∵4>1,
∴y=-2×4+32=24.
(2)若输出32,当x2+4x=32时,x1=4,x2=-8;
当32=-2x+32时x=0,
∵4>1,-8<1,当x=0时,y=02+4×0=0≠32,
∴x=-8.
答案:(1)24 (2)-8
8解析:第一次循环S=1,a=3,n=2,
第二次循环S=4,a=5,n=3,
第三次循环S=9,a=7,跳出循环.
故输出的值为9.
答案:9
10解:(1)空白部分应填:i≤10?,它为当型循环结构;
(2)直到型循环结构的程序框图如下图所示: