- 算法初步
- 共2983题
算法流程图如图所示,其输出结果是_______.
正确答案
127
解:a的取值依次构成一个数列,且满足a1=1,an+1=2an+1,则求第一个大于100的an值,写出这个数列1,3,7,15,31,63,127,…,故有结果为127.
将程序补充完整
INPUT x
m=xMOD2
IF THEN
PRINT“x是偶数”
ELSE
PRINT“x是奇数”
END IF
END
正确答案
m =0
判断一个数是否是偶数,只需看该数能否被2整除,即看该数除以2的余数是否为0,故该程序的判断条件是m=0
给出下面的程序框图,那么其循环体执行的次数是
正确答案
从
运行到
步长为
,运行次数为499
执行如图所示的程序框图,若输入的值为
,则输出
的值为______.
正确答案
第一次循环后:;第二次循环后:
;
第三次循环后:;第四次循环后:
,此时
故输出
.
【考点定位】程序框图
若执行如图3所示的框图,输入,则输出的数等于 。
正确答案
此题考查算法的流程图、解决此类问题的关键要看清楚此算法的作用,搞清楚循环体和循环结束的条件;第一次执行后:;第二次执行后:
;第三次执行后:
,此时循环结束,最后输出
;
给出如图所示的程序框图,那么输出的数是_______
正确答案
7500
由题知,s=3×1+3×3+3×5+…+3×99=7500
执行右图所示的程序框图,若输入,则输出y的值为▲ .
正确答案
略
喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.
正确答案
解:算法一:
第一步,洗刷水壶.
第二步,烧水.
第三步,洗刷茶具.
第四步,沏茶.
算法二:
第一步,洗刷水壶.
第二步,烧水,烧水的过程当中洗刷茶具.
第三步,沏茶.
分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.
某程序图如图所示,该程序运行后输出的结果是 .
正确答案
5
解:s="2,k=2;" s="4,k=3;" s="16,k=4;" s=216>2012,k=5;此时循环结束,输出结果。
写出用“二分法”求方程x2-2="0" (x>0)的近似解的算法.
正确答案
解:第一步,令f(x)=x2-2,给定精确度d.
第二步,确定区间[a,b],满足f(a)·f(b)<0.
第三步,取区间中点m=.
第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].
第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
当d=0.005时,按照以上算法,可以得到下表.
于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为0.005时的原方程的近似解.实际上,上述步骤也是求的近似值的一个算法.
分析:令f(x)=x2-2,则方程x2-2="0" (x>0)的解就是函数f(x)的零点.
“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b](满足f(a)·f(b)<0)“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.
写出计算12+32+52+…+9992的程序,并画出程序框图.
正确答案
解法一:
S=0;
i=1;
while i<=999
S=S+i^2;
i=i+2;
end
S
解法二:
S=0;
for i=1:2:999
S=S+i^2;
end
S
程序框图如图所示:
观察分析所加的数值,指数相同,底数相邻两数相差2,设计数器i初始值为1,用i=i+2实现底数部分.本例可用while循环,又循环次数确定,亦可用for循环实现.
如图所示,程序框图(算法流程图)的输出结果为_________.
正确答案
试题分析:第一次循环:; 第二次循环:
;;第三次循环:
,
;跳出循环,输出
.
设计算法,求ax+b=0的解,并画出流程图.
正确答案
程序框图如下:
对于方程ax+b=0来讲,应该分情况讨论方程的解.
我们要对一次项系数a和常数项b的取值情况进行分类,分类如下:
(1)当a≠0时,方程有唯一的实数解是;
(2)当a=0,b=0时,全体实数都是方程的解;
(3)当a=0,b≠0时,方程无解.
联想数学中的分类讨论的处理方式,可得如下算法步骤:
第一步,判断a≠0是否成立.若成立,输出结果“解为”.
第二步,判断a=0,b=0是否同时成立.若成立,输出结果“解集为R”.
第三步,判断a=0,b≠0是否同时成立.若成立,输出结果“方程无解”,结束算法.
已知A(x1,y1),B(x2,y2),写出求直线AB的斜率的一个算法.
正确答案
解:S1 输入x1,x2,y1,y2的值.
S2 计算Δx=x2-x1,Δy=y2-y1.
S3 若Δx=0,则输出斜率不存在;否则,k=.
S4 输出斜率k.
当Δx=0时直线的斜率不存在;当Δx≠0时,利用直线的斜率公式k=求得.
( 本小题满分14)
某次考试,满分100分,按规定者为良好,
者为及格,小于60者不及格,画出当输入一个同学的成绩
时,输出这个同学属于良好、及格还是不及格的程序框图.
正确答案
程序框图:
本题应采用分支循环结构。要注意判断框中条件成立时应执行的条件。
根据题意,设计的框图应为条件结构,按照题意画出程序框图如下.
解:
第一步:输入一个成绩X(0≤X≤100)
第二步:判断X是否大于等于80,若是,则输出良好;
否则,判断X是否大于等于60,若是,则输出及格;否则,
输出不及格;
第三步:算法结束
扫码查看完整答案与解析