logotipo Blog Giovani Da Cruz
Algoritmos com Se, Senão e Caso

Exercício: classificar em zero, positivo ou negativo

8 min de leitura 601 visualizações

Algoritmos testes if-else-if

Fala galera da programação, tudo beleza? Novo algoritmo na área com o tema desvio condicional.

Hoje vamos explorar uma variedade de linguagens de programação! 🚀 Comparando diferentes abordagens para resolver um problema simples: determinar se um número é zero, positivo ou negativo. Da sintaxe às estruturas condicionais, mergulhamos na essência de cada linguagem.

 

O que podemos aprender?

Lógica de Programação: Ao criar um programa simples para verificar se um número é zero, positivo ou negativo, praticamos conceitos básicos de lógica de programação, como estruturas condicionais e entrada/saída de dados.

Conversão de Tipos de Dados: Em algumas linguagens, como Python e Rust, é necessário converter a entrada do usuário de uma string para um tipo de dados numérico, como inteiro, usando funções como int() (Python) ou parse (Rust).

Diferenças entre Linguagens de Programação: Ao escrever o mesmo programa em várias linguagens, podemos observar as diferenças na sintaxe, nas convenções de nomenclatura e nas formas de entrada/saída de dados entre as linguagens.

Prática de Codificação: Este exercício oferece uma oportunidade de praticar a escrita de código em diferentes linguagens, o que é útil para desenvolver habilidades de codificação e familiaridade com diversas linguagens de programação.

 

Vamos aos códigos!

 

Exemplo em C++

#include <iostream>
using namespace std;

int main() {
    int numero;

    // Solicita ao usuário que insira um número
    cout << "Digite um numero: ";
    cin >> numero;

    // Verifica se o número é zero, positivo ou negativo e imprime a mensagem correspondente
    if (numero == 0) {
        cout << "Zero" << endl;
    } else if (numero > 0) {
        cout << "Positivo" << endl;
    } else {
        cout << "Negativo" << endl;
    }

    return 0;
}

Este programa solicitará ao usuário que insira um número, e então irá determinar se é zero, positivo ou negativo, e imprimirá a mensagem correspondente.

A estratégia utilizada para resolver esse exercício é bastante simples. Aqui está uma explicação passo a passo:

  1. Solicitação de Entrada: O programa começa solicitando ao usuário que insira um número.
  2. Leitura da Entrada: Em seguida, o programa lê o número inserido pelo usuário e armazena-o em uma variável.
  3. Verificação: O programa verifica se o número é zero, positivo ou negativo.
  4. Impressão da Mensagem Correspondente: Dependendo do resultado da verificação, o programa imprime a mensagem “Zero”, “Positivo” ou “Negativo”.
  5. Fim do Programa: O programa termina.

Essencialmente, a estratégia é baseada em uma estrutura condicional (if-else) que compara o número inserido com zero e determina se é positivo ou negativo, e então imprime a mensagem correspondente.

 

Exemplo em C

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
#include <stdio.h>

int main() {
    int numero;

    // Solicita ao usuário que insira um número
    printf("Digite um numero: ");
    scanf("%d", &numero);

    // Verifica se o número é zero, positivo ou negativo e imprime a mensagem correspondente
    if (numero == 0) {
        printf("Zero\n");
    } else if (numero > 0) {
        printf("Positivo\n");
    } else {
        printf("Negativo\n");
    }

    return 0;
}

Neste programa em C, a lógica é a mesma que expliquei anteriormente para o programa em C++. Ele solicita ao usuário que insira um número, lê o número inserido, verifica se é zero, positivo ou negativo e imprime a mensagem correspondente.

No exemplo em C, a entrada de dados é realizada com a função scanf e a saída com printf, enquanto em C++, são utilizados cin e cout.

 

Exemplo em Pascal / Delphi / Lazarus

{

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

}
program VerificarNumero;
var
  numero: integer;

begin
  // Solicita ao usuário que insira um número
  writeln('Digite um numero: ');
  readln(numero);

  // Verifica se o número é zero, positivo ou negativo e imprime a mensagem correspondente
  if numero = 0 then
    writeln('Zero')
  else if numero > 0 then
    writeln('Positivo')
  else
    writeln('Negativo');
end.

Neste programa em Pascal, a lógica é a mesma que expliquei anteriormente para os programas em C e C++. Ele solicita ao usuário que insira um número, lê o número inserido, verifica se é zero, positivo ou negativo e imprime a mensagem correspondente.

Lembrando que em Pascal, as variáveis são declaradas com var, e a entrada/saída é feita com readln e writeln. As estruturas condicionais utilizam if, else, e os blocos são delimitados por begin e end.

 

Exemplo em Python

'''

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

'''
# Solicita ao usuário que insira um número
numero = int(input("Digite um número: "))

# Verifica se o número é zero, positivo ou negativo e imprime a mensagem correspondente
if numero == 0:
    print("Zero")
elif numero > 0:
    print("Positivo")
else:
    print("Negativo")

Em Python, a entrada é feita com a função input, que retorna uma string, então usamos int() para converter essa string em um número inteiro. A estrutura condicional é semelhante à do C/C++, mas em Python, não precisamos de parênteses e usamos : para indicar o início de um bloco de código. A função print é usada para exibir mensagens na tela.

 

Exemplo em C#

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
using System;

class Program
{
    static void Main(string[] args)
    {
        // Solicita ao usuário que insira um número
        Console.Write("Digite um número: ");
        int numero = Convert.ToInt32(Console.ReadLine());

        // Verifica se o número é zero, positivo ou negativo e imprime a mensagem correspondente
        if (numero == 0)
        {
            Console.WriteLine("Zero");
        }
        else if (numero > 0)
        {
            Console.WriteLine("Positivo");
        }
        else
        {
            Console.WriteLine("Negativo");
        }
    }
}

Em C#, a entrada é feita usando Console.ReadLine() para obter a entrada do usuário como uma string e Convert.ToInt32() para converter essa string em um número inteiro. A estrutura condicional é semelhante à do C/C++, e a função Console.WriteLine() é usada para exibir mensagens na tela.

 

Exemplo em Java

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Solicita ao usuário que insira um número
        System.out.print("Digite um número: ");
        int numero = scanner.nextInt();

        // Verifica se o número é zero, positivo ou negativo e imprime a mensagem correspondente
        if (numero == 0) {
            System.out.println("Zero");
        } else if (numero > 0) {
            System.out.println("Positivo");
        } else {
            System.out.println("Negativo");
        }

        scanner.close();
    }
}

Em Java, usamos a classe Scanner para obter entrada do usuário. O método nextInt() é usado para ler um número inteiro. A estrutura condicional é semelhante à do C/C++, e System.out.println() é usada para exibir mensagens na tela.

 

Exemplo em Rust

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
use std::io;

fn main() {
    // Solicita ao usuário que insira um número
    println!("Digite um número:");
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Falha ao ler entrada.");
    let numero: i32 = input.trim().parse().expect("Por favor, insira um número válido.");

    // Verifica se o número é zero, positivo ou negativo e imprime a mensagem correspondente
    if numero == 0 {
        println!("Zero");
    } else if numero > 0 {
        println!("Positivo");
    } else {
        println!("Negativo");
    }
}

Em Rust, usamos println! para exibir mensagens na tela e std::io para entrada de usuário. O método read_line é usado para ler uma linha da entrada do usuário, e parse é usado para converter a entrada em um número inteiro. A estrutura condicional é semelhante à do C/C++.

 

Exemplo em Go

/******************************************************************************

Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br

*******************************************************************************/
package main

import (
    "fmt"
)

func main() {
    var numero int

    // Solicita ao usuário que insira um número
    fmt.Println("Digite um número:")
    fmt.Scanln(&numero)

    // Verifica se o número é zero, positivo ou negativo e imprime a mensagem correspondente
    if numero == 0 {
        fmt.Println("Zero")
    } else if numero > 0 {
        fmt.Println("Positivo")
    } else {
        fmt.Println("Negativo")
    }
}

Em Go, usamos fmt.Println() para exibir mensagens na tela e fmt.Scanln() para entrada de usuário. A estrutura condicional é semelhante à do C/C++.

 

Conclusão

Este exercício nos proporcionou uma valiosa oportunidade de explorar e comparar diferentes linguagens de programação ao resolver o mesmo problema básico: determinar se um número é zero, positivo ou negativo. Ao escrever o código em várias linguagens, pudemos observar as diferenças na sintaxe, nas convenções de nomenclatura, nas bibliotecas padrão e nos estilos de programação de cada linguagem.

Além disso, ao comparar as implementações, pudemos refletir sobre conceitos mais amplos de programação, como estruturas condicionais, entrada/saída de dados, conversão de tipos e eficiência de código. Essa análise nos ajudou a entender melhor as características e os pontos fortes de cada linguagem, bem como a desenvolver uma compreensão mais profunda de princípios fundamentais de programação e engenharia de software.

Portanto, este exercício não apenas nos permitiu praticar a lógica de programação, mas também nos proporcionou uma valiosa oportunidade de aprendizado sobre a codificação em várias linguagens.

 

Beleza pessoal? Espero que tenham gostado.

 

Dúvidas ou sugestões de outras linguagens? Deixe o seu comentário!

 

Um abraço e até o próximo post. Valeu!

 

#Programação

#LinguagensDeProgramação

#Comparação

#Aprendizado

#GiovaniDaCruz

 

Deixe um comentário

Seu e-mail não será publicado.