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

Matlab程序设计

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
* W! E; @( U3 o* y/ B4 L; R
一、实验任务和目的
- U" q, g6 Z$ N2 q: C
  • 熟悉程序设计思想。
  • 掌握伪代码的编写方法。
  • 掌握分支语句和循环结构的用法。
    ! \" \2 |& y. d/ \) W) V- s6 X
+ H7 j  Y6 b. q+ W! _7 m$ Y' ?
二、实验内容7 a! X% P% F9 T' u6 t0 [# E( k5 w
1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100为A,80-89为B,70-79为C,60-69为D,60分以下为E。要求" x$ k% A: U  M6 n* y
(1)分别用if语句和switch语句实现;
3 V, {) `) i6 H0 W2 s) j+ @(2)应对输入的成绩进行合理性判断,对不合理的成绩应输出错误信息。) Z( b: x9 h5 T9 g

5 y% x& T* c! H2 y2、编程实现一个九九乘法表,并屏幕显示出来,如下图所示:# J- I% |' ]# n( {7 o
5 w% r. R0 @! Y7 M0 ~
, u' b( U3 r0 |& a* y" X( C
) t* j. a- r3 `2 |
3、计算the day of year(年积日),the day of year 是指这一年已经逝去的天数(包括当天)。在平年中,它的取值范围为1到365,在闰年中,它的取值范围1 到366。编写一个MATLAB 程序,输入年、月、日,输出为对应的the of year。3 |4 I) }, _* P% L

8 x; k: C9 O3 G$ `! D/ }三、实验过程和结果
+ O1 o* E  y: j9 x! c. D" h1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100为A,80-89为B,70-79为C,60-69为D,60分以下为E。要求
, f4 Y$ N5 q+ |% m5 B0 ]# j(1)分别用if语句和switch语句实现;5 S6 X# j+ g- T4 |
If语句:7 d( u: m9 C1 l( B
  •     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
    ) E2 L# M) d' \2 Y+ }$ }% ^
7 y7 G4 C0 j" k4 f8 E
switch语句:1 Q8 B3 o- x- f  m. H0 B
7 \. B% \# J" b* @8 ]+ I( m5 \9 X
  • 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');
  • end9 F  Y" w1 Q3 S1 U- w# h

; B' j6 ~% N5 n# i
. ?0 W: T  Y, y! D) Y2 p5 a(2)应对输入的成绩进行合理性判断,对不合理的成绩应输出错误信息。
* D$ B+ a8 F' e( u0 ~$ H. t6 V! i' I1 a' \# N
  • 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
    4 G1 M9 ~' s7 Q+ X/ p# I

0 z3 N: z; ]+ t8 i4 d' J& _( M% y  [. ~$ N, m& H4 t" ~3 l
2、编程实现一个九九乘法表,并屏幕显示出来,如下图所示:: B7 n( N" w1 Y- V: h

! _, I) y* S# ?$ r, I' u  t: c" ^3 M! 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
    ; E" w( [6 N; v9 l3 b# B  j
6 V7 h# U, Y1 c, }# M9 ~$ ~* [. _3 C

! H: a# `" N: Y3、计算the day of year(年积日),the day of year 是指这一年已经逝去的天数(包括当天)。在平年中,它的取值范围为1到365,在闰年中,它的取值范围1 到366。编写一个MATLAB 程序,输入年、月、日,输出为对应的the of year。
7 @. T6 l/ o" b% q3 r9 B* Y, E
  • 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
    & h# A; x- m' c! |

& |- q" n* Y  N) U6 r( S: L# j3 U  E) D8 m# a
四、实验总结和心得
$ B0 g& W; S' P" \3 O" X熟悉了程序设计思想。
$ u, }6 z7 L* g' |/ \& Y, r. C掌握了伪代码的编写方法。+ Y+ D: u, Z( v& Y7 T4 H/ z
掌握了分支语句和循环结构的用法。
" J8 m/ Y0 ^9 w. g8 @$ I% B
3 e( Q/ w: {2 F' I8 x7 f4 p& @* Z2 B* l# d% S

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-5 03:46 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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