matlab中代码?

限行规则是:号牌最后一位阿拉伯数字为 1 和 6 的机动车周一限行、2 和 7 的周二限
行、3 和 8 的周三限行、4 和 9 的周四限行、5 和 0 的周五限行。那么请用关系运算、逻辑
运算和字母 ASCII 码设计一个函数,函数内包括提取号牌最后一个数字,限行判断两个功
能,输入参数为任意一个号牌,输出是否限行

【编程思路】根据机动车辆限行规则,

第一步,创建主控程序函数restriction_main()。用于输入车牌号码,并调用限行规则函数 restriction()。

第二步,根据规则自定义限行规则函数 restriction()

第三步,判断输入机动车辆号牌的数是否是7个数字,如不符返回重新运行。可以考虑用if判断语句来实现。

第四步,判断当前日期和星期,通过if判断语句,确定当前日期具体是星期几并显示,如“今天是2024-02-07星期三”

第五步,用char字符函数,提取车牌号码的末位数,作为机动车辆限行依据

第六步,再用if判断语句进一步来判断,并显示,如“浙B71B63,今天是限行的。”

【执行代码】

一、主控程序

function restriction_main()

str=input('请输入车牌号码(如 ‘浙B71B63’):',"s");

restriction(str);

end

二、限行规则函数 restriction()

function restriction(str)

A=double(str); %

n=char(A(:,7));

if n<7 & n>7

disp('输入有误')

return

end

D = datetime("today"); % D = datetime('2024-02-07');

[DayNumber,DayName] = weekday(D);

if DayNumber == 1

str1='星期日';

elseif DayNumber == 2

str1='星期一';

elseif DayNumber == 3

str1='星期二';

elseif  DayNumber == 4

str1='星期三';

elseif  DayNumber == 5

str1='星期四';

elseif  DayNumber == 6

str1='星期五';

elseif  DayNumber == 7

str1='星期六';

end

fprintf('今天是%s%s\n',string(D),str1)

if  and(or(n=='1',n=='6'),DayNumber == 2)

disp([str,',今天是限行的。'])

elseif and(or(n=='2',n=='7'),DayNumber == 3)

disp([str,',今天是限行的。'])

elseif  and(or(n=='3',n=='8'),DayNumber == 4)

disp([str,',今天是限行的。'])

elseif and(or(n=='4',n=='9'),DayNumber == 5)

disp([str,',今天是限行的。'])

elseif and(or(n=='5',n=='0'),DayNumber == 6)

disp([str,'今天是限行的'])

else

disp([str,',今天是不限行的。'])

end

end

【运行效果】

【本题相关的语句和函数命令】

1、if判断语句(或分支语句)。

语法:

If 条件式1

指令组1

elseif  条件式2

指令组2

……

else

指令组k

ens

如果条件式1满足,则执行指令组1,且结束该语句;否则检查条件式2,若满足执行指令组2,且结束该语句;……,若所有条件式都不满足,则执行指令组k,并结束该语句。

2、关系与逻辑运算符。

小于运算符:<;小于等于运算符:<=;大于运算符:>;大于等于运算符:>=;等于运算符:==;不等于运算符:~=;与运算符:& 或and;或运算符:| 或 or;非运算符:~ 或 not

例如:A=-2:4,B=-1:-2

>> A>B  ans=0 0 0 0 1 1 1

>> A==B  ans=0 0 0 1 0 0 0

>> A&B  ans=1 1 0 1 0 1 1

3、input输入函数。

语法:txt = input(prompt,"s") 

返回输入的文本,而不会将输入作为表达式来计算。

4、double 数值转换(ASCII)函数。

语法:Y = double(X) 

将 X 中的值转换为双精度。

5、char字符转换(ASCII)函数。

语法:C = char(A) 

将输入数组 A 转换为字符数组。例如,如果 A 是字符串 "foo",则 c 是字符数组 'foo'。

6、return中断语句。中断执行该程序,回到主调函数或指令窗口

7、datetime日期时间函数

语法:t = datetime(relativeDay) 

使用 relativeDay 指定的日期。relativeDay 输入可以是 'today'、'tomorrow'、'yesterday' 或 'now'。

8、weekday星期函数。

语法:[DayNumber,DayName] = weekday(D) 

还返回 DayName 中星期几的缩写英语名称。

9、disp显示函数

语法:disp(X) 显示变量 X 的值,而不打印变量名称。

10、fprintf打印函数。也可以用作显示函数

语法:fprintf(fileID,formatSpec,A1,...,An)

按列顺序将 formatSpec 应用于数组 A1,...An 的所有元素,并将数据写入到一个文本文件。

11、function 函数文件。

语法:

function 输出变量 = 函数名称(输入变量)

语句内容;

end

温馨提示:答案为网友推荐,仅供参考
相似回答