Last active
November 8, 2024 22:08
-
-
Save alejandrocaro36/57bc72ec630e87083e3bb721cc86ffe4 to your computer and use it in GitHub Desktop.
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
entero longitud | |
inicio | |
lNumero <- Verdadero | |
puntoEncontrado <- Falso | |
// Verificar si el primer carácter es un signo menos, más o un dígito | |
Si (((Longitud(cNumero) > 0) Y ((cNumero[1]) = '+'))) O (((Longitud(cNumero) > 0) Y (cNumero[1] = '-'))) Entonces | |
i <- 2 // Comenzar a analizar desde el segundo carácter | |
Sino | |
i <- 1 | |
Fin Si | |
Para i <- i Hasta longitud(cNumero) Haga | |
cDigito <- cNumero[i] | |
Si (cDigito < '0') o (cDigito > '9') Entonces | |
Si cDigito = '.' Entonces | |
// Permitir un solo punto | |
Si puntoEncontrado Entonces | |
lNumero <- Falso | |
retorne lNumero | |
Sino | |
puntoEncontrado <- Verdadero | |
Fin Si | |
Sino | |
lNumero <- Falso | |
retorne lNumero | |
Fin Si | |
Fin Si | |
Fin Para | |
retorne lNumero | |
Fin | |
inicio | |
Repita | |
Escriba "Introduzca un n£mero: " | |
Lea cNumero | |
lNumero <- EsNumero(cNumero) | |
Si no lNumero Entonces | |
Escriba "ERROR: El valor introducido no es un n£mero" | |
llamar nueva_linea | |
Fin Si | |
Hasta lNumero | |
Escriba "El n£mero introducido es: ", cNumero | |
Fin |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment