viernes, 13 de diciembre de 2019

Creando una mariposa en PSeInt

En esta ocasión se muestra el código para crear una figura de una "mariposa" empleando el caracter "@", se puede realizar con otro caracter como el "*" o"#".

Código completo


Proceso Mariposa
   Definir cade Como Caracter 
   Escribir "Ingrese el tamaño"
   Leer ta
   Para i <- 1 Hasta ta Con Paso 1 Hacer
     cade<-""
     Para j<-1 Hasta ta Con Paso 1 Hacer
       Si i<=ta/2 Entonces    
         Si j<=i o j>ta-i Entonces
           cade<-cade+"@"
         SiNo
           cade<-cade+" "
         FinSi
       SiNo
         Si j>i o j<=ta-i Entonces
           cade<-cade+"@"
         SiNo
           cade<-cade+" "
         FinSi
       FinSi   
     FinPara
     Escribir cade
   FinPara
FinProceso


Variables


Tenemos dos variables que son "cade" y "ta", estas representan a cada línea de la mariposa (horizontal) y el tamaño que tendrá la mariposa respectivamente. Al ser "ta" una variable de entrada, se deben de leer. Por ello le pedimos al usuario que indique el tamaño, si el usuario coloca 6 tendrá una mariposa que tiene 6 filas por 6 columnas, si coloca 10 tendrá una de 10 columnas por 10 filas y así sucesivamente. Por ello, tenemos dos estructuras repetitivas "PARA" una dentro de otra.

Proceso


En cada ciclo (que representa cada fila) se reinicia la variable "cade", para que sea reescrita en cada iteración. En cada columna se valida si supera o no al tamaño medio (ta/2), en el primer condicional se evalúa posteriormente que vaya del inicio subiendo de uno en uno o desde el final retrocediendo de uno en uno y en esos casos se escribe una "@", caso contrario se escriben espacios en blanco (" ").

Luego que supera a la mitad de filas se debe replantear al condicional con otro que hace lo opuesto del anterior, va escribiendo filas con "@" y cada vez más espacios en blanco en medio y eso genera la mariposa final.

No hay comentarios:

Publicar un comentario

Ejercicio con PseInt usando funciones

Las funciones dentro de PseInt se pueden crear mediante la palabra reservada SubProceso, SubAlgortimo o Función. Esto dependerá del estilo d...