《计算机辅助工程》期末考试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机辅助工程》期末考试
1.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90~100分为A,80~
89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:
(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
clear;
clc; close all;
c=input('成绩');
if c>=90&&c<=100
disp('A');
elseif c>=80&&c<=89;
disp('B');
elseif c>=70&&c<=79
disp('C');
elseif c>=60&&c<=69
disp('D');
elseif c<60
disp('E');
else
disp('成绩错误');
end
m=input('成绩');
m=fix(m/10);
switch m
case{10,9}
disp('A');
case 8
disp('B');
case 7
disp('C');
case 6
disp('D');
case {5,4,3,2,1,0}
disp('E');
otherwise
disp('成绩错误')
end
2.从键盘输入一个4位整数,按如下规则加密后输出。
加密规则:每位数字都加上7,然后
用和除以10的余数取代该数字;然后将第一位数与第三位数互换,第二位数与第四位数互换。
a=input('输入四位整数');
a1=fix(a/1000);
a2=rem(fix(a/100),10);
a3=rem(rem(fix(a/10),100),10);
a4=rem(a,10);
a1=rem(a1+7,10);
a2=rem(a2+7,10);
a3=rem(a3+7,10);
a4=rem(a4+7,10);
b1=a1;a1=a3;a3=b1;
b2=a2;a2=a4;a4=b2;
b=a1*1000+a2*100+a3*10+a4;
disp('结果');disp(b);
3.若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对,该素数是亲密
素数。
例如,2×3-l=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。
求[2,50]区间内:
(1)亲密数对的对数。
(2)与上述亲密数对对应的所有亲密素数之和x1=2;z=0;sum=0;
while(x1<=49)
x2=x1+1;
y=x1*x2-1;
x1=x1+1;
for i=2:y-1
if y==1;y==2;
n=1;
elseif 0==rem(y,i)
n=0;
%(不是)
break
elseif i==y-1
n=1;
%(是)
switch n
case 1
sum=sum+y;
z=z+1;
end
end
end
end
sum
z。
4.一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称之为绝对素数。
例如
13是绝对素数。
试求所有两位绝对素数。
要求:定义一个判断素数的函数文件。
for x=10:1:99
x1=fix(x/10);
x2=x-x1*10;
x;
y=x2*10+x1;
if y==1;y==2;
n2=1;
end
for i=2:x-1
if 0==rem(x,i)
n1=0;
%(不是)
break
elseif i==x-1
n1=1;
%(是)
end
end
for i=2:y-1
if 0==rem(y,i)
n2=0;
%(不是)
break
elseif i==y-1
n2=1;
%(是)
end
end
n=n1+n2;
if n==2
disp(x)
end
end
5.结合当前的学习生活,给出一个你最感兴趣的MATLAB实例,并给出程序运行截图和代
码解释。
Today=input('请输入1-7的数字:');
switch Today
case 1
fprintf('今天是周一\n')
case 2
fprintf('今天是周二\n')
case 3
fprintf('今天是周三\n')
case 4
fprintf('今天是周四\n')
case 5
fprintf('今天是周五\n')
case 6
fprintf('今天是周六\n')
case 7
fprintf('今天是周日\n') otherwise
fprintf('您输入的数字有误!\n')
end。