程序设计习题 第 2 章 做判断
2.1逻辑运算
1. 判断以下表达式是true还是false,并在SPL里运行一下看看结果。
A |
|
1 |
=50>1 && 5-3<1 |
2 |
=50>1 || 5-3<1 |
3 |
=!(50<1) |
4 |
=!100 && 5>1 && 9/4>2 |
5 |
=10\3==3 || 10%3!=3 && !10 |
6 |
=(10\3==3 || 10%3!=3) && !10 |
2. 编程练习
(1)输入任意一个自然数,判断它是奇数还是偶数
(2)某资格考试,有3个科目,通过任意两个科目(>=60分)就算合格
(3)任意输入一个数,判断它是正数,负数或零
(4)输入一个正整数,判断其是否是二位数
(5)输入两个数,按从大到小顺序输出
2.2分支结构
1. 根据网格布局判断A1、B2、B4、A5、A6的代码块
A |
B |
C |
D |
|
1 |
X |
X |
||
2 |
X |
X |
||
3 |
X |
X |
||
4 |
X |
X |
||
5 |
X |
X |
||
6 |
X |
X |
2. 编程练习
(1) 利用分支结构,实现分段函数
(2)做学生成绩系统,如果成绩大于80分,输出A,如果成绩大于70分并且小于80分,输出B,如果成绩大于60分并且小于70分,输出C,小于60分输出D。
(3)给出三条边,判断是否可以组成三角形,如果可以的话计算周长和面积
提示:利用边长计算三角形面积公式为海伦公式
,p为周长的一半
(4)输入3个数,按从大到小输出
(5)输入任意一个年份和月份,判断该年该月有多少天(提示:闰年的计算方法:年数能被4整除,并且不能被100整除;或者能被400整除的整数年份。
2.3注释和跳转
1. 判断下面两段代码运行后A1的值分别是多少?A1输入6时,又分别是多少?
A |
B |
C |
|
1 |
2 |
||
2 |
if A1>5 |
>A1=A1+4 |
>A1=A1+5 |
3 |
else |
goto C2 |
A |
B |
|
1 |
2 |
|
2 |
if A1>5 |
goto A4 |
3 |
>A1=A1+5 |
|
4 |
>A1=A1+4 |
2. 编程练习:使用if和goto语句计算1+2+3+……+100的和
参考答案:
2.1 逻辑运算
2.
(1)
A |
|
1 |
6 |
2 |
=if(A1%2==0,"even","odd") |
(2)
A |
||
1 |
95 |
/科目1 |
2 |
83 |
/科目2 |
3 |
76 |
/科目3 |
4 |
=if((A1>=60 && A2>=60)||(A1>=60 && A3>=60)||(A2>=60 && A3>=60),"pass","fail") |
(3)
A |
|
1 |
3 |
2 |
=if(A1>0:"正数",A1<0:"负数",A1==0:"零") |
(4)
A |
|
1 |
15 |
2 |
=if(A1>=10 && A1<100, output("Yes"), output("No")) |
(5)
A |
B |
|
1 |
15 |
23 |
2 |
=if(A1>=B1, output(A1,B1),output(B1,A1)) |
2.2 分支结构
1.
A1的代码块为B1:D4
B2的代码块为C2:D3
B4的代码块为C4:D4
A5的代码块为B5:D5
A6的代码块为B6:D6
2.
(1)
A |
B |
|
1 |
5 |
|
2 |
if A1>1 |
>B1=3*A1-5 |
3 |
else if A1>=-1 && A1<=1 |
>B1=A1+2 |
4 |
else |
>B1=5*A1+3 |
A1输入x的值
B1 函数计算结果存入B1
(2)
A |
B |
C |
|
1 |
90 |
/输入成绩 |
|
2 |
if A1>=0 && A1<=100 |
if A1>=80 |
>output("A") |
3 |
else if A1>=70 |
>output("B") |
|
4 |
else if A1>=60 |
>output("C") |
|
5 |
else |
>output("D") |
|
6 |
else |
>output("Illegal score") |
(3)
A |
B |
C |
|
1 |
3 |
4 |
5 |
2 |
if A1 + B1 > C1 && A1 + C1 > B1 && B1 + C1 > A1 |
=A1+B1+C1 |
=B2/2 |
3 |
=sqrt(C2*(C2-A1)*(C2-B1)*(C2-C1)) |
||
4 |
>output(B2,B3) |
||
5 |
else |
>output("This side length group does not form a triangle") |
(4)
A |
B |
C |
|
1 |
23 |
62 |
15 |
2 |
if A1<B1 |
=A1 |
|
3 |
>A1=B1 |
||
4 |
>B1=B2 |
||
5 |
if A1<C1 |
=A1 |
|
6 |
>A1=C1 |
||
7 |
>C1=B5 |
||
8 |
if B1<C1 |
=B1 |
|
9 |
>B1=C1 |
||
10 |
>C1=B8 |
||
11 |
>output(A1,B1,C1) |
(5)
A |
B |
C |
|
1 |
2023 |
/输入年份 |
|
2 |
2 |
/输入月份 |
|
3 |
if A2==2 |
if A1%4==0 && A1%100!=0 || A1%400==0 |
>output(29) |
4 |
else |
>output(28) |
|
5 |
else |
if A2==1 || A2==3 || A2==5 || A2==7 || A2==8 || A2==10 || A2==12 |
>output(31) |
6 |
else |
>output(30) |
2.3 注释和跳转
2.
A |
B |
C |
D |
|
1 |
1 |
|||
2 |
if A1<=100 |
>B1=B1+A1 |
>A1=A1+1 |
goto A2 |
英文版