Skip to content

Instantly share code, notes, and snippets.

View alejandrocaro36's full-sized avatar

Alejandro Hugo Caro Borba alejandrocaro36

View GitHub Profile
@alejandrocaro36
alejandrocaro36 / Ordenar arreglo Inserción.psc
Last active June 26, 2025 16:23
Implementación del algoritmo por de ordenamiento de elementos por inserción en PSeInt estricto, explicando con comentario cada paso, lo cual lo hace muy explicativo y didáctico.
Proceso OrdenarArregloInsercion
Dimension arre[12]; // 12 es el número total de elementos
Definir arre Como Entero;
Definir i, j, temp, pos Como Enteros;
Definir continuar Como Logico;
// Inicializar el arreglo
arre[0] <- 5;
arre[1] <- 3;
arre[2] <- 0;
@alejandrocaro36
alejandrocaro36 / posición Elemento.psc
Last active June 22, 2025 14:47
Implementación de la función posElemento en PSeInt. Dado un arreglo de caracteres y un natural n, la función posElemento devuelva el carácter que ocupa la posición n en la lista. Tiene en cuenta que n es menor o igual que el largo de la lista, sino escribe mensaje. Por ejemplo, posElemento [dfj] 2 = 'g', como está en el ejemplo, base 0
Proceso sin_titulo
Escribir elementoPos("dfg", 2);
FinProceso
SubProceso caracter <- elementoPos(cadena, pos)
Definir caracter Como Caracter;
Si pos >= 0 Y pos <= Longitud(cadena) Entonces
caracter <- Subcadena(cadena, pos, pos);
Sino
caracter <- ""; // Valor por defecto en error
@alejandrocaro36
alejandrocaro36 / Función subcadena.lpp
Created June 19, 2025 17:03
Implementación de la función subcadena en LPP teniendo en cuenta esta definición de subcadena: Subcadena(S,X,Y) Retorna una nueva cadena que consiste en la parte de la cadena S que va desde la posición X hasta la posición Y (incluyendo ambos extremos). Las posiciones utilizan la misma base que los arreglos, 1 ya que los arreglos en LPP empiezan …
cadena[100] texto
cadena[100] sub
funcion subcadena(cadena[100] S, entero X, entero _Y) : cadena[100]
cadena[100] r
entero i, j
inicio
r <- ""
si (X < 1) o (_Y > longitud(S)) o (X > _Y) entonces
retorne ""
@alejandrocaro36
alejandrocaro36 / Función posición
Last active June 22, 2025 14:44
Implementación de la función posición en PSeInt. Dado un carácter y una cadena que contiene números, la función posicion devuelva el índice del primer caracter donde aparece una subcadena en una cadena. Por ejemplo, posicion ("7", "12345678") = 6, como está en el ejemplo, base 0
Proceso sin_titulo
Escribir posicion("7", "12345678");
FinProceso
SubProceso Retorno <- Posicion(subcad, cad)
Definir i, Retorno Como Enteros;
Retorno <- -1;
i <- 0;
Mientras i <= Longitud(cad) - Longitud(subcad) Hacer
@alejandrocaro36
alejandrocaro36 / Función eliminar.psc
Last active June 20, 2025 21:33
Función eliminar, implementada en PSeInt
Proceso sin_titulo
Escribir Eliminar("Lenguaje PSeInt", 0, 9); // Eliminar "Lenguaje "
FinProceso
SubProceso Retorno <- Eliminar(Literal, Indice, Cantidad)
Definir Retorno Como Cadena;
Definir i Como Entero;
// Validación de parámetros
Si Indice < 0 | Indice >= Longitud(Literal) | Cantidad <= 0 Entonces
@alejandrocaro36
alejandrocaro36 / Conversión de bases.psc
Last active June 20, 2025 21:45
Versión simplificada para PSeInt del conversor de bases. Trabaja con las cuatro bases principales (binario, decimal, octal y hexadecimal) y puede hacer conversiones entre todas y cada una de ellas en todas sus combinaciones. Original y ampliado para aceptar octal del original para Visual Basic 6.0
Proceso ConvertidorNumerico
Definir entrada, numero, resultado Como Cadenas;
Definir DeBase, ABase Como Enteros;
Escribir "Ingrese el número a convertir: ";
Leer entrada;
Numero <- entrada;
Escribir "Ingrese la base del número (Binario = 2, Octal = 8, Decimal = 10, Hexadecimal = 16): ";
Leer DeBase;
@alejandrocaro36
alejandrocaro36 / Conversor de bases
Last active November 28, 2024 14:04
Conversor de bases- Permite convertir números a base binario, octal, decimal y hexadecimal. Original y ampliado para aceptar octal para Visual Basic 6.0
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
#include <math.h>
// Function prototypes
char* BinToHex(char* BinStr);
char* DecToBin(double DecNum);
@alejandrocaro36
alejandrocaro36 / validarnumeroFuncion v2.psc
Last active November 9, 2024 00:53
Versión optimizada, reducida y mejorada del programa con un subproceso que valida que un carácter sea un número y en caso de que lo sea lo devuelve a la variable
Proceso sin_titulo
Definir numval, numval2 Como Reales;
Definir sum Como Real;
Escribir '* Ingrese primer número';
numval <- validarNumero();
Escribir '* Ingrese segundo número';
numval2 <- validarNumero();
sum <- numval + numval2;
Escribir sum;
FinProceso
@alejandrocaro36
alejandrocaro36 / Función es dígito.lpp
Last active November 8, 2024 22:08
Programa que implementa una función EsNumero. Esta función recibe un parámetro, cNumero , que deberá ser definido como caracter en el proceso principal, y lo recorre, si se cumple que no es un número, devuelve falso. Esta última versión también contempla que el número ingresado sea negativo, o con punto decimal. Base 0
real nNumero
cadena[100] cNumero // Definimos un tamaño máximo para la cadena
booleano lNumero
entero i
Funcion EsNumero(cadena[100] cNumero) : booleano
caracter cDigito
booleano lNumero
entero i
booleano puntoEncontrado
@alejandrocaro36
alejandrocaro36 / Ahorcado.psc
Created November 1, 2024 21:39
Otro juego del ahorcado
Algoritmo proyecto_2
Definir x,n,a,c,error Como Enteros;
Definir letra,vectorl,vector2 Como Caracteres;
Definir secreta Como Cadena;
Escribir "BIENVENIDOS AL JUEGO DEL AHORCADO";
Escribir "Escriba la palabra secreta";
Leer secreta;
n<-Longitud(secreta);
c<-0;
Dimension vectorl[n],vector2[n];