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.
  1. ¿El número es mayor que cero? Es positivo.
  2. ¿El número es menor que cero? Es negativo.
  3. ¿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