1、第8课时 习题课(1)【双基演练】1.下面的程序运行的结果是……………………………………………………(C) N=0 I=0 While I<30 I=(I+1)*(I+1) N=N+1 End Print N End A 0 B 3 C 4 D 29提示:将初始值I=0代入,求得新I=1,N变成1,这是第1次循环;1<30,符合循环条件,第2次循环时,I变为4,N取值为2;4<30,可进行第3次循环,I新值为25,N取3;照此下去,可再循环一次,N取值为4。说明:初值与终都相同,循环过程一样时,For语句与WHILE
2、语句相比循环次数多1。2.完善下列程序 ReadX If X>=0thenY=6ElseY=5(Endif)PrintYEnd提示:条件语句的终止需要说明。3.按下面的程序运行后输出的S的值是 。(120) For I=1 TO 5S=0J=1ForK=1ToIJ=J*KEndForS=S+JEndForPrintSEnd提示:此程序分内、外两层两个循环,由于外循环每一次都使J=1,S=0,故只要考虑最后一次循环,即I=5时,分别计算了J=1×2×3×4×5=120,故S=0+J=120。4.下面的程序段中,语句PrintI*J的执行次数是
5、←1i←i+1I>50NY输出k解流程图: 伪代码: k=0Foriform1to50ReadaiIfMod(ai,2)≠0Thenk←k+1EndifEndforPrintkEnd【测试反馈】1.下列程序的运行结果是……………………………………………………(C) A=5 B=4 If B>=A Then B←A+B Else B←A-BEndifPrint BEndA 9 B 4 C 1 D 0提示:条件不成立,执行ELSE分支,B被赋值为A-B=1,选C。252.下面的程序运行时输出的结果是……………………………
6、……………………(D)I←1 S←0WhileI<5I←I+1S←S+I2Endwhile PrintSEndA5B16C29D54提示:第一次循环时,I被赋于2,S被赋于4;第二次循环时,I被赋于3,S被赋于4+32=13;第三次循环时,I被赋于4,S被赋于13+42=29;第四次循环时,I被赋于5,S被赋于29+52=54。由于此时I=5,故循环终止,输出S为54。3.下列程序运行后输出的结果是 。(6)Y=1 ForAfrom1to5 Y=Y+1Endfor PRINT Y END提示:For语句是先执行后判断。每一次循环时Y与A均增加1,直到A>
7、5时为止,于是,共循环5次,Y输出结果为6。4.下列程序的运行结果是 。(-1+3i -1-i) A←1 B←2 C←10 D←B*B-4*A*C If D>=0ThenX1←(-B+SQR(D))/(2*A)X2←(-B-SQR(D))/(2*A)Print“X1=”;X1,“X2=”;X2 Else Print “X1=”;-B/(2*A);“+”;SQR(-D)/(2*A);“i”, Print “X2=”;-B/(2*A);“-”;SQR(-D)/(2*A);“i” End if End(注:Print“