首页天道酬勤()

()

admin 12-04 16:54 243次浏览

程序结构设计

程序的三个基本结构:序列结构、选择结构和循环结构。

1.序列结构的编程是最简单的,只要把对应的语句按照解决问题的顺序写就行了,而且它的执行顺序是从上到下,其次是执行。

(1)数据输入:

A=输入('请输入变量A的值:')

请输入变量A的值:100。

A=

100

(2)数据输出:

s=' Hello World

显示

你好世界

a=[1 2 3;4 5 6];

显示(a)

1 2 3

4 5 6

(3)节目暂停

暂停(以秒为单位的延迟)要强制停止程序,请使用Ctrl-C命令。

示例:

a=输入(' a=');

b=输入(' b=');

c=a 0.618 *(B- a);

s=ABS(a-b);

显示

显示(c)

a=1 i

b=4.5 4.5i

4.9497

3.1630 3.1630i

第二,使用if语句实现选择结构:

1.单分支if语句:条件结构为标量时,非零表示条件有效,零表示条件无效;当条件为矩阵时,如果矩阵非空且不包含零元素,则条件成立,否则不成立。例如:[1 2;当0]表示条件时,该条件无效;[1 2;3]当条件被表达时,条件成立。

2.双分支if语句:(if else)

例1:输入一个整数,如果是奇数,输出其平方根,否则输出其立方根。

x=输入('请输入x的值:')

如果rem(x,2)=1

y=sqrt(x);

其他

y=x^(1/3);

结束

y

3.多分支if语句(if elseif elseif else)

示例:输入一个字符,如果是大写字母,输出其对应的小写字母;如果是小写字母,输出其对应的大写字母;如果是数字字符,则输出其对应数字的平方;如果是其他字符,将按原样输出。

c=输入('请输入一个字符:',' s ');

如果c='A'c='Z '

disp(下(c))

elseif c='a'c='z '

显示(上(c))

elseif c='0'c='9 '

disp(str2double(c)^2)

其他

显示(c)

结束

第二,使用switch语句实现选择结构

例如:输入一个英语单词来确定它是否以元音开头。

方法1:

c=输入('请输入一个单词:',' s ');

开关c(1)

大小写{'a ',' E ',' I ',' O ',' U ',' A ',' E ',' I ',' O ',' U'}

Disp([c,'以元音']开头);

否则

Disp([c,'不以元音']开头);

结束

方法2:

c=输入('请输入任意单词:',' s ');

如果findstr(c(1),' aeiouaiou ')0

Disp([c,'以元音']开头);

其他

Disp([c,'不以元音']开头);

结束

例2:

PM2.5是指直径小于或等于2.5微米的气载颗粒物,是空气质量的重要指标。假设空气质量等级以PM2.5为基准分为6个等级,PM2.5值在[0,35]为优,在[35,75]为良,在[75,115]为轻度污染,在[115,150]为中度污染,在[150,250]为重度污染。编写程序,输入PM2.5值,输出空气质量等级。

回答:

g=输入('请输入PM2.5的值:');

开关固定(g)

case num2cell(0:34)

Disp('优秀空气质量');

case num2cell(35:74)

Disp('空气质量好');

case num2cell(75:114)

Disp('空气质量轻度污染');

案例号2cell(115:149)

Disp('空气质量中度污染');

案例号2cell(150:249)

Disp('空气质量严重污染');

否则

Disp('严重空气污染');

/p>

end

三、用for语句实现循环结构:

格式:

for 循环变量=表达式1(初值):表达式2(步长):表达式3(终值)

循环体语句

end

说明:

for语句针对向量的每一个元素执行一次循环体。

退出循环之后,循环变量的值就是向量中最后的元素值。

当向量为空时,循环体一次也不执行。

例题:计算圆周率:

(蒙特卡洛法)

s=0;

n=input('n=');

for n=1:n

x=rand(1);

y=rand(1);

if (x*x+y*y<1)

s=s+1;

end

end

pai=s/n*4

按照MATLAB的定义,for语句的循环变量也可以是一个列向量,其格式为:

for循环变量=矩阵表达式

循环体语句

end

用while语句实现循环结构:

格式:

while条件

循环体语句

end

例一:从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。

x=input('请输入数据:');

s=0;

i=1;

while(x~=0)

s=s+x;

p=s/i;

i=i+1;

x=input('请输入数据:');

end

s

p

while语句多用于循环次数不确定的情况,而对于循环次数确定的情况,使用for语句更为方便。

针对不同情况可以选择不同的循环语句,但从功能上讲两种循环语句可以相互替代。

补充:

break语句和continue语句:

break语句用来跳出循环体,结束整个循环。

continue语句用来结束本次循环,接着进行下一次是否执行循环的判断。

例题:求[100,200]之间第一个能被21整除的整数。

for n=100:200

if rem(n,21)~=0

continue

end

n

break

end

如果一个循环结构的循环体又包含一个循环结构,就称为循环的嵌套,或称为多重循环结构。

例题:用筛选法thdkh自然数范围内的全部素数。

分析:筛选法求素数的基本思想是要找出2~m之间的全部素数,首先在2~m中划去2的倍数(不包括2),然后划去3的倍数(不包括3),由于4已被划去,再找5的倍数(不包括5),……,直到再划去不超过 的倍数,剩下的就都是素数。

m=input('m=');

p=1:m;

p(1)=0;

for i=2:sqrt(m)

for j=2*i:i:m

p(j)=0;

end

end

n=find(p~=0);

p(n)

怎么使用Java实现多层文件夹压缩功能Vue自定义指令中无法获取this如何解决#yyds干货盘点#Redis之Pub/Sub
遥感茶的半方差函数(半方差定义) 路由器防火墙等级(路由器内置防火墙)
相关内容