Exercício: classificar em zero, positivo ou negativo

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