Exercício: maior e menor de cinco números

Fala galera da programação, tudo beleza?
No exercício de hoje vamos fazer um algoritmo que leia cinco números. Ao final da leitura, devemos mostrar o maior e o menor.
Dica: Você deve utilizar um laço no exercício!
Vamos aos códigos!
Exemplo em C++
/***********************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
**********************************/
#include <iostream>
using namespace std;
int main() {
// Declaração de variáveis
int numero, maior, menor;
// Solicitação do primeiro número
cout << "Digite o 1º número: ";
cin >> numero;
// Inicializa maior e menor com o primeiro número lido
maior = menor = numero;
// Leitura e comparação dos próximos números
for (int i = 2; i <= 5; ++i) {
cout << "Digite o " << i << "º número: ";
cin >> numero;
// Atualização do maior e menor, se necessário
if (numero > maior) {
maior = numero;
} else if (numero < menor) {
menor = numero;
}
}
// Exibição do resultado
cout << "O maior número é: " << maior << endl;
cout << "O menor número é: " << menor << endl;
return 0;
}
Este programa utiliza um loop (laço) for para ler os cinco números, comparando cada número com as variáveis maior e menor. O resultado final é exibido ao usuário.
Exemplo em C
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
#include <stdio.h>
int main() {
// Declaração de variáveis
int numero, maior, menor;
// Solicitação do primeiro número
printf("Digite o 1º número: ");
scanf("%d", &numero);
// Inicializa maior e menor com o primeiro número lido
maior = menor = numero;
// Leitura e comparação dos próximos números
for (int i = 2; i <= 5; ++i) {
printf("Digite o %dº número: ", i);
scanf("%d", &numero);
// Atualização do maior e menor, se necessário
if (numero > maior) {
maior = numero;
} else if (numero < menor) {
menor = numero;
}
}
// Exibição do resultado
printf("O maior número é: %d\n", maior);
printf("O menor número é: %d\n", menor);
return 0;
}
As principais diferenças em C incluem a substituição de cout e cin por printf e scanf, respectivamente, e a eliminação do uso do espaço de nomes std. O restante do código permanece muito semelhante ao exemplo em C++
Exemplo em Pascal
{
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
}
program MaiorMenor;
var
numero, maior, menor: integer;
i: integer;
begin
// Solicitação do primeiro número
Write('Digite o 1º número: ');
Readln(numero);
// Inicializa maior e menor com o primeiro número lido
maior := numero;
menor := numero;
// Leitura e comparação dos próximos números
for i := 2 to 5 do
begin
Write('Digite o ', i, 'º número: ');
Readln(numero);
// Atualização do maior e menor, se necessário
if numero > maior then
maior := numero
else if numero < menor then
menor := numero;
end;
// Exibição do resultado
Writeln('O maior número é: ', maior);
Writeln('O menor número é: ', menor);
end.
O código em Pascal segue uma estrutura semelhante à versão em C++, mas com a sintaxe específica da linguagem Pascal. O programa solicita a entrada do usuário, compara os números e exibe o resultado, usando Write, Readln e Writeln para manipular a entrada/saída.
Exemplo em Python
'''
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
'''
# Solicitação do primeiro número
numero = int(input("Digite o 1º número: "))
# Inicializa maior e menor com o primeiro número lido
maior = menor = numero
# Leitura e comparação dos próximos números
for i in range(2, 6):
numero = int(input(f"Digite o {i}º número: "))
# Atualização do maior e menor, se necessário
if numero > maior:
maior = numero
elif numero < menor:
menor = numero
# Exibição do resultado
print(f"O maior número é: {maior}")
print(f"O menor número é: {menor}")
Em Python, a entrada do usuário é obtida usando a função input(), e para garantir que a entrada seja tratada como um número inteiro, utilizamos a função int(). O loop for é usado para iterar sobre os próximos números, e a lógica para encontrar o maior e o menor é semelhante ao exemplo em C++ e Pascal. As funções print() são usadas para exibir os resultados.
Exemplo em C#
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
using System;
class MaiorMenor
{
static void Main()
{
// Solicitação do primeiro número
Console.Write("Digite o 1º número: ");
int numero = int.Parse(Console.ReadLine());
// Inicializa maior e menor com o primeiro número lido
int maior = numero;
int menor = numero;
// Leitura e comparação dos próximos números
for (int i = 2; i <= 5; ++i)
{
Console.Write($"Digite o {i}º número: ");
numero = int.Parse(Console.ReadLine());
// Atualização do maior e menor, se necessário
if (numero > maior)
{
maior = numero;
}
else if (numero < menor)
{
menor = numero;
}
}
// Exibição do resultado
Console.WriteLine($"O maior número é: {maior}");
Console.WriteLine($"O menor número é: {menor}");
}
}
Em C#, usamos Console.Write e Console.ReadLine para obter a entrada do usuário, e int.Parse para converter a entrada para um número inteiro. O restante do código segue uma lógica semelhante aos exemplos anteriores, com o uso do loop for para iterar sobre os números e a exibição dos resultados usando Console.WriteLine.
Exemplo em Java
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
import java.util.Scanner;
public class MaiorMenor {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Solicitação do primeiro número
System.out.print("Digite o 1º número: ");
int numero = scanner.nextInt();
// Inicializa maior e menor com o primeiro número lido
int maior = numero;
int menor = numero;
// Leitura e comparação dos próximos números
for (int i = 2; i <= 5; ++i) {
System.out.print("Digite o " + i + "º número: ");
numero = scanner.nextInt();
// Atualização do maior e menor, se necessário
if (numero > maior) {
maior = numero;
} else if (numero < menor) {
menor = numero;
}
}
// Exibição do resultado
System.out.println("O maior número é: " + maior);
System.out.println("O menor número é: " + menor);
// Fechar o scanner para evitar vazamentos de recursos
scanner.close();
}
}
Em Java, usamos a classe Scanner para obter a entrada do usuário e a classe System.out para exibir os resultados. O loop for é usado para iterar sobre os números, e a lógica para encontrar o maior e o menor é semelhante aos exemplos anteriores. É importante fechar o objeto Scanner no final para evitar vazamentos de recursos.
Exemplo em Rust
/******************************************************************************
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*******************************************************************************/
use std::io;
fn main() {
// Solicitação do primeiro número
println!("Digite o 1º número:");
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Falha ao ler a entrada");
let numero: i32 = input.trim().parse().expect("Por favor, insira um número válido");
// Inicializa maior e menor com o primeiro número lido
let mut maior = numero;
let mut menor = numero;
// Leitura e comparação dos próximos números
for i in 2..=5 {
println!("Digite o {}º número:", i);
input.clear();
io::stdin().read_line(&mut input).expect("Falha ao ler a entrada");
let numero: i32 = input.trim().parse().expect("Por favor, insira um número válido");
// Atualização do maior e menor, se necessário
if numero > maior {
maior = numero;
} else if numero < menor {
menor = numero;
}
}
// Exibição do resultado
println!("O maior número é: {}", maior);
println!("O menor número é: {}", menor);
}
Assuntos abordados aqui neste post:
- Variáveis: Armazenam os valores dos números, do maior e do menor.
- Entrada de Dados: Solicitação dos números ao usuário para análise.
- Estrutura de Controle: Utilização de estruturas condicionais e de repetição para controle do fluxo.
- Comparação: Verificação de qual número é o maior ou menor.
- Inicialização: Atribuição dos valores iniciais das variáveis.
- Loop: Iteração sobre os 5 números fornecidos pelo usuário.
- Saída de Dados: Exibição dos resultados para o usuário.
- Lógica de Programação: Desenvolvimento da lógica para determinar o maior e menor número.
- Tipos de Dados: Utilização de tipos inteiros para representar os números.
- Interatividade: Interação com o usuário por meio da entrada de dados e exibição de resultados.
Beleza pessoal? Espero que tenham gostado. Neste exercício adicionei o exemplo em Rust para a comparação.
Dúvidas ou sugestão de mais linguagens? Deixe o seu comentário!
Um abraço e até o próximo post. Valeu!