必修3 第一章算法初步.docx
《必修3 第一章算法初步.docx》由会员分享,可在线阅读,更多相关《必修3 第一章算法初步.docx(59页珍藏版)》请在冰点文库上搜索。
![必修3 第一章算法初步.docx](https://file1.bingdoc.com/fileroot1/2023-6/17/cee81364-65f4-421c-97a9-3ec2ae3bb9b0/cee81364-65f4-421c-97a9-3ec2ae3bb9b01.gif)
必修3第一章算法初步
1.1.1算法的概念
【自主预习】
阅读课本,完成下列问题
1.算法:
可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤.或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题.
2.算法的五大特征:
①逻辑性:
算法应具有正确性和顺序性.算法从初始步骤开始,分为若干明确的步骤,前一步是后一步的基础,只有执行完前一步才能进行下一步,并且每一步都有确切的含义,组成了具有很强的逻辑性的序列.
②概括性:
算法必须能解决一类问题,并且能重复使用.
③有限性:
一个算法必须保证执行有限步后结束
④非唯一性:
求解某个问题的算法不一定是唯一的,对于一个问题可以有不同的算法.
⑤普遍性:
许多的问题可以设计合理的算法去解决.如:
如用二分法求方程的近似零点,求几何体的体积等等.
3.算法的表述形式:
①用日常语言和数学语言或借助于形式语言(算法语言)各处精确的说明.
②程序框图(简称框图).
③程序语言.
【知识要点】
【例1】一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少只小兔多少只鸡?
【例2】写出二元一次方程组
的算法.
【例3】用数学语言写出对任意3个整数a,b,c求出最大值的算法.
【基础练习】
1.指出下列哪个不是算法( )
A.从广州到北京旅游,先坐火车,再坐飞机抵达
B.解一元二次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-1=0有两个实根
D.求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果是10
2.计算下列各式中的S值,能设计算法求解的是( )
①S=1+2+3+…+100;
②S=1+2+3+…+100+…;
③S=1+2+3+…+n(n≥1,且n∈N).
A.①② B.①③
C.②D.②③
3.早上从起床到出门需要洗脸、刷牙(5min),洗水壶(2min),烧水(8min),泡面(3min),吃饭(10min),听广播(8min)几个过程,下列选项中最好的一种算法是( )
A.第一步,洗脸刷牙;第二步,刷水壶;第三步,烧水;第四步,泡面;第五步,吃饭;第六步,听广播
B.第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面;第四步,吃饭;第五步,听广播
C.第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面;第四步,吃饭同时听广播
D.第一步,吃饭同时听广播;第二步,泡面;第三步,烧水同时洗脸刷牙;第四步,刷水壶
4.对于一般的二元一次方程组
,在写求此方程组解的算法时,需要我们注意的是( )
A.a1≠0B.a2≠0
C.a1b2-a2b1≠0D.a1b1-a2b2≠0
5.下面是对高斯消去法的理解:
①它是解方程的一种方法;
②它只能用来解二元一次方程组;
③它可以用来解多元一次方程组;
④用它来解方程组时,有些方程组的答案可能不准确.
其中正确的是( )
A.①②B.②④
C.①③D.②③
6.一个算法步骤如下:
S1 S取值0,i取值2;
S2 如果i≤10,则执行S3,否则执行S6;
S3 计算S+i并将结果代替S;
S4 用i+2的值代替;
S5 转去执行S2;
S6 输出S.
运行以上步骤输出的结果为( )
A.25B.30
C.35D.40
7.已知直角三角形两条直角边长分别为a、b,求斜边长c的算法如下:
S1 输入两直角边长a、b的值.
S2 计算c=
的值;
S3 ________.
将算法补充完整,横线处应填________.
8.一个算法步骤如下:
S1 S取值0,i取值1;
S2 如果i≤12,则执行S3,否则执行S6;
S3 计算S+i并将结果代替S;
S4 用i+3的值代替i;
S5 转去执行S2;
S6 输出S.
运行以上步骤输出的结果为S=________.
9.某年青歌赛流行唱法个人组决赛中,某歌手以99.19分夺得金奖.青歌赛在计算选手最后得分时,要去掉所有评委对该选手所打分数中的最高分和最低分,试设计一个找出最高分的算法.
【巩固提高】
1.在数学上,现代意义的算法通常指可以用计算机来解决一类问题的程序或步骤,这些步骤是( )
A.三步B.四步
C.有限步D.无限步
2.算法:
S1 输入n;
S2 判断n是否是2.若n=2,则n满足条件;若n>2,则执行S3;
S3 依次从2到n-1检验能不能整除n,若不能整除n,则满足条件.
上述满足条件的数是( )
A.质数B.奇数
C.偶数D.4的倍数
3.下列说法正确的是( )
A.算法是计算的方法
B.算法是计算机语言
C.算法是与计算机有关的问题的解决方法
D.算法通俗地讲是解决问题的程序与过程
4.现用若干张扑克牌进行扑克牌游戏.小明背对小亮,让小亮按下列四个步骤操作:
第一步:
分发左、中、右三堆牌,每堆牌不少于两张,且各堆牌的张数相同;
第二步:
从左边一堆拿出两张,放入中间一堆;
第三步:
从右边一堆拿出一张,放入中间一堆;
第四步:
左边一堆有几张牌,就从中间一堆拿出几张牌放入左边一堆.
这时,小明准确地说出了中间一堆牌现有的张数,你认为中间一堆牌的张数是( )
A.4B.5
C.6D.8
5.下面算法运行后输出结果为________.
S1 设i=1,P=1;
S2 如果i≤6则执行S3,否则执行S5;
S3 计算P×i,并将结果代替P的值;
S4 用i+1的值代替i的值,转去执行S2;
S5 输出P.
6.下面是解决一个问题的算法:
S1 输入x;
S2 若x≥4,转到S3;否则转到S4;
S3 输出2x-1;
S4 输出x2-2x+3.
当输入x的值为____________输出的数值最小值为____________.
7.设计一个算法,求表面积为16π的球的体积.
8.已知函数y=
,请设计一个算法,输入x的值,求对应的函数值.
9.写出求解方程组
的一个算法.
【课后思考】
有5个小球,其中4个的重量相同,仅有一个较重,打算用天平(不用砝码)找出那个重的小球.下面设计了一种用最少的测量次数测出那个重的小球的算法:
第一步,将5个小球分成A,B,C三组,每组分别有2,2,1个.
第二步,将A,B两组的小球分别放在天平的两侧,若____________________,则________________,然后执行第三步;若______________________,则C组的小球为那个重的小球.
第三步,将含那个重的小球的一组的两个小球分别放在天平的两侧,则较重的球为那个重的小球.
(1)将上述算法补充完整;
(2)若80个小球中含有1个较重的小球,请仿照上述算法设计一个算法,找出那个重的小球.
1.1.2程序框图
【自主预习】
阅读课本,完成下列问题
1.通常用一些通用图形符号构成一张图来表示算法,这种图称作程序框图(简称框图)
2.总结如下表:
图形符号
名称
功能
起、止框
框图的起始或结束
输入、输出框
数据的输入或者结果的输出
处理框
赋值、执行计算语句、结果的传达
判断框
根据给定条件判断
流程线
流程进行的方向
连接点
连接另一页或另一部分的框图
注释框
帮助理解框图
说明:
①起、止框是任何流程图不可缺少的,表明程序的开始或结束;
②输入和输出框可以用在算法中的任何需要输入、输出的位置;
③算法中处理数据需要的算式、公式等可以分别写在不同的处理框内,另外,对变量进行赋值时,也要用到处理框;
④当算法中需要对两个不同的结果进行判断时,需要用到判断框;
⑤一个算法步骤到另一个算法步骤需要用流程线连接.注意流程线的箭头不要忘记画上,它表示算法执行的先后顺序;
⑥如果一个框图需要分开来画,要在断开处画上连接点,并标出连接的号码.
3.画程序框图的规则:
(1)使用标准的框图符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点.判断框具有超过一个退出点的唯一符号.
(4)一种判断框是二择一形式的判断,有且有且仅有两个可能结果;另一种是多分支判断,可能有几种不同的结果.
(5)在图形符号内描述的语言要非常简练清楚.
【知识要点】
【例1】下列关于程序框图的说法正确的有( )
①程序框图只有一个入口,也只有一个出口;
②程序框图中的每一部分都应有一条从入口到出口的路径通过它;
③程序框图中的循环可以是无尽循环;
④连接点是用来连接两个程序框图的.
A.①②③B.②③
C.①D.①②
【例2】如图所示的框图的输出结果为( )
A.2,3,1
B.2,3,2
C.3,1,2
D.3,2,1
【基础练习】
1.在画程序框图时,如果一个框图需要分开来画,要在断开处画上( )
A.流程线 B.注释框 C.判断框 D.连接点
2.关于程序框图的图形符号的理解,不正确的有( )
①任何一个程序框图都必须有起止框;
②输入框只能在开始框之后,输出框只能放在结束框前;
③判断框是惟一具有超过一个退出点的图形符号;
④对于一个程序来说,判断框内的条件是惟一的.
A.1个 B.2个 C.3个 D.4个
3.在程序框图中,一个算法步骤到另一个算法步骤的连接用( )
A.连结点 B.判断框 C.流程线 D.处理框
4.一个完整的程序框图至少应包括( )
A.起止框和处理框 B.起止框和输入、输出框 C.处理框和判断框 D.起止框和判断框
5.画出下列图框:
(1)起止框
(2)输入输出框(3)处理框(4)判断框
【巩固提高】
1.下列框图是判断框的是( )
ABCD
2.下列是程序框图的一部分,表示恰当的是( )
ABCD
3.在程序框图中,算法中间要处理数据或计算,可分别写在不同的( )
A.处理框内B.判断框内
C.输入、输出框内D.终端框内
4.下列关于程序框图的说法,正确的有( )
①程序框图只有一个入口,也只有一个出口;
②程序框图中的每一部分都应有一条从入口到出口的路径通过它;
③程序框图中的循环可以是无限的循环.
A.①②③B.②③
C.①③D.①②
5.如图,该算法的功能是计算长方体的( )
A.体积
B.面对角线的长
C.体对角线的长
D.表面积
6.已知两点A(7,-4),B(-5,6),完成下面所给的求线段AB垂直平分线方程的算法.
S1求线段AB的中点C的坐标,得C点坐标为;
S2求线段AB的斜率,得kAB=;
S3求线段AB中垂线的斜率,得k=;
S4求线段AB的垂直平分线方程为.
7.已知小张的期末考语文成绩为102分,数学成绩为120分,英语成绩为116分,求他的总分和平均分的算法为:
第一步,输入A=102,B=120,C=116.
第二步,计算A+B+C.
第三步,计算
.
第四步,得出总分和平均分.
请用程序框图表示这个算法.
【课后思考】
已知直角三角形的两直角边长分别为a,b,设计一个求该三角形周长的算法,并画出相应的程序框图.
1.1.3算法的三种基本逻辑结构和框图表示
(一)
【自主预习】
阅读课本,完成下列问题
1.顺序结构:
顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.
2.条件分支结构:
一些简单的算法可以用顺序结构来表示,但是这种结构无法对描述对象进行逻辑判断,并根据判断结果进行不同的处理.因此,需要有另一种逻辑结构来处理这类问题,这种结构叫做条件结构.它是根据指定打件选择执行不同指令的控制结构.
【知识要点】
【例1】已知一个三角形三条边的边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.
(已知三角形三边边长分别为a,b,c,则三角形的面积为S=
),其中
这个公式被称为海伦—秦九韶公式)
【例2】请设计计算函数y=|x-1|的函数值的算法,并画出程序框图.
【基础练习】
1.任何一个算法都必须有的基本结构是()
A.顺序结构B.条件分支结构
C.顺序结构和条件分支结构D.以上都不是
2.下图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2的值.
A.9B.10C.11D.12
3.如图,写出程序框图描述的算法的运行结果( )
A.-5B.5C.-1D.-2
第2题图
第3题图
第4题图
第5题图
4.如图程序框图能判断任意输入的数x的奇偶性,其中判断框内的条件是( )
A.m=0B.x=0
C.x=1D.m=1
5.如图所示是某一问题的算法的程序框图.此框图反映的算法功能是.
6.如图算法的功能是.
7.如图算法的功能是(a>0,b>0).
8.观察程序框图,若a=5,则输出b=.
第6题图
第7题图
第8题图
9.如图是为解决某个问题而绘制的程序框图,根据该图和下列各小题的条件回答问题.
(1)该程序框图解决的问题是什么?
(2)框图中x=3的含义是什么?
(3)若输出的最终结果是y1=4,y2=-3,当x=10时,输出的结果是多少?
(4)在(3)的前提下,当输入的x值为多大时,输出ax+b=0?
【巩固提高】
1.某程序框图如图所示,现输入如下四个函数,则可以输出的函数是( )
A.f(x)=x2 B.f(x)=
C.f(x)=ex D.f(x)=sinx
2.如图,该程序框图的功能是.
第1题图
第2题图
第3题图
3.已知函数f(x)=|x-3|,程序框图表示的是给定x值,求其相应函数值的算法.请将该程序框图补充完整.其中①处应填,②处应填.
4.程序框图如图所示.
第4题图
第5题图
5.执行如图所示的程序框图,当x1=6,x2=9,p=8.5时,x3等于________.
6.画出判断两条直线l1:
y=k1x+b1,l2:
y=k2x+b2是否垂直的程序框图.
【课后思考】
1.1.3算法的三种基本逻辑结构和框图表示
(二)
【自主预习】
阅读课本,完成下列问题
1.在科学计算中,会遇到许多有的重复运算.如果一个计算过程,要重复一系列的计算步骤若干次,每次重复的计算步骤完全相同,则这种算法过程为.
2.根据指定条件决定是否重复执行一条或多条指令的控制结构为循环结构.
【知识要点】
【例1】设计一个算法,计算1×2×3×4×……×2017的值,并画出程序框图.
【例2】设计一个算法,计算1+2+3+4+……+n>2017的最小整数n,并画出程序框图.
【基础练习】
1.下列结构中组成算法的结构的个数有( )
①顺序结构;②条件分支结构;③循环结构;④输入结构;⑤输出结构.
A.2个 B.3个C.4个 D.5个
2.下列判断正确的是( )
A.条件结构中必有循环结构
B.循环结构中必有条件结构
C.顺序结构中必有条件结构
D.顺序结构中必有循环结构
3.下列说法正确的是( )
①用程序框图表示算法,其优点是算法的基本逻辑结构展现得非常直观清楚;
②我们所接触到的算法一般是由顺序结构、条件分支结构、循环结构这三种基本的逻辑结构构成的;
③循环结构中,循环体指的是算法中的反复执行的处理步骤;
④条件分支结构中一定包含循环结构.
A.①②③ B.②③④ C.①③④ D.①②④
4.下面的程序框图中,是循环结构的是( )
A.①② B.②③
C.③④D.②④
5.阅读如图所示的程序框图,运行相应的程序,输出的n的值为( )
A.1 B.2 C.3 D.4
6.读图,运行相应程序,则输出的i值为( )
A.3B.4C.5D.6
7.如图,该程序框图所表示的算法的功能是( )
A.比较a,b,c三个数的大小
B.求a,b,c三个数中的最大数
C.求a,b,c三个数中的最小数
D.求a,b,c三个数的和
8.此图是描述求一元二次方程ax2+bx+c=0的根的过程的程序框图,则虚线框内是________结构.
9.执行如图所示的程序框图,若输入n的值为4,则输出s的值为________.
10.当执行下边的程序框图,若p=0.8,则输出的k=________.
11.执行下图所示的程序框图,若输入x=4,则输出y的值为________.
【巩固提高】
1.如图所示的程序框图中:
是循环结构的有()
A.②③B.②④C.③④D.③⑤
2.已知函数
,求
的算法中,需要用到条件分支结构,其中判断框的形式是()
3.执行如图所示的程序框图,如果输入的N是6,那么输出的p是()
A.120B.720C.1440D.5040
第3题图
第4题图
第5题图
4.阅读下面的程序框图,则输出的S=()
A.26B.35C.40D.57
5.阅读图所示的程序框图,运行相应的程序,输出的i值等于()
A.2B.3C.4D.5
6.阅读下边的程序框图,若输出s的值为-7,则判断框内可填写( )
A.i<3 B.i<4 C.i<5 D.i<6
第6题图
第7题图
第8题图
7.如图给出的是计算
的值的一个程序框图,其中判断框内应填入的条件是( )
A.i>10 B.i<10 C.i>20 D.i<20
8.如果执行如图的程序框图,输入正整数N(N≥2)和实数a1,a2,…,aN,输出A,B,则( )
A.A+B为a1+a2+…+aN的和
B.
为a1,a2,…,aN的算术平均数
C.A和B分别是a1,a2,…,aN中最大的数和最小的数
D.A和B分别是a1,a2,…,aN中最小的数和最大的数
9.如果执行如图所示的程序框图后,输出的S=2550,那么判断框内应填( )
A.k<50B.k≤50
C.k≤49D.k<49
第9题图
第10题图
第11题图
10.执行下面的程序框图,若输入n=3,则输出T=.
11.如图所示是程序框图的算法功能,写出算法功能图中的表达式为N=.
12.如图所示,程序框图(算法流程图)的输出结果是.
13.某算法的程序框图如图所示,则输出量y与输入量x满足的关系式是.
第12题图
第13题图
第14题图
第15题图
14.若执行如图所示的框图,输入
,则输出的数等于.
15.如图所示,程序框图(算法流程图)的输出结果是.
16.下面是关于城市居民生活用水的收费问题.为了加强居民的节水意识,某城市制定了以下生活用水的收费标准:
每户每月用水未超过7m3时,每立方米收费1元,并加收0.2元的城市污水处理费;超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费.试写出用水量计算收费的算法,并画出程序框图.
17.如果我国GDP以每年8%的增长率增长,问我国CDP几年后翻一番,试用程序框图描述算法.
【课后思考】
阅读如图所示的程序框图,试说明它解决的是什么问题.
1.2.1赋值、输入和输出语句
【自主预习】
阅读课本,完成下列问题
1.赋值语句:
用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句.
格式是:
变量名=表达式
赋值语句的作用:
先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值.
说明:
①赋值号左边只能是变量名字,而不能是表达式.如:
2=x是错误的.
②赋值号左右不能对换.如“A=B”“B=A”的含义运行结果是不同的.
③不能利用赋值语句进行代数式的演算.(如化简、因式分解、解方程等)
④赋值号“=”与数学中的等号意义不同.
2.输入语句:
input语句就是输入语句.
说明:
①input语句不仅可以输入数值,也可以输入字符串.
②当输入的是字符串时,要在后面加上字符型常量后缀“string”.
③输入语句要求输入的值只能是具体的常量,不是函数也不是表达式.
④语句后面的“//”的作用是注释内容,对程序运行不起作用.
3.输出语句:
在Scilab中有各种输出语句,如print,write,format,printf,disp.
print输出语句的格式:
print(%io
(2),表达式)
说明:
①“io
(2)”表示在屏幕上输出.
②print语句是倒序输出结果.
③两层括号都是小括号,Scilab中无中括号和大括号.
④变量之间用逗号隔开.
4.在Scilab语言中常用的符号:
①数学中的“×”用“*”代替.
②x2写成x^2.
③
写成a/b.
④sqrt()为平方根函数.
⑤abs()为绝对值函数.
⑥“≥”要写成“>=”,“≤”要写成“<=”,“≠”要写成“<>”.
⑦“π”要写成“%pi”,“e”要写成“%e”.
【知识要点】
【例1】判断下列赋值语句是否正确:
(1)5=x;
(2)3-m=m;(3)y=4x-2=2(x-1);
(4)x=2y=9;(5)k=k+2;(6)i=i*i.
【例2】读下面程序,写出运行结果.
a=2;b=4;
b=a+1;
c=a+b;
print(%io
(2),a,b,c);
【例3】编写一个程序,要求输入两个正数a和b的值,输出ab和ba的值.
【基础练习】
1.下列给出的赋值语句中不正确的是( )
A.x=-xB.x=x-3
C.x=x^2+1D.4=x
2.在Scilab中,不属于输出语句所用的符号是( )
A.printB.disp
C.readD.printf
3.下列说法不正确的是( )
A.输入语句无计算功能
B.输出语句有计算功能
C.赋值语句左边是变量,不能是表达式
D.一个输入语句只能给一个变量赋值
4.下列给出的输入、输出语句正确的是( )
①inputa;b;
②inputx=3;
③printA=4;
④print(%io
(2),a,b,c)
A.①②B.②③C.③④D.④
5.要产生一个随机数,要用到的命令是()
A.printB.disp
C.rand