第五次作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五、选择与循环结构
一、 实验目的:
1、 掌握建立和执行M 文件的方法。
2、 掌握利用if 语句实现选择结构的方法。
3、 掌握利用switch 语句实现多分支选择结构的方法。
4、 掌握try 语句的使用。
5、 掌握利用for 语句实现循环结构的方法。
6、 掌握利用while 语句实现循环结构的方法。
7、 熟悉利用向量运算来代替循环的操作方法。
二、
实验内容:
1、 列分段函数的值。
⎪⎩⎪⎨⎧--≠≠<≤+--≠<-+=其他且且,632,100,653
0,62
22x x x x x x x x x x x y
要求:
(1) 用if 语句实现,分别输出x =-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
提示:x 的值从键盘输入,可以是向量。
(2) 用逻辑表达式实现上述函数。
x=input('x=');
if x<0&&x~=-3
y=x*x+x-6
elseif x>=0&&x<10&&x~=2&&x~=3
y=x*x-5*x+6
else
y=x*x-x-6
end
>> tt1
x=-0.5
y =
-6.2500
>> tt1
x=-3.0
y =
6
>> tt1
x=1.0
y =
2
>> tt1
x=2.0
y =
-4
>> tt1
x=2.5
y =
-0.2500
>> tt1
x=3.0
y =
>> tt1
x=5.0
y =
6
2、输入一个百分制成绩,要求输出成绩的等级为A,B,C,D,E。其中90~100分为A,80~89
分为B,70~79分为C,60~69分为D,60分以下为E。
要求:
(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判定该成绩的合理性,对不合理的成绩要输出出错信息。
x=input('x=');
if x>=90&&x<=100
disp('A')
elseif x>=80&&x<90
disp('B')
elseif x>=70&&x<80
disp('C')
elseif x>=60&&x<70
disp('D')
elseif x<60&&x>=0
disp('E')
else disp('error')
end
x=input('x=');
switch x
case num2cell(90:100), disp('A')
case num2cell(80:90), disp('B')
case num2cell(70:80), disp('C')
case num2cell(60:70), disp('D')
case num2cell(0:60), disp('E')
otherwise
disp('error')
end
3、 建立 5×6矩阵,要求输出矩阵的第n 行元素,当n 值超过矩阵的行数时,自动转为输出矩阵最
后一行元素、并给出出错信息。
>> A=[1 2 3 4 5 6;
7 8 9 10 11 12;
13 14 15 16 17 18;
19 20 21 22 23 24;
25 26 27 28 29 30]
n=input('please input n=')
if n>0&n<=5
disp(A(n,:))
elseif n>5
disp(A(end,:))
disp('³¬¹ý×î´óÐÐÊý')
else
disp('error')
end
4、 根据22222
1212111
6n ++++= π求π的近似值。当n 分别取100、1000、10000结果是多
少?
要求:分别用循环结构和向量运算(使用sum 函数)来实现。
n=input('n=');
s=0;
for i=1:n
t=1/(i^2);
s=s+t;
end
p=sqrt(6*s)
>> tt3
n=100
p =
3.1321
>> tt3
n=1000
p =
3.1406
>> tt3
n=10000
p =
3.1415 n=input('n=');
s=0;
i=1:n;
t=1./(i.^2);
s=sum(t);
p=sqrt(6*s)
>> sum
n=100
p =
3.1321
>> sum
n=1000
p =
3.1406
>> sum
n=10000
p =
3.1415
5、 根据121
51
31
1-++++=n y ,求:
(1)3 (2)与(1)的n 对应的y 。 y=0; i=1; while y<3 y=y+1/(2*i-1); i=i+1; end i=i-1 >> tt3 i = 57 y=0; i=1; while y<3 y=y+1/(2*i-1); i=i+1; end y=y-1/(2*i-1) >> tt4 y = 2.9946 6、 一个三位整数各位数字的立方和等于该数的本身则称该数为水仙花数。试输出全部水仙花数。 要求: (1)用循环结构实现。 for i=100:999 a=fix(i/100);