MATLAB实验三-选择结构程序设计方案

  • 格式:doc
  • 大小:45.00 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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