找回密码
 注册
关于网站域名变更的通知
查看: 499|回复: 1
打印 上一主题 下一主题

Matlab程序设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-3 09:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
; [+ C% W# k! p% d) y( C
一、实验任务和目的

$ w  H% }' G4 q+ s1 n6 l
  • 熟悉程序设计思想。
  • 掌握伪代码的编写方法。
  • 掌握分支语句和循环结构的用法。/ q, J% t! |- F/ g! r5 A

  Y6 l2 R( M% i; M二、实验内容
6 \9 r+ R. J' T0 q. y3 o9 n* }- o1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100为A,80-89为B,70-79为C,60-69为D,60分以下为E。要求! J) i& w3 u! }
(1)分别用if语句和switch语句实现;/ ]* {% r1 ~9 p) |
(2)应对输入的成绩进行合理性判断,对不合理的成绩应输出错误信息。$ D0 O$ I( S" H9 O

2 N5 D+ o/ _3 ?7 I$ f- j' K2、编程实现一个九九乘法表,并屏幕显示出来,如下图所示:
: j9 A9 \: k- J" b
1 M0 {. ?- u1 t3 I+ L; p' w7 V
7 h: H5 j! ?8 x7 r8 H8 W' p; Y6 c' F6 Z0 ~
3、计算the day of year(年积日),the day of year 是指这一年已经逝去的天数(包括当天)。在平年中,它的取值范围为1到365,在闰年中,它的取值范围1 到366。编写一个MATLAB 程序,输入年、月、日,输出为对应的the of year。
" l1 i" U: v9 n2 l
  e0 m8 Q* c3 L" q三、实验过程和结果
) H8 ]/ N- @% \% Z: ^( Z2 O4 C+ s1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100为A,80-89为B,70-79为C,60-69为D,60分以下为E。要求
4 i9 _# d* z( Y& Y8 y# Q(1)分别用if语句和switch语句实现;! D  L$ C  r  K* r/ `
If语句:
; |& V& v: ^& T
  •     x=input(‘成绩’);
  •     if x>=90&&x<=100
  •         disp('A');
  •     elseif x>=80&&x<=89
  •         disp('B');
  •     elseif x>=70&&x<=79
  •         disp('C');
  •     elseif x>=60&&x<=69
  •         disp('D');
  •     else disp('E');
  •     end
    % o% l* t8 e% ^9 [) k+ U

2 s; [% I8 p* x! k! Rswitch语句:) Z* Z  C5 p; k3 W
' }; g4 B8 {8 l( o& F1 l
  • x=input('成绩');
  • switch x
  •     case num2cell(90:100)
  •         disp('A');
  •     case num2cell(80:89)
  •         disp('B');
  •     case num2cell(70:79)
  •         disp('C');
  •     case num2cell(60:69)
  •         disp('D');
  •     otherwise
  •         disp('E');
  • end
    8 I; a4 S1 j4 T- l  O' [* ?
2 r9 y: ]6 K5 B9 N
0 W0 a0 c& ]- W' L
(2)应对输入的成绩进行合理性判断,对不合理的成绩应输出错误信息。
; v( L4 g7 G% h( V  u& W9 a
+ U8 W6 q. p' b2 `0 @5 t% v, w
  • x=input('成绩');
  • if(x>100||x<0)
  •     disp('wrong input');
  • else
  •     switch x
  •         case num2cell(90:100)
  •             disp('A');
  •         case num2cell(80:89)
  •             disp('B');
  •         case num2cell(70:79)
  •             disp('C');
  •         case num2cell(60:69)
  •             disp('D');
  •         otherwise
  •             disp('E');
  •     end
  • end
    * @( ^2 z2 `3 Z9 |3 E7 I: S) V1 M

. q" z5 f9 [- U1 H; Y
  h7 l  r7 F: e8 T- a* C2、编程实现一个九九乘法表,并屏幕显示出来,如下图所示:
5 M& J1 _/ U, N- f' p; X # g; J8 f( w8 |

; k% Q% ^3 f/ i% V( t( t
  •         for i=1:9
  •                 for j=1:i
  •                     fprintf('%dx%d=%d',j,i,i*j);
  •                     if(j~=i)
  •                 fprintf(' ');
  •                     end
  •                 end
  •                 fprintf('\n');
  •         end
    ( h5 I! e3 R3 ?& E; n1 M
" z9 {% q- C$ F& t6 Z: P

6 v# m* I  l  }' r% Z% u6 G4 h% s3、计算the day of year(年积日),the day of year 是指这一年已经逝去的天数(包括当天)。在平年中,它的取值范围为1到365,在闰年中,它的取值范围1 到366。编写一个MATLAB 程序,输入年、月、日,输出为对应的the of year。
0 ]) }. p# s0 _0 U4 \0 q! M
  • y=input('年');
  • m=input('月');
  • d=input('日');
  • sum=0;
  • a=[31,28,31,30,31,30,31,31,30,31,30,31];
  • b=[31,29,31,30,31,30,31,31,30,31,30,31];
  • if(y<0||m<0||d<0||m>12||d>31)
  •     fprintf('wrong input');
  • else
  •     if(mod(y,400)==0||mod(y,100)~=0 && mod(y,4)==0)
  •         for i=1:m-1
  •             sum=sum+b(i);
  •         end
  •         if(d>b(m)) fprintf('wrong input');
  •         else fprintf('%d',sum+d);
  •         end
  •     else
  •         for i=1:m-1
  •             sum=sum+a(i);
  •         end
  •         if(d>b(m)) fprintf('wrong input');
  •         else fprintf('%d',sum+d);
  •         end
  •     end
  • end
    : Y2 M9 \% G- i3 ^3 Y$ I
" y8 ~  N8 P4 |/ ~+ |. h  n
5 i5 I8 C, B) G. N4 r
四、实验总结和心得
/ _+ C6 v, `4 l+ V熟悉了程序设计思想。
5 S/ Y% Q* |- V8 ]" O2 F掌握了伪代码的编写方法。3 q& d3 _6 d( T9 W9 U
掌握了分支语句和循环结构的用法。6 G$ o# ]6 ]  @7 U1 `

+ s  R$ ^3 w0 `- ^
6 G( R9 l  M* ~5 g8 i8 V

该用户从未签到

2#
发表于 2020-1-3 18:06 | 只看该作者
我熟悉了程序设计思想
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 01:26 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表