- 算法与程序框图
- 共2022题
下图是一个算法的流程图,则输出S的值是 .
正确答案
63
本程序的功能是,所以输出的S值为63.
计算的值的一个程序框图如下图所示,其中判断框中应填入的条件是 ;
正确答案
i>10?
分析:框图给出的是计算 1/2+1/4+1/6+…+1/20的值的一个程序框图,首先赋值i=1,执行s=0+1/2时同时执行了i=i+1,和式共有10项作和,所以执行完s=1/2+1/4+1/6+…+1/20后的i值为11,再判断时i=11应满足条件,由此可以得到正确答案。
解答:
框图首先给变量s,n,i赋值s=0,n=2,i=1。
判断,条件不满足,执行s=0+1/2,n=2+2=4,i=1+1=2;
判断,条件不满足,执行s=1/2+1/4,n=4+2=6,i=2+1=3;
判断,条件不满足,执行s=1/2+1/4+1/6,n=6+2=8,i=3+1=4;
…
由此看出,当执行s= 1/2+1/4+1/6+…+1/20时,执行n=20+2=22,i=10+1=11。
在判断时判断框中的条件应满足,所以判断框中的条件应是i>10?。
点评:本题考查了程序框图中的直到型循环,虽然是先进行了一次判断,但在不满足条件时执行循环,直到满足条件算法结束,此题是基础题。
这是中国古代的一个著名算法案例:鸡兔49头,100根腿往地里走,问鸡兔各多少?
正确答案
解:算法如下:
第一步,设有小鸡x只,小兔y只,则有
第二步,将方程组中的第一个方程两边乘以-2加到第二个方程中去,得到解得y=1.
第三步,将y=1代入①,得x=48.
分析:求解鸡兔的问题简单直观,却包含着深刻的算法思想.应用解二元一次方程组的方法来求解鸡兔同笼问题.
设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.
正确答案
程序框图如下:
算法分析:我们知道,若判别式Δ=b2-4ac>0,则原方程有两个不相等的实数根
x1=,x2=;
若Δ=0,则原方程有两个相等的实数根x1=x2=;
若Δ<0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根据判断的结果执行不同的步骤,这个过程可以用条件结构实现.
又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x1和x2之前,
先计算p=,q=.
解决这一问题的算法步骤如下:
第一步,输入3个系数a,b,c.
第二步,计算Δ=b2-4ac.
第三步,判断Δ≥0是否成立.若是,则计算p=,q=;否则,输出“方程没有实数根”,结束算法.
第四步,判断Δ=0是否成立.若是,则输出x1=x2=p;否则,计算x1=p+q,x2=p-q,并输出x1,x2.
求4+(共10个4),画出程序框图.
正确答案
解:程序框图如图:
如果采用逐步计算的方法,利用顺序结构来实现,则非常麻烦,由于前后的运算需重复多次相同的运算,所以应采用循环结构.观察原式中的变化的部分及不变项,找出总体的规律是4+,要实现这个规律,需设初值x="4."
编写程序,求平方不超过999 999的最大整数.
正确答案
解:i=1;
while j*j<="999" 999
j=j+1;
end
j=j-1
考虑循环程序,因为不知道循环的次数,所以利用while循环语句.
执行如图2所示的程序框图,若输入的值为6,则输出
的值为__________
正确答案
15
试题分析:
如图所示的循环结构是当型循环结构,
它所表示的算式为s=1×3×5×…×(2i-1)
∴输入n的值为6时,输出s的值s=1×3×5=15.
故选S.
点评:解决该试题的关键是能理解本循环结构是当型循环结构,它所表示的算式为s=1×3×5×…×(2i-1),由此能够求出结果。
任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画出这个算法的程序框图.
正确答案
解:程序框图如下:
判断分别以这3个数为三边边长的三角形是否存在,只需要验证这3个数当中任意两个数的和是否大于第3个数,这就需要用到条件分支结构.
已知函数设计一个算法步骤求
的值.
正确答案
见解析
算法步骤如下:
第一步,输入x.
第二步,x=3.
第三步,.
第四步,.
第五步,.
第六步,.
第七步,.
第八步,.
第九步,输出y.
(2012•广东)执行如图所示的程序框图,若输入n的值为8,则输出的s的值为 _________ .
正确答案
8
当i=2,k=1时,s=2,;
当i=4,k=2时,s=(2×4)=4;
当i=6,k=3时,s=(4×6)=8;
当i=8,k=4时,不满足条件“i<8”,退出循环,
则输出的s=8
扫码查看完整答案与解析