实验三逻辑判断及控制结构语句.doc
文本预览下载声明
实验三 逻辑判断及控制结构语句
实验目的:熟悉逻辑判断方法及四种流程控制语句的用法.
3.1 判断以下表达式的值
(1) a=20, b=-2, c=0, d=1, 计算下面表达式的值:ab, bd, abcd, a==b, abc, ~~b, d|ba, a*b^2a*c.
format compact
a=20;b=-2;c=0;d=1;
bd
ans =
0
abcd
ans =
0
a==b
ans =
0
abc
ans =
0
~~b
ans =
1
d|ba
ans =
1
a*b^2a*c
ans =
1
(2) ,,计算a=b,a|b
a=[1 0;-2 1];b=[0 2;-2 -1];
a=b
ans =
1 0
1 1
a|b
ans =
1 1
1 1
(3) ,计算~(ab), acbc, c=d
format compact
a=2;b=[1 -2;0 10];c=[0 1;2 0];d=[-2 1 2;0 1 0];
~(ab)
ans =
0 0
0 1
acbc
ans =
1 0
0 1
c=d
??? Error using == le
Matrix dimensions must agree.
根据结果总结关系和逻辑运算符用于数组的运算规律及优先级顺序.
关系运算和逻辑运算的结果只有0和1两种可能。
优先顺序 运算符 () ^ ~ * = == = |
矩阵进行关系运算时,应该保证两个矩阵的维数一致或其中一个矩阵为标量。比较关系运算是对两个矩阵的对应运算进行比较。
3.2 租用一个交通工具,前100公里需要0.5美元一公里,在下面的200公里中0.23美元每公里,超过300公里的部分一律按0.2美元每公里算,编写一个程序,自定义总公里数x,求总花销及平均每公里的花销。(分别定义x=100,100x=300,x300三个总公里数验证结果)。
x=input(请输入总公里数x=);
if x=100
w=0.5*x;
disp([总花销w=,num2str(w), 美元])
elseif 100x=300
w=0.5*100+(x-100)*0.23;
disp([总花销w=,num2str(w), 美元])
else
w=0.5*100+0.23*200+(x-300)*0.2;
disp([总花销w=,num2str(w), 美元])
end
v=w/x;
disp([平均每公里的花销v=,num2str(v), 美元/公里])
请输入总公里数x=50
总花销w=25 美元
平均每公里的花销v=0.5 美元/公里
请输入总公里数x=150
总花销w=61.5 美元
平均每公里的花销v=0.41 美元/公里
请输入总公里数x=400
总花销w=119 美元
平均每公里的花销v=0.2975 美元/公里
3.3 编写程序计算以下函数,并定义不同的x,y值进行验证。
x=input(x=);
y=input(y=);
if x=0y=0
f=x+y;
elseif x=0y0
f=x+y^2;
elseif x0y=0
f=x^2+y;
else
f=x^2+y^2;
end
disp([f(x,y)=,num2str(f)])
test4
x=1
y=2
f(x,y)=3
x=1
y=-2
f(x,y)=5
test4
x=-1
y=2
f(x,y)=3
x=-1
y=-2
f(x,y)=5
3.4 编写一个switch语句程序,允许使用者输入一个字符串,这个字符串必须是一个星期中的一天(Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday),把这些字符串转化为相应的数字,以星期天为第一天,星期六为第七天,如果输入不是这些字符串,则输出错误信息。能否用if语句实现呢?
disp(输入一个星期某一天的英文(开头为大写),显示是一个星期的第几天。)
a=input(a=,s);
switch a
case Sunday
disp(第一天)
case Monday
disp(第二天)
case Tuesday
disp(第三天)
case Wednsday
显示全部