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

本文通过五个具体案例详细介绍了如何使用if和switch等条件语句解决实际问题,包括分段函数计算、成绩评级、员工工资计算、数学运算及矩阵操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 一、

 二、

 三、

 四、

 五、


一、

求分段函数的值

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值