Raptor-打印符号图形

1.问题提出

Raptor中,有时候我们要求在控制台输出一些符号图形,如符号三角形,符号菱形等等。如下图所示:

  • 三角形
    这里写图片描述

  • 菱形
    这里写图片描述

这篇教程中,我给出一个我的实现思路和一个拓展应用,打印三角形的QQ表情,像下面这样:

这里写图片描述

2.实现思路及结果展示

  • 三角形
    我们以打印n=10层三角形为例子
  1. 首先我们考虑这个图形一定要用到循环结构的,我们定义一个循环变量i,i从1到10,每一层的个数为2i-1个

  2. 同时我们发现,从第10行开始看,最左边的*距离控制台最左边为0个空格,第九行最左边的*距离控制台最左侧为1个空格,……,第一行最左边的*距离控制台最左侧为9个空格,因此我们得到一个关系,第i行前面空格应该有10-i个

  3. 这样我们就知道了,对于没一行来说,前面应该输出10-i个空格,紧接着应该输出2i-1个,然后再输出一个换行

  4. 为了简化程序流程,我们编写一个子程序print_string(in num, in str),把str这个字符串重复打印num次,实现如下:

这里写图片描述

    5.然后就是在主程序里面调用了,我们看一下流程图和结果

这里写图片描述

  • 菱形
  1. 数学上的表达式是这样的|x|+|y|=n,我们x-y平面能得到-n<=x<=n, -n<=y<=n的一个菱形,如下图所示:

这里写图片描述

  1. 在Raptor中,我们形式的表示x-y轴,因为输出是从上到下,从左到右的,我们假定从上到下是从y轴正半轴过渡到负半轴,从左到右是从x轴负半轴过渡到正半轴,如下图所示:

这里写图片描述

  1. 因此,我们的外层循环就应该代表y轴,内层循环就应该代表x轴

  2. 满足条件的我们打印*,不满足的打印空格

  3. 程序如下:

第一部分:
这里写图片描述

第二部分:
这里写图片描述

  • QQ表情
  1. 这个原理跟打印三角形的是一样的,只不过把*改成QQ表情的代码就好了,表情代码这样看
    这里写图片描述

  2. 我们使用/xyx来替代*,并把前面填充的替换成相应个数的空格就好

  3. 我们把控制台上的结果复制到QQ中
    这里写图片描述

  4. 然后就能发送给别人了,注意,手机屏幕比较小,如果行数太多的话,可能不能正常显示,在电脑上显示如下:
    这里写图片描述

  5. 程序如下:
    这里写图片描述


以上就是关于在Raptor控制台中打印符号图形的教学,如果需要程序,需要代做或者有其他什么问题请联系QQ545030769

  • 12
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏雪无痕是个小疯子

您的鼓励将促使我的创作更有价值

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值