您好,欢迎访问三七文档
-1-算法专题训练1、设计一个程序框图,使之能判断任意输入的整数x是奇数还是偶数.[解析]程序框图如下.2、已知关于x的一元二次方程ax2+bx+c=0(a≠0),设计一个算法,判断方程是否有实数根.写出算法步骤,并画出程序框图.[分析]根据ω=Δ=b2-4ac的符号来判断,因此要用条件结构.[解析]算法如下:第一步,输入a,b,c.第二步,计算ω=b2-4ac.第三步,判断ω≥0是否成立,若成立,输出方程有实数根;若不成立,输出方程无实数根.程序框图如下:3、根据y=-11x,0x=,4x,设计算法并画出程序框图,求输入x的值,输出y的值.[解析]算法如下:第一步:输入x.第二步:如果x10,那么y=-11;如果x=10,那么y=0;如果x10,那么y=4;第三步:输出y值.[注意]使用条件结构,有两种可能则用一个判断框,有三种可能结果则用两个判断框,依此类推.-2-程序框图如下:4、如图所示是某函数f(x)给出x的值时,求相应函数值y的程序框图.(1)写出函数f(x)的解析式;(2)若输入的x取x1和x2(|x1||x2|)时,输出的y值相同,试简要分析x1与x2的取值范围.[解析](1)由程序框图知该程序框图执行的功能是求函数f(x)=|x2-1|的值,故f(x)的解析式为f(x)=|x2-1|.(2)画出f(x)=|x2-1|的草图如下图.由图象的对称性知:要使f(x1)=f(x2)且|x1||x2|,需-1x11,同时2≥x21或-2≤x2-1,∴x1的取值范围是{x|-1x1},x2的取值范围是{x|1x≤2或-2≤x-1}.5、设计一个算法,找出区间[1,1000]内的能被7整除的整数,画出程序框图.[解析]第一步,取k=1.第二步,判断k≤1000是否成立,若不成立,则执行第五步.第三步,若k除以7的余数为0,则输出k.第四步,将k的值增加1,返回执行第二步.第五步,结束.程序框图如图.-3-6、画出求满足12+22+32+…+n2106的最小正整数n的程序框图.[解析]程序框图如下:7、国家法定工作日内,每周工作时间满工作量为40小时,每小时工资8元;如需要加班,则加班时间每小时工资为10元.某人在一周内工作时间为x小时,个人住房公积金、失业险等合计为10%.试画出其净得工资y元的算法的程序框图.(注:满工作量外的工作时间为加班)[解析]由题意知,当0x≤40时,y=8x(1-10%)=7.2x,当x40时,y=[40×8+(x-40)×10]×(1-10%)=9x-72,∴y=7.2xx9x-72x此函数为分段函数,故用条件结构表达,条件为x40,程序框图为:-4-8、相传古代印度国王舍罕要褒赏他聪明能干的宰相达依尔(国际象棋的发明者),问他需要什么,达依尔说:“国王只要在国际象棋的棋盘第一格子上放一粒麦子,第二个格子上放两粒,第三个格子上放四粒,以后按此比例每一格加一倍,一直放到第64格(国际象棋8×8=64格),我就感恩不尽,其他什么也不要了.”国王想:“这有多少,还不容易!”让人扛来一袋小麦,但不到一会儿就全用没了,再扛来一袋很快又没有了,结果全印度的粮食用完还不够,国王很奇怪.一个国际象棋棋盘能放多少粒小麦,试用程序框图表示其算法.[分析]根据题目可知:第一个格放1粒=20,第二个格放2粒=21,第三个格放4粒=22,第四个格放8粒=23,…,第六十四格放263粒.则此题就转化为求1+21+22+23+24+…+263的和的问题.我们可引入一个累加变量S,一个计数变量i,累加64次就能算出一共有多少粒小麦.[解析]一个国际象棋棋盘一共能放1+21+22+23+24+…+263粒小麦.程序框图如图所示.9、(1)用辗转相除法求840与1764的最大公约数.(2)用更相减损术求459与357的最大公约数.[解析](1)1746=840×2+84840=84×10+0所以840与1764的最大公约数为84.(2)459-357=102357-102=255255-102=153153-102=51102-51=51所以459与357的最大公约数为51.10、用秦九韶算法求多项式f(x)=x6-5x5+6x4+x2+0.3x+2当x=-2时的值.[解析]∵f(x)=x6-5x5+6x4+0·x3+x2+0.3x+2=(((((x-5)x+6)x+0)x+1)x+0.3)x+2∴当x=-2时,v0=1v1=-2-5=-7v2=-7×(-2)+6=20v3=20×(-2)+0=-40v4=-40×(-2)+1=81v5=81×(-2)+0.3=-161.7v6=-161.7×(-2)+2=325.4∴f(-2)=325.4.11、有甲、乙、丙三种溶液分别重147g,343g,133g,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,则每瓶最多装多少溶液?[解析]每个小瓶的溶液的质量应是三种溶液质量147,343,133的公约数,最大质量即是其最大公约数.先求147与343的最大公约数:343-147=196,196-147=49,147-49=98.98-49=49.所以147与343的最大公约数是49.再求49与133的最大公约数:133-49=84,84-39=35,49-35=14,35-14=21,21-14=7,14-7=7,所以49与133的最大公约数为7,所以147,343,133的最大公约数为7.即每瓶最多装7g溶液.-5-12、已知175(8)=120+r,求正整数r.[解析]∵175(8)=1×82+7×81+5×80=125,∴125=120+r.∴r=5,即所求正整数r为5.13、已知44(k)=36,把67(k)转化为十进制数.[解析]由题意得36=4×k1+4×k0,则k=8.故67(k)=67(8)=6×81+7×80=55.14、把八进制数2011(8)化为五进制数.[分析]八进制数→十进制数→五进制数[解析]2011(8)=2×83+0×82+1×81+1×80=1024+0+8+1=1033.∴2011(8)=13113(5).[点评]把一个非十进制数转化为另一个非十进制数,通常是把这个数先转化为十进制数,然后把十进制数再转化为另一个非十进制数.15、若10y1(2)=x02(3),求数字x,y的值及与此两数等值的十进制数.[分析]由二进制及三进制可知,y∈{0,1},x∈{1,2},将二进制数和三进制数都转化为十进制数,再由两数相等及x、y的取值范围可得出x、y的值.[解析]∵10y1(2)=x02(3),∴1×23+0×22+y×2+1=x×32+0×3+2,将上式整理得9x-2y=7,由进位制的性质知,[来源:学+科+网Z+X+X+K]x∈{1,2},y∈{0,1},当y=0时,x=79(舍),当y=1时,x=1.∴x=y=1,已知数为102(3)=1011(2),与它们相等的十进制数为1×32+0×3+2=11.
本文标题:算法经典例题及答案
链接地址:https://www.777doc.com/doc-2174499 .html