第二章 算法初步 3 几种基本语句 3.1 条件语句 [课时作业] [A组 基础巩固] 1.对条件语句的描述正确的是( ) A.Else后面的语句不可以是条件语句 B.两个条件语句可以共用一个End If C.条件语句可以没有Else后的语句 D.条件语句中Then和Else后的语句必须都有 答案:C 2.下列问题所描述出来的算法,其中不包含条件语句的为( ) A.输入三个表示三条边长的数,计算三角形的面积 B.给出两点的坐标,计算直线的斜率 C.给出一个数x,计算它的常数对数的值 D.给出三棱锥的底面积与高,求其体积 答案:D 3.阅读下面程序: INPUT x IF x<0 THEN x=-x END IF PRINT x END 若输入x=5,则输出结果x为( ) A.-5 B.5 C.0 D.不确定 解析:当x≥0时,不符合条件,执行END IF之后的语句,直接输出x的值,即为5. 答案:B 4.为了在运行下面的程序之后输出16,输入x应该是( ) INPUT x IF x<0 THEN y=(x+1)*(x+1) ELSE y=(x-1)*(x-1) END IF PRINT y END A.3或-3 B.-5 C.5或-3 D.5或-5 解析:该程序的功能是求函数 y=的值, 若(x+1)2=16,则x=-5; 若(x-1)2=16,则x=5. 答案:D 5.分析下面的语句,当输入的x值为3时,程序的输出结果为________. 输入x; If x>2 Then y=x4 Else If x<2 Then y=0 Else y=5x End If End If 输出y. 解析:由算法语句可得y= 输入x=3, 则y=34=81. 答案:81 6.读下列语句完成题目 输入x; If x>1 Then y=x+1 Else y=2x+1 End If 输出y (1)若执行程序时,没有执行语句y=x+1,则输入的x的范围是________; (2)若输出结果是5,则执行的赋值语句是______,输入的x的值是________. 解析:依题意,题目所给的程序是求函数y=的函数值.因此,当x≤1时,没有执行语句y=x+1;又当x>1时,x+1>2,当x≤1时,2x+1≤3,从而输出的y的值是5时,执行的赋值语句是y=x+1,故输入的x的值为x=5-1=4. 答案:(1)x≤1 (2)y=x+1 4 7.判断输入的数x是否为正数,若是,输出它的平方;若不是,输出它的相反数,则横线上应填________. 输入x; If __________ Then y=-x Else y=x2 End If 输出y. 解析:y是一个分段函数,由题意知 y= 答案:x≤0 8.以下给出的是用条件语句编写的一个算法,根据该算法回答下列问题: 输入x; If x<4 Then y=3*x Else If x>4 Then y=x2+1 Else y=3 End If End If 输出y. (1)若输入-3,则输出结果是________; (2)若输入4,则输出结果是________; (3)该算法的功能是求函数________的值. 解析:由题意知,当x<4时,y=3x;当x=4时,y=3;当x>4时,y=x2+1. 答案:(1)-9 (2)3 (3)y= 9.以下给出一个算法: 1.输入x. 2.若x<0,执行第3步;否则执行第6步. 3.令y=x+1. 4.输出y. 5.结束. 6.若x=0,执行第7步;否则执行第10步. 7.令y=0. 8.输出y. 9.结束. 10.令y=x. 11.输出y. 12.结束. (1)指出该算法的功能; (2)画出该算法的框图; (3)用基本语句写出该算法. 解析:(1)该算法的功能是计算并输出 y=的值. (2)该算法的框图如图所示: (3)用基本语句描述为: 输入x; If x<0 Then y=x+1 Else If x=0 Then y=0 Else y=x End If End If 输出y. 10.设计一个程序,对输入的任意一个非零实数,判断其符号,并画出程序框图. 解析:程序框图如图所示: 程序如下: INPUT “x=”;x