viple进阶3:打印不同形状的三角形
(1)题目:打印实心的三角形(正三角)

第一步:观察图形。首行是1颗星,其余的每一行都比上一行多1颗星;其次,每一行的星号数和行数值相等,第一行有1颗星,第二行有2颗星,以此类推,第n行有n颗星。
第二步:设计方案。根据进阶1的经验,可以先封装一个自定义活动printN,用来实现传入行数n,则打印n颗星。其次,主程序中编写循环,数出当前是第几行,将行数传给自定义活动即可。
第三步:实现。
首先实现自定义活动。需要传递行数,所以,首先进入自定义活动中创建形式参数。

紧接着编写逻辑,循环n遍,每一遍都拼接上一颗星,循环结束后,拼接出n颗星并打印。

紧接着先测试该自定义活动是否能准确运行,测试输入任意一个值(大于0的整数),查看打印出来的星号数是否等于输入的数。如果相等,则可以进行下一步。



其次实现Main程序:编写循环,对行数进行计数,从1开始数。

发现结果只打印了一颗星,也就是第二行没有打印出来。
查找问题:i=1,i<=5成立,进入自定义活动,然后打印后,就可以工作流出来,所以后续的程序都没有执行。
于是,把工作流连通,也就是下图标记为1的地方对应的连线(完整的自定义活动)。

再次运行查看测试结果。

将Main中的state.i<=5改为state.i<=10,再次测试观察结果。

程序完成,没有什么问题了。
当然,i也可以从0开始数,那么,第0行打印1颗星,第1行打印2颗星,以此类推,可以找到规律,第n行打印n+1颗星,传递参数的时候,就先计算出n+1再传递给自定义活动即可。

最后进行测试
(2)题目:viple打印实心三角形(倒三角)

第一步:观察图形。一共有5行,第一行打印5颗星;第二行打印4颗星,以此类推,第n(最大取值为5)行打印的星号数是5-n。
第二步:设计方案: 根据进阶1的经验,可以先封装一个自定义活动printN,用来实现传入数据n,则打印n颗星。其次,主程序中编写循环,数出当前是第几行,通过计算出第i行需要打印5-i颗星,将计算结果直接传递给自定义活动即可。
第三步:实现。
自定义活动和上面的【完整的自定义活动】一样,这里直接给出

Main程序:根据设计方案,需要先计算出第i行要打印的星号数是5-i,再传入自定义活动。

还可以将5改为10,再测试打印效果:

还有一种比较便捷的打印方法:观察到低一行打印5颗星,那么,让i的值从5开始,
第二行打印4颗星,就让i的值-1,再传入自定义活动。

(3)题目:viple打印实心三角形(倒三角2)

观察图形,发现第0行打印5颗星,第1行打印4颗星,第4行打印1颗星,如果行数是i,则星号数是5-i
其次,第0行看不出空格,可能是0个,第1行有1个空格,第2行有2个,以此类推,第4行有4个空格,如果行数是i,则空格数等于i
最后,每一行都是先打印空格再打印星号数。
设计方案:设计自定义活动,并且需要两个形式参数,分别表示空格数和打印的星号数。
自定义活动中:

Main中,循环数出行数,再通过行数计算出该行应该有多少个空格,多少个星号,将这两个参数传入自定义活动即可

(4)题目:viple打印实心三角形(正三角)

观察图形找规律,第0行,有2个空格,1个星号
第1行,有1个空格,1个星号
第2行,有0个空格,3个星号
如果行数为i,则空格数时2-i,星号数是i+1
自定义活动

Main中:

相关文章:
viple进阶3:打印不同形状的三角形
(1)题目:打印实心的三角形(正三角) 第一步:观察图形。首行是1颗星,其余的每一行都比上一行多1颗星;其次,每一行的星号数和行数值相等,第一行有1颗星ÿ…...
pytest+yaml实现接口自动化框架
前言 httprunner 用 yaml 文件实现接口自动化框架很好用,最近在看 pytest 框架,于是参考 httprunner的用例格式,写了一个差不多的 pytest 版的简易框架 项目结构设计 项目结构完全符合 pytest 的项目结构,pytest 是查找 test_.…...
编译器使用优化后出现的busfault
遇到的问题: 未开优化是正常执行,打开优化,无法运行,定位到异常语句 //ADC_REG 是ADC结果寄存器地址 uint32 adc *(uint32 *)ADC_REG; uint32 temp adc&0xffff;未优化汇编代码 //uint32 adc *(uint32*)ADC_REG; MOVW R…...
rebase current onto selected作用
rebase current onto selected作用 "rebase current onto selected"是一个版本控制工具中的命令,通常用于将当前分支的修改合并到已选定的分支中,以保持代码库的整洁性和可维护性。 具体来说,这个命令会将当前分支的提交历史记录…...
深度学习入门
全连接批量归一化 目的是:只有一个学习率, 通过归一化,让所有的 x i x_i xi具有一样的分布,则对每个参数 w i w_i wi梯度的作用是相当的实现是:实际上是在全连接中增加了两个节点 γ \gamma γ, β \beta β 卷积…...
嵌入式图像处理机器视觉库YMCV使用
YMCV入门 一个可以免操作系统的机器视觉库,由c语言编写可以跑在单片机上。项目地址https://gitee.com/yao_mi/ymcv 使用的时候,可以参考他们的教程和demo,建议先看教程,上面有架构说明。 一个典型的应用就是渲染器,需…...
vscode设置pycharm中的项目路径和debug方法
真大佬在这 真大佬在这 必须给大佬star 命令行运行: export PYTHONPATH:pwd:/home/bennie/bennie/bennie_project/AI_Lab python main.py 当关闭此命令行时,临时路径会清除,可以将上述export的整条语句,加入~/.bashrc中 该命令中…...
10-27 maven概念
maven maven的概念模型: 项目对象模型(POM: Project object Model),一组标准集合: pom.xml 依赖管理系统(Dependency Management System) 项目生命周期(Project Lifecycle) 项目对象模型: 把项目当成一个对象,描述这个项目,使用p…...
SQL审计是什么意思?目的是什么?有什么好处?
很多刚入行的运维小伙伴对于SQL审计不是很了解,不知道其是什么意思?使用SQL审计的目的是什么?使用SQL审计的好处有哪些?这里我们大家就来一起聊聊,仅供参考哈! SQL审计是什么意思? 【回答】&…...
CSS 网页布局
网页布局有很多种方式,一般分为以下几个部分:头部区域、菜单导航区域、内容区域、底部区域: 1)、头部区域位于整个网页的顶部,一般用于设置网页的标题或者网页的logo。 <style> body { margin: 0; } /* 头部样…...
智慧燃气管网监测系统功能简要介绍
关键词:智慧燃气、智慧燃气管网、智慧燃气管网监测、智慧燃气管网监测系统、智慧燃气解决方案 燃气作为城市主要燃料,遍布整个城区,其安全运行直接关系到居民的生命安全,不可不重视。 智慧燃气中的GIS和SCADA系统,可…...
深度解析:如何开发一对一交友App的关键要素和流程
在数字化时代,人们越来越倾向于使用交友App来寻找自己的伴侣或交流朋友。而一对一交友App的开发成为了创业者们追逐的热门领域。本文将深入探讨一对一交友App开发的关键要素和流程,帮助您在竞争激烈的市场中脱颖而出。 关键要素:打造独特的用…...
ClickHouse 学习之从高级到监控以及备份(二)
第 一 部分 高级篇 第 1 章 Explain 查看执行计划 在 clickhouse 20.6 版本之前要查看 SQL 语句的执行计划需要设置日志级别为 trace 才能可以看到,并且只能真正执行 sql,在执行日志里面查看。在 20.6 版本引入了原生的执行计划的语法。在 20.6.3 版本成…...
「随笔」IT行业哪个方向比较好就业
一、IT行业就业的PEST分析 在当前的全球经济环境下,IT行业的发展迅速,就业前景广阔。以下从政治、经济、社会和科技四个维度对IT行业就业进行PEST分析。 1.1 政治(Political) 政府政策:近年来,各国政府都…...
Halcon WPF 开发学习笔记(0):开篇介绍
文章目录 文章专栏Halcon是什么?安装教学视频链接简单来说 Halcon快速开发环境确认新建项目 文章专栏 Halcon开发 Halcon是什么? 史上最全VisionPro和Halcon 的详细对比 Halcon简述 Halcon基础大全(基础算子、高阶算子、数组、分割、字符检测…...
SLAM中求导相关的公式总结
李代数与李群的关系 R ˙ R T \dot{R}R^{T} R˙RT 是一个反对称矩阵,所以这个矩阵可以用一个13向量进行反对称来表示 R ˙ R T Φ ^ \dot{R}R^{T}Φ^{\hat{}} R˙RTΦ^ , 根据十四讲 4.8 的推导,最后则有 R ( t ) ˙ Φ ^ ⋅ R ( t ) \d…...
在微信小程序中怎么做投票活动
在当今社交媒体时代,微信小程序已经成为一种广泛使用的互动营销工具。通过各种活动,企业可以吸引用户的关注,提升品牌影响力。其中,投票活动是一种特别受欢迎的形式。本文将为你详细介绍如何在微信小程序中创建投票活动。 一、微信…...
如何使用 NFTScan NFT API 在 Arbitrum 网络上开发 Web3 应用
Arbitrum 是以太坊的 Layer 2 扩容方案,为以太坊面临的高 gas 费和网络拥堵问题,提供了一个解决方案。作为 Layer 1 的以太坊基础层受每秒只能验算 15 笔交易的限制,在目前以太坊使用需求庞大的情况下,局限了以太坊的可扩展性。Ar…...
线上问题排查方法
查看栈信息 先进入docker容器,docker exec -it 容器号 bash *查看线程占用排行top -Hp 1,此处PID为线程号 查看各线程情况jstack -l 1 可以将栈信息生成文件jstack -l 1 > 2.log 查看对应线程号的信息,比如要看线程号PID是28的,那么28的16进制是1C,则检索栈文件里ox1…...
智能柜+MRO:制造业中的自动售货机
每当谈及企业数字化转型,多数人想到的是人工智能、大数据等高端技术的应用,或是原有业务流程和运营方式的数字化与自动化,实现大幅降本增效等。然而,对于急需在数字时代找到生存之道的企业来说,数字化转型的要求远不止…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
高分辨率图像合成归一化流扩展
大家读完觉得有帮助记得关注和点赞!!! 1 摘要 我们提出了STARFlow,一种基于归一化流的可扩展生成模型,它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流(TARFlow&am…...
