• 133.00 KB
  • 2021-06-16 发布

【数学】2020届一轮复习北师大版 算法初步 课时作业

  • 6页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
‎2020届一轮复习北师大版 算法初步 课时作业 一、选择题 ‎1.若For i=-10 To 19为某一循环语句中的一个步骤,则该循环共循环(  )‎ A.29次 B.30次 C.28次 D.19次 ‎[答案] B ‎[解析] 循环次数为(终值-初始值)+1=30.‎ ‎2.关于Do Loop循环语句叙述正确的是(  )‎ A.至少执行循环体一次 B.执行一次循环体 C.满足条件时执行循环体 D.遇到Do Loop就结束 ‎[答案] A ‎[解析] 对于Do Loop循环语句,先执行循环体,再根据条件是否成立来确定执行循环体,因此至少执行一次循环体.‎ ‎3.读下面的算法语句,输出的结果是(  )‎ A.2 B.10‎ C.15 D.20‎ ‎[答案] C ‎[解析] 当I=1时,S=0×2+1,当I=2时,S=1×2+1=3;当I=3时,S=3×2+1=7;当I=4时,S=7×2+1=15.‎ ‎4.如图所示,给出的四个流程图中,满足Do Loop语句格式的是(  )‎ ‎[答案] D ‎[解析] Do Loop语句是先执行一次循环体,再判断是否满足条件,排除B,C,当条件不满足时跳出循环体,排除A,故选D.‎ ‎5.下列算法语句的目的是(  )‎ S=0‎ For a=1 To 4‎ a=2*a S=S+a Next 输出a A.计算2+22+23+24 B.计算2+22+23‎ C.计算23 D.计算24‎ ‎[答案] D ‎[解析] 本题输出的为最后的a值,共循环了4次,故输出24的值.‎ ‎6.如果以下程序运行后输出的结果是100,那么在程序中While后面的条件表达式应为(  )‎ S=0‎ i=1‎ Do ‎ S=S+i^3‎ ‎ i=i+1‎ Loop While条件表达式 输出S A.i>5  B.i≤4 ‎ C.i≥4  D.i≤5‎ ‎[答案] B ‎[解析] 该程序中使用了Do Loop循环语句,当While后的条件表达式结果为真时,执行循环体,为假时结束循环,由于输出结果为100,因此条件应为i≤4.‎ 二、填空题 ‎7.下列算法:‎ A=2‎ B=1‎ Do B=A*B A=A+1‎ Loop While A≤5‎ 输出B 该算法的功能是________.‎ ‎[答案] 计算1×2×3×4×5的值 ‎8.设计算法计算1+2+3+…+50的值时,如果用循环语句应用__________语句,循环次数为__________.‎ ‎[答案] For 50‎ ‎[解析] 因为知道循环次数,故应用For语句,其语句描述为:‎ S=0‎ For i=1 To 50‎ S=S+i Next 输出S.‎ 三、解答题 ‎9.计算1+2+22+23+…+263,写出用Do Loop语句描述的算法.‎ ‎[解析] 用语句描述如下:‎ S=1‎ n=2‎ i=1‎ Do S=S+n^i i=i+1‎ Loop While i<=63‎ 输出S ‎10.把100~200内所有能被3整除的数输出,用程序语句描述算法.‎ ‎[解析] For i=100 To 200‎ ‎ If M Mod 3=0 Then ‎ 输出M ‎ End If ‎ Next 一、选择题 ‎1.读程序,对甲、乙两程序和输出的结果判断正确的是(  )‎ 甲:          乙:‎ ‎ i=1000   S=0‎ ‎ S=0   For i=1 To 1000‎ ‎ Do    S=S+i S=S+i    i=i+1‎ i=i-1   Next ‎ Loop While i>=1   输出 输出 S A.程序不同,结果不同 B.程序不同,结果相同 C.程序相同,结果不同 D.程序相同,结果相同 ‎[答案] B ‎[解析] 甲程序是用Do Loop语句写的,乙程序是用For语句写的,但两者运行结果都是500500,S乙=1+2+3+…+1000,S甲=1000+999+…+1.‎ ‎2.以下语句用来计算(  )‎ S=1‎ For i=1 To 10‎ S=3*S Next 输出S A.3×10的值 B.39的值 C.310的值 D.1×2×3×…×10的值 ‎[答案] C ‎[解析] 由循环体,S为3n的形式,由For i=1 To 10,∴S=310,故选C.‎ 二、填空题 ‎3.阅读下面的算法语句段:‎ b=1‎ For k=1 To 5‎ ‎ b=b*k ‎ If b>=15 Then ‎   退出For循环 ‎ End If Next 输出k;b.‎ 在上述语句段中,k循环共执行________次,在窗体上显示的结果为________.‎ ‎[答案] 4 24‎ ‎[解析] 本题主要考查For循环语句,首先观察循环的条件If b>=15 Then退出循环,可知b的最终值为24,k从1到4,所以,k的最终值为4.这时b=24.‎ ‎4.下面是求1×2×3×4×5×6×7×8×9×10的一个算法语句,将其补充完整.‎ ‎[答案] a=a-‎1 ‎a>0(或a>=1)‎ ‎[解析] a的初始值为10,故循环体中的值应该递减,即a从10减小到1,循环体的条件应为a>0,也可以为a≥1.‎ 三、解答题 ‎5.试用循环语句描述求1-+-+…+-的和.‎ ‎[解析] 本题适合用For语句来描述,用For语句如下:‎ S=0‎ i=1‎ For i=1 To 10‎ S=S+(-1)i+1/i Next 输出S.‎ ‎6.求12+22+32+…+n2<1000成立的n的最大整数值,用基本算法语句表示其算法.‎ ‎[解析] 用语句描述如下:‎ S=1‎ i=2‎ Do A=i^2‎ S=S+A i=i+1‎ Loop While S<1000‎ i=i-1‎ 输出n的最大整数值i.‎ ‎7.已知一个算法框图如图所示,请根据框图写出用基本语句编写的程序,并指明该程序的功能.‎ ‎[解析] 算法如下:‎ s=0‎ For i=1 To 99‎ s=s+1/(i*(i+1))‎ Next 输出s 该算法的功能为求+++…+的值.‎