|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! Z2 y( U `$ B. x; e3 [6 P一、实验任务和目的
! G9 Z# d, w+ j7 \+ ~) e- 熟悉程序设计思想。
- 掌握伪代码的编写方法。
- 掌握分支语句和循环结构的用法。
4 f/ q: F: }; `6 I + V* o# a9 a$ U" H4 t
二、实验内容9 A2 G' v1 K1 C: s" S# n2 {7 a. f
1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100为A,80-89为B,70-79为C,60-69为D,60分以下为E。要求5 a- }* u6 }8 }4 V p6 _
(1)分别用if语句和switch语句实现;
- _: S* j. _* r8 q& i(2)应对输入的成绩进行合理性判断,对不合理的成绩应输出错误信息。
0 `6 Z' Z) \+ z1 X; l; O
& i6 T$ U8 v7 V# [5 Z2、编程实现一个九九乘法表,并屏幕显示出来,如下图所示:
' C9 Q8 P& Z. Q* c
! G1 L$ U3 m1 |$ V
5 b. h2 {' }' X9 W. A) ]- O" m; @) [: ^+ o+ ]
3、计算the day of year(年积日),the day of year 是指这一年已经逝去的天数(包括当天)。在平年中,它的取值范围为1到365,在闰年中,它的取值范围1 到366。编写一个MATLAB 程序,输入年、月、日,输出为对应的the of year。( j# A! Q1 @$ O) T+ r4 B
, P. b; y# O$ q三、实验过程和结果1 h9 Y- k; {7 o( H
1、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90-100为A,80-89为B,70-79为C,60-69为D,60分以下为E。要求& q" e; l1 j5 F+ O% A- L2 g
(1)分别用if语句和switch语句实现;
. W4 w: ^4 |/ J0 |, X2 eIf语句:
4 v% v1 k2 @1 d J, n7 i+ |% j3 r+ 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
) v+ k8 K; {4 U& P * h2 E+ k% P) v# l& Z5 N# k
switch语句:- B' j# m7 n! q3 J# ^6 {) u
& S3 I" O4 A. v) `+ C6 z5 u7 W) P5 U
- 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');
- end0 r a* ?# n5 ?. _/ |$ `
6 S" R. t6 Z9 {+ m' o
$ K6 v! {: g- u5 C/ }9 U7 J: x. T(2)应对输入的成绩进行合理性判断,对不合理的成绩应输出错误信息。# |/ z+ Z8 p/ J3 U3 T
2 J2 D. L J* @7 d9 m" f3 |( U, ^9 C
- 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
3 h& h* t0 c# ^
1 ~" Y4 S3 y5 r* \' \% s0 B$ Z5 P0 f6 v# d
2、编程实现一个九九乘法表,并屏幕显示出来,如下图所示:
, G0 Q2 @$ @ E, u& }# n
( p8 A2 ^! F: z( C' m1 P
7 h" o! }; X3 E6 x
- 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
1 K+ j) Z# c; v: |: ` # R* ? M) T2 I9 S; _- g
' m+ S; }3 y: i2 T
3、计算the day of year(年积日),the day of year 是指这一年已经逝去的天数(包括当天)。在平年中,它的取值范围为1到365,在闰年中,它的取值范围1 到366。编写一个MATLAB 程序,输入年、月、日,输出为对应的the of year。& R, h. b j+ b
- 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$ j) X, Y* p! m
) l5 S7 a4 w8 X3 A6 V
1 s% j3 Z2 f) d8 Z: \6 I: T/ T+ P' \1 ?5 ^四、实验总结和心得& y3 C( K, ]4 o, G
熟悉了程序设计思想。7 d, G6 ?; B: Z' U* R4 L
掌握了伪代码的编写方法。0 U0 i; y& i6 _' \) w3 H2 c+ F
掌握了分支语句和循环结构的用法。2 a E) k! T" p/ p" ]7 X
! R5 X- w$ X- h6 N* m
3 }7 g& r) o4 I
|
|