1. 算法与程序框图习题
一、选择题
1、根据算法的程序框图,当输入n=6时,输出的结果是( )
A.35 B.84
C.49 D.25
2、如图,汉诺塔问题是指有3根杆子A,B,C,杆子上有若干碟子,把所有的碟子从B杆移到A杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面,把B杆上的3个碟子全部移动到A杆上,最少需要移动的次数是( )
A.12 B.9 C.6 D.7
3、一程序框图如图1-1-25所示,它能判断任意输入的数x的奇偶性,其中判断框中的条件是( )
A.m=0 B.x=0 C.x=1 D.m=1
图1-1-25
4、阅读下面的程序框图并判断运行结果为…( )
A.55 B.-55
C.5 D.-5
5、给出下面的算法:该算法表示( )
S1 m=a;
S2 若b<m,则m=b;
S3 若c<m,则m=c;
S4 若d<m,则m=d;
S5 输出m.
A.a,b,c,d中最大值 B.a,b,c,d中最小值
C.将a,b,c,d由小到大排序 D.将a,b,c,d由大到小排序
6、下列关于算法的说法中,正确的是 ( )
A.求解某一类问题的算法是唯一的
B.算法必须在有限步操作之后停止
C.算法的每一步操作必须是明确的,不能有歧义或模糊
D.算法执行后一定产生确定的结果
7、算法共有三种逻辑结构,即顺序结构、条件分支结构和循环结构,下列说法正确的是( )
A.一个算法只能含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.一个算法可以含有上述三种逻辑结构的任意组合
8、下面的程序框图中是循环结构的是( )
A.①② B.②③ C.③④ D.②④
9、阅读下边的程序框图,若输入的n是100,则输出的变量S和T的值依次是( )
A.2 500,2 500 B.2 550,2 550
C.2 500,2 550 D.2 550,2 500
10、程序框是程序框图的一个组成部分,下面的对应正确的是 ( )
①终端框(起止框),表示一个算法的起始和结束 ②输入、输出框,表示一个算法输入和输出的信息 ③处理框(执行框),功能是赋值、计算 ④判断框,判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”
A.(1)与①,(2)与②,(3)与③,(4)与④
B.(1)与④,(2)与②,(3)与①,(4)与③
C.(1)与①,(2)与③,(3)与②,(4)与④
D.(1)与①,(2)与③,(3)与④,(4)与②
二、填空题
1、已知函数f(x)=|x-3|程序框图1-1-26表示的是给定x值,求其相应函数值的算法.请将该程序框图补充完整.其中①处应填_______________,②处应填_______________.
图1-1-26
2、写出下列程序框图表示的算法功能.
(1)如1-1-14图(1)的算法功能是(a>0,b>b)____________________.
(2)如1-1-14图(2)的算法功能是_____________________.
图(1) 图(2)
图1-1-14
3、已知函数f(x)=|x-3|,下面的程序框图表示的是给定x值,求其相应函数值的算法.请将该程序框图补充完整.其中①处应填___________________________________________________.
②处应填_______________________________________________________________________.
4、指出程序框图1-1-24运行结果.
图1-1-24
若输入-4,则输出结果为_______________.
三、解答题
1、写出求方程ax2+bx+c=0的根的算法,画出相应的程序框图,并要求输出它的实根.
2、写出一个求解任意二次函数y=ax2+bx+c(a≠0)的最值的算法.
3、一把石子,3个3个地数,最后余下2个;5个5个地数,最后余下3个;7个7个地数,最后余下4个.请设计一个算法,求出这把石子至少有多少个.
2. 程序框图(算法流程图)如图所示,其输出结果三=______
分析程序中各变量、各语句的作用,
再根据流程图所示的顺序,可知:
该程序的作用是利用循环计算并输出2k-1的值.
由于退出循环时,k=6,
此时26-1=63,
故答案为:63.
3. 算法流程图
选B 首先排除C D 因为是输出a是一个数 所以不可能是排列
再看A和B 该怎么选
第一个判断框先比较a和b
当a>b 则将b赋值给a 所以得到的是较小的 再比较a和c
若a>c 再将c赋值给a
若a<c 输出a还是较小的 所以输出的a是3个数中最小的
主要是先明白a←b是意思是把b的值赋于a 现在的教材中都写成a=b
谢谢
4. 算法设计题 要求:输出三个数中最大的数 请画出流程图
rivate Sub Command1_Click()。
Dim a1, a2, a3, max1 As Integer。
a1 = InputBox("请输入第1个数")。
max1 = a1。
a2 = InputBox("请输入第2个数")。
If a2 > max1 Then max1 = a2。
a3 = InputBox("请输入第3个数")。
If a3 > max1 Then max1 = a3。
MsgBox (max1)。
End Sub。
(4)算法流程图例题扩展阅读:
作为诊断工具,它能够辅助决策制定,让管理者清楚地知道,问题可能出在什么地方,从而确定出可供选择的行动方案。
流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。这一方法可以用于整个企业,以便直观地跟踪和图解企业的运作方式。
流程图使用一些标准符号代表某些类型的动作,如决策用菱形框表示,具体活动用方框表示。但比这些符号规定更重要的,是必须清楚地描述工作过程的顺序。流程图也可用于设计改进工作过程,具体做法是先画出事情应该怎么做,再将其与实际情况进行比较。
5. 利用两种循环写出1+2+3+…+100的算法,并画出各自的流程图
直到型循环算法:
第一步:S←0;
第二步:I←1;
第三步:S←S+I;
第四步:I←I+1;
第五步:如果I不大于100,转第三步;否则,输出S。相应的流程图如图甲所示.当型循环算法如
下:S1令i←1,S←0S2 。
当型循环算法如下:
S1 令i←1,S←0
S2 若i≤100成立,则执行S3;否则,输出S,结束算法
S3 S←S+i
S4 i←i+1,返回S2
相应的流程图如图乙所示。
从1开始递增依次与从100开始递减、将两个数进行相加配对、有50组为101的数。
1+100=101,2+99=101······50+51=101。从1加到100有50组这样的数,所以50X101=5050。
等差数列求和公式:(1+100)*100/2=5050
6. 如图是某算法的流程图,则执行该算法输出的结果是S=______
经过第一次循环得到结果为s=1,i=3,此时不满足判断框的条件
经过第二次循环得到结果为s=4,i=5,此时不满足判断框的条件
经过第三次循环得到结果为s=9,i=7,此时不满足判断框的条件
经过第四次循环得到结果为s=16,i=9,此时满足判断框的条件,执行输出s,即输出16
故答案为:16
7. 如图所示,程序框图(算法流程图)的输出值 _______.
8
8. 如下图所示,程序框图(算法流程图)的输出结果是  
|