美文网首页
shell脚本实现图形打印(三角形 平行四边形等)

shell脚本实现图形打印(三角形 平行四边形等)

作者: cctN | 来源:发表于2020-06-29 22:02 被阅读0次

1.首先先引入一个使用 “”打印一个55的图形 如图:

image.png

实现如下

   for((i=0;i<5;i++));do  
   line="";ch="\x2a"  
   for((j=0;j<5;j++));do  
     line=$line$ch  
   done  
   echo -e $line  
done 

2.然后打印一个左直角三角形 如图

image.png

解题思路 定义一个坐标系 x<=y的时候 输出 *


for((y=0;y<5;y++));do
   line="";ch="\x2a"
   for((x=0;x<=y;x++));do
     line=$line$ch
   done
   echo -e $line
done

3.打印一个倒左直角三角形 如图

image.png

解题思路:当x+y<5的时候输出 *

for((y=0;y<5;y++));do
   line="";ch="\x2a"
   for((x=0;x+y<5;x++));do
     line=$line$ch
   done
   echo -e $line
done

4.打印一个右直角三角形 如图:

image.png

解题思路 :第一行首次输出 * 的坐标在(4,0)第二行在(3,1)...第五行在(0,4),观察可得,x+y=4的时候开始输出 * 其余输出空格
实现如下

for((y=0;y<5;y++));do
   line="";ch="\x20"
   for((x=0;x<5;x++));do
    if((x+y==4));then
     ch="\x2a"
    fi
     line=$line$ch
   done
   echo -e $line
done

5.打印一个倒右直角三角形 如图 :

image.png

解题思路 :当x==y的时候开始输出 *
实现如下

for((y=0;y<5;y++));do
   line="";ch="\x20"
   for((x=0;x<5;x++));do
    if((x==y));then
     ch="\x2a"
    fi
     line=$line$ch
   done
   echo -e $line
done

6. 打印一个等腰三角形 如图

image.png

解题思路 :x起始点往左偏移,终止点往右增加,同时起始点以左分量为开始值,右分量为结束值,所以定义左右分量,每循环一次,left--,right++
实现如下:

left=5;right=5
for((y=0;y<5;y++));do
 line="";ch="\x20"
 for((x=0;x<=right;x++));do
   if((x==left));then
     ch="\x2a"
   fi
   line=$line$ch
 done
 echo -e $line
 ((left--));((right++))
done

7.平移 如图:

image.png

解题思路:将左右分量变大,然后思路同上题
实现

 left=40;right=40
 for((y=0;y<5;y++));do
   line="";ch="\x20"
   for((x=0;x<=right;x++));do
     if((x==left));then
       ch="\x2a"
     fi
     line=$line$ch
   done
   echo -e $line
   ((left--));((right++))
 done

8.打印一个平行四边形,如图

image.png

解题思路:left和right不相等,引入左右偏移量(ldlt和rdlt)当x开始等于left时,输出 * ,大于right时停止输出,每次循环过后,left和right进行偏移

 left=40;right=50;ldlt=-4;rdlt=-4
 for((y=0;y<5;y++));do
   line="";ch="\x20"
   for((x=0;x<=right;x++));do
     if((x==left));then
       ch="\x2a"
     fi
     line=$line$ch
   done
   echo -e $line
   ((left+=ldlt));((right+=rdlt))
 done

9.打印一个等腰梯形 如图:

image.png

解题思路:left和right不相等,引入偏移量,左右偏移量相等,当x开始等于left时,输出 * ,大于right时停止输出,每次循环过后,left和right进行偏移
实现

 left=30;right=50;dlt=2
 for((y=0;y<5;y++));do
   line="";ch="\x20"
   for((x=0;x<=right;x++));do
     if((x==left));then
       ch="\x2a"
     fi
     line=$line$ch
   done
   echo -e $line
   ((left-=dlt));((right+=dlt))
 done

相关文章

  • shell脚本实现图形打印(三角形 平行四边形等)

    1.首先先引入一个使用 “”打印一个55的图形 如图: 实现如下 2.然后打印一个左直角三角形 如图 解题思路 定...

  • Objective-C打印图形

    1.打印三角形 初学C语言时,熟悉编程思维的一种方式就是在终端上打印图形。此处给出OC的实现方式,主要打印三角形与...

  • 每天学习一个shell技能 (3)

    每天学习一个shell技能 (3) shell参数传递 我们可以在脚本执行时,向脚本传递参数 打印结果: 打印结果:

  • shell打印图形

    闲来无事来一发,你皮任你皮。 效果展示

  • shell编程-交互 脚本菜单

    shell编程交互 脚本菜单 shell脚本的交互最常用的方式是使用菜单,通常是echo打印菜单出来。 上面的脚本...

  • 活学活用,克服难题

    小水晶上周学习了认识图形,大家能够直观认识长方形、正方形、三角形、平行四边形和圆等常见的平面图形,也了解了这些...

  • 2019-01-24

    1.通过观察和操作活动,直观认识长方形,正方形,三角形,平行四边形和圆等常见的平面图形,知道这些图形的名称,并能辨...

  • Shell脚本判断是否安装某个插件

    例如用shell脚本判断是否安装了jq 未安装情况,运行后终端打印 安装后再次运行脚本终端打印

  • Linux随记

    shell: shell第一行为#!/bin/bash或#!/bin/sh 如果想要打印shell脚本中的每条命令...

  • 巧用转化进行图形操作

    学完《图形的放大和缩小后》,绝大多数同学都能对长方形、正方形、直角三角形等图形进行正确的操作,但一遇到平行四边形以...

网友评论

      本文标题:shell脚本实现图形打印(三角形 平行四边形等)

      本文链接:https://www.haomeiwen.com/subject/rbnafktx.html