logotipo Blog Giovani Da Cruz
Algoritmos com Laços

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

8 min de leitura 1.522 visualizações

algoritmo giovani loop

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:

  1. Variáveis: Armazenam os valores dos números, do maior e do menor.
  2. Entrada de Dados: Solicitação dos números ao usuário para análise.
  3. Estrutura de Controle: Utilização de estruturas condicionais e de repetição para controle do fluxo.
  4. Comparação: Verificação de qual número é o maior ou menor.
  5. Inicialização: Atribuição dos valores iniciais das variáveis.
  6. Loop: Iteração sobre os 5 números fornecidos pelo usuário.
  7. Saída de Dados: Exibição dos resultados para o usuário.
  8. Lógica de Programação: Desenvolvimento da lógica para determinar o maior e menor número.
  9. Tipos de Dados: Utilização de tipos inteiros para representar os números.
  10. 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!

 

Deixe um comentário

Seu e-mail não será publicado.