Algoritmos. ¿Cómo comprobar si un
número es positivo o negativo?
Comprobar si un número es positivo o negativo es una operación muy simple y por
tanto su algoritmo también lo es. No tiene ningún misterio.
Sin embargo, he decidido crear esta entrada en el blog para explicarlo para que aquellos
que estén comenzando, lo aprendan. De todas formas repito: es muy básico.
- ¿El número es mayor que cero? Es positivo.
- ¿El número es menor que cero? Es negativo.
- ¿El número no es ni mayor que cero ni menor? Está claro: es cero.
Y eso es todo. Matemáticas simples. Ahora el pseudocódigo, también simple, por supuesto.
Algoritmo NumeroPositivoNegativo
Definir numero Como Entero
Escribir 'Indique un número: '
Leer numero
Si numero > 0 Entonces
Escribir "El número es positivo."
Sino
Si numero < 0 Entonces
Escribir "El número es negativo."
Sino
Escribir "El número es cero."
Fin Si
Fin Si
FinAlgoritmo
Por supuesto, una vez calculado si el número que introduzca el usuario (o uno que usemos de forma literal) es positivo, negativo o cero, se puede proceder de muy diversas formas con el resultado.
En este ejemplo optamos por imprimir simplemente.
Uso del algoritmo en diferentes lenguajes
El algoritmo se puede implementar en
cualquiera de los lenguajes indicados,
sin embargo, algunos lenguajes ofrecen
alternativas más eficientes.
C y C++
Con C
#include <stdio.h>
int main() {
int numero;
// Solicita al usuario que ingrese un número
printf("Ingresa un número: ");
scanf("%d", &numero);
if (numero > 0) {
printf("El número es positivo.\n");
} else if (numero < 0) {
printf("El número es negativo.\n");
} else {
printf("El número es igual a cero.\n");
}
return 0;
}
Con C++
#include <iostream>
int main() {
int numero;
// Solicita al usuario que ingrese un número
std::cout << "Ingresa un número: ";
std::cin >> numero;
if (numero > 0) {
std::cout << "El número es positivo." << std::endl;
} else if (numero < 0) {
std::cout << "El número es negativo." << std::endl;
} else {
std::cout << "El número es igual a cero." << std::endl;
}
return 0;
}
Java
import java.util.Scanner;
public class VerificarNumero {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingresa un número: ");
int numero = scanner.nextInt();
if (numero > 0) {
System.out.println("El número es positivo.");
} else if (numero < 0) {
System.out.println("El número es negativo.");
} else {
System.out.println("El número es igual a cero.");
}
scanner.close();
}
}
Python
numero = int(input("Ingresa un número: "))
if numero > 0:
print("El número es positivo.")
elif numero < 0:
print("El número es negativo.")
else:
print("El número es igual a cero.")
PHP
Con PHP CLI
<?php
$numero = intval(readline("Ingresa un número: "));
if ($numero > 0) {
echo "El número es positivo." . PHP_EOL;
} elseif ($numero < 0) {
echo "El número es negativo." . PHP_EOL;
} else {
echo "El número es igual a cero." . PHP_EOL;
}
?>
Con PHP Web
<!DOCTYPE html>
<html>
<head>
<title>Verificar Número</title>
</head>
<body>
<h1>Verificar Número</h1>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$numero = intval($_POST["numero"]);
if ($numero > 0) {
echo "El número es positivo.";
} elseif ($numero < 0) {
echo "El número es negativo.";
} else {
echo "El número es igual a cero.";
}
} else {
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label for="numero">Ingresa un número:</label>
<input type="number" name="numero" id="numero" required>
<input type="submit" value="Verificar">
</form>
<?php
}
?>
</body>
</html>
JavaScript
// Solicita al usuario ingresar un número
var numero = prompt("Ingresa un número:");
// Convierte el valor ingresado a un número entero
numero = parseInt(numero);
if (isNaN(numero)) {
console.log("Entrada no válida. Por favor, ingresa un número válido.");
} else {
if (numero > 0) {
console.log("El número es positivo.");
} else if (numero < 0) {
console.log("El número es negativo.");
} else {
console.log("El número es igual a cero.");
}
}
FreePascal
program VerificarNumero;
var
numero: Integer;
begin
Write('Ingresa un número: ');
ReadLn(numero);
if numero > 0 then
WriteLn('El número es positivo.')
else if numero < 0 then
WriteLn('El número es negativo.')
else
WriteLn('El número es igual a cero.');
end.
Harbour, XBase, Clipper
PROCEDURE Main()
LOCAL numero := 0
@ SAY "Ingresa un número: " GET numero
IF numero > 0
? "El número es positivo."
ELSEIF numero < 0
? "El número es negativo."
ELSE
? "El número es igual a cero."
ENDIF
RETURN
0 Comentarios