4、MATLAB程序设计与应用刘卫国(第三版)课后实验四:选择结构程序设计

目录

 一、

 二、

 三、

 四、

 五、


一、

求分段函数的值

 if语句实现,分别输出X=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。

扫描二维码关注公众号,回复: 17148000 查看本文章

---------------------------------------示例代码---------------------------------------------

x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
y=[];                             %建立存放所有y值的矩阵
for x0=x
    if x0<0&x0~=-3
        y=[y,x0*x0+x0-6];
    elseif x0>=0&x0<5&x0~=2&x0~=3
        y=[y,x0*x0-5*x0+6];
    else
        y=[y,x0*x0-x0-1];
    end
end
x                                 %输出所有x
y                                 %输出所有y

---------------------------------------运行结果---------------------------------------------

 二、

输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~分为B,70~79分为C,60~69分为D,60分以下为E。

要求:

(1)分别用if语句和switch语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

---------------------------------------示例代码---------------------------------------------

x=input('请输入一个百分制成绩:');
if x>100|x<0
disp('您输入的成绩不是百分制成绩,请重新输入。');
elseif x<=100&x>=90
disp('A');
elseif x<=89&x>=80
disp('B');
elseif x<=79&x>=70
disp('C');
elseif x<=69&x>60
disp('D');
else
disp('E');
end
s=input('请输入一个成绩(0分到100分之间):');  %s用于存放成绩
while 1                                       %判断输入成绩的合理性
    if s<0|s>100
        disp('输入的成绩需在0到100之间,请重新输入:')
        s=input('请输入一个成绩(0分到100分之间):');
    else
        break;
    end
end
switch fix(s/10)                              %对成绩做出等级判断
    case {9,10}
        disp('A')
    case 8
        disp('B')
    case 7
        disp('C')
    case 6
        disp('D')
    otherwise
        disp('E')
end
% switch版本
g=input('请输入一个百分制成绩:');
while 1
    if g<0||g>100
        disp('您输入的百分制成绩不合理,请重新输入!');
        g=input('请输入一个百分制成绩:');
    else
        break;
    end
end
switch fix(g) 
    case num2cell(0:59) 
        disp('E')
    case num2cell(60:69) 
        disp('D')
    case num2cell(70:79) 
        disp('C')
    case num2cell(80:89) 
        disp('B')
    case num2cell(90:100) 
        disp('A')
end

---------------------------------------运行结果---------------------------------------------

 三、

硅谷公司员工的工资计算方法如下。

(1)工作时数超过120小时者,超过部分加发15%。

(2)工作时数低于60小时者,扣发700元。

(3)其余按每小时84元计发。

根据输入的员工工号和该员工的工时数,计算应发工资。

---------------------------------------示例代码---------------------------------------------

n=input('请输入员工工号:');
h=input('该员工工作时数是:');
if h>120
x=(h-120)*84*(1+0.15)+120*84;
elseif h<60
x=h*84-700;
else
x=h*84;
end
disp([num2str(n),'号员工','的应发工资为',num2str(x)]);

---------------------------------------运行结果---------------------------------------------

 四、

设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,完成对应的运算,并显示相应的结果。

---------------------------------------示例代码---------------------------------------------

x = round(rand(1,1)*100);
y = round(rand(1,1)*100);

t=input('请输入运算符号:','s');
switch t
    case '+'
       z=x+y;
    case '-'
        z=x-y;
    case '*'
        z=x*y;
    case '/'
        z=x/y;
       default
    otherwise
        disp('运算符输入有误')
x=0;
y=0;
z=0;
end
disp([num2str(x),t,num2str(y),'=',num2str(z)])

---------------------------------------运行结果---------------------------------------------

 五、

建立5×6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出错误信息。

---------------------------------------示例代码---------------------------------------------

A=input('输入一个5*6矩阵A=');
n=input('输入一个正整数n=');
if n<5&&n>0
   disp(A(n,:));
else
  disp(A(5,:));
   disp('error:n>5')
end

---------------------------------------运行结果---------------------------------------------

 如有侵权,请尽快与我联系!!!

猜你喜欢

转载自blog.csdn.net/weixin_46698113/article/details/128276927