单选题 [程序]
CLEAR
STORE 2 TO B,D
STORE 1 TO A,C
DO SUB WITH A,B,C,D
? B
? D
STORE 3 TO A2,A4
STORE 1 TO A1,A3
DO SUB WITH A1,A2,A3,A4
? A4
DO SUB WITH 6,8,10,D
? D
PROC SUB
PARA A,B,C,D
D=B*B-4*A*C
DO CASE
CASE D<0
D=100
CASE D>0
D=200
CASE D=0
D=10
ENDCASE
RETURN
单选题 B的输出结果为______。
【正确答案】 A
【答案解析】
单选题 第一次D的输出结果为______。
【正确答案】 C
【答案解析】[解析] 执行DO SUB WITH A,B,C,D时,实参A,B,C,D传递给予过程SUB的形参A,B,C,D,执行D=B*B-4*A*C=2*2-4*1*1=0,执行CASE D=0分支,D被重新赋值10,返回主程序,B值没有改变仍为2,D值随子程序SUB同名变量的改变而改变。所以输出B值为2,D值为10。
单选题 A4的输出结果为______。
【正确答案】 D
【答案解析】[解析] 执行DO SUB WITH A1,A2,A3,A4时,实参A1,A2,A3,A4传递给子过程SUB的形参A,B,C,D,执名D=B*B-4*A*C=3*3-4*1*1=5,执行CASE D>0分支,D被重新赋值为200,返回主程序,D值返给A4,所以输出A4值为200。
单选题 第二次D的输出结果为______。
【正确答案】 A
【答案解析】[解析] 执行DO SUB WITH 6,8,10,D时,实参6,8,10,D传递给子程序SUB的形参A,B,C,D,执行D=B*B-4*A*C=8*8-4*6*10=-176,执行CASE D<0分支,D被重新赋值为100,返回主程序,输出D值100。