MATLAB实验三-选择结构程序设计方案
- 格式:doc
- 大小:45.00 KB
- 文档页数:5
MATLAB实验报告
学院:光电学院
班级:073-1
姓名:刘颖
学号:2
实验三 选择结构程序设计
1. 求分段函数的值。
y=⎪⎩⎪⎨⎧--≠≠<≤+--≠<-+其他
及且且,13250,653x 0,6222x x x x x x x x x x
用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的值。
程序设计:
x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]
if x<0&x~=-3
y=x.*x+x-6;
elseif x>=0&x<5&x~=2&x~=3
y=x.*x-5*x+6;
else y=x.*x-x-1
end
y
运行结果:
x =
-5.0000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000
y =
29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.0000
y =
29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.0000
2.输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分一下为E 。
要求:
(1)分别用if 语句和switch 语句实现。
用switch 语句实现
程序设计:
score=input('请输入百分制成绩:');
switch fix(score/10)
case {9,10}
grade='A';
case {8}
grade='B';
case {7}
grade='C';
case {6}
grade='D';
otherwise
grade='E';
end
grade
请输入百分制成绩:95
grade =
A
请输入百分制成绩:86
grade =
B
请输入百分制成绩:50
grade =
E
用if语句实现
程序设计:
score=input('请输入百分制成绩:');
k=fix(score/10);
if k=9&k=10
grade='A';
elseif k=8
grade='B';
elseif k=7
grade='C';
elseif k=6
grade='D';
else grade='E';
end
grade
运行结果:
请输入百分制成绩:74
grade =
C
请输入百分制成绩:65
grade =
D
请输入百分制成绩:21
grade =
E
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。程序设计:
score=input('请输入百分制成绩:');
if score>=0&score<=100
switch fix(score/10)
case {9,10}
grade='A';
case {8}
grade='B';
grade='C';
case {6}
grade='D';
otherwise
grade='E';
end
grade
else
disp('erro')
end
运行结果:
请输入百分制成绩:-50
erro
2.硅谷公司员工的工资计算方法如下:
(1)工作时数超过120小时者,超过部分加发15%。
(2)工作时数低于60小时者,扣发700元。
(3)其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
程序设计:
num=input('请输入工号:');
time=input('请输入工时数:');
if time<60
salary=time*84-700;
elseif time>120
salary=84*120+(time-120)*84*(1+0.15);
else
salary=time*84;
end
salary
运行结果:
请输入工号:24
请输入工时数:46
salary =
3164
4.设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
程序设计:
A=fix(rand(1,2)*100);
a=A(1,1)
b=A(1,2)
c=input('请输入运算符号:')
if c=='+';
k=a+b;
elseif c=='-'
k=a-b;
elseif c=='*'
k=a*b;
else c=='\'
k=a\b;
end
k
运行结果:
a
=
60
b =
48
请输入运算符号:'-'
c =
-
k =
12
5.建立5 6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
程序设计:
A=rand(5,6)
n=input('n=?')
if n>=1&n<=5
B=A(n,1:6);
else
disp('erro!!')
B=A(5,1:6);
end
B
运行结果:
A =
0.9342 0.6458 0.1370 0.6873 0.4225 0.4574
0.2644 0.9669 0.8188 0.3461 0.8560 0.4507
0.1603 0.6649 0.4302 0.1660 0.4902 0.4122
0.8729 0.8704 0.8903 0.1556 0.8159 0.9016
0.2379 0.0099 0.7349 0.1911 0.4608 0.0056
n=?4
n =
4
B =
0.8729 0.8704 0.8903 0.1556 0.8159 0.9016