编程打印下列图案:按下图规律输出图形(使用循环语句实现)?
题主给出的图案,如用matlab来做的话,可以这样来处理。
1、分析给出的图案,可以找到其图形输出规律,即
n=2k-1 %图形递减或递增
2、利用for循环语句,计算图形输出位置【x,y】值
3、使用plot函数绘制图形符号,由于matlab暂时无法显示'$'符号,用'□'来替代,即
plot(x,y,'gs')
4、实现代码
clc
for k=[1 2 3 4 5]
n=(2*k-1);
y=k;
for i=1:n
x=i;
plot(x,y,'gs','LineWidth',2,'MarkerSize',10,'MarkerEdgeColor','b','MarkerFaceColor',[0.5,0.5,0.5]),hold on
end
end
for k=[4 3 2 1]
n=(2*k-1);
y=10-k;
for i=1:n
x=i;
plot(x,y,'gs','LineWidth',2,'MarkerSize',10,'MarkerEdgeColor','b','MarkerFaceColor',[0.5,0.5,0.5]),hold on
end
end
axis off
5、运行效果如下所示。