Crie um algoritmo e um programa que leia 5 números e escreva o maior e o menor desses 5 números, nessa ordem.

algoritmos giovani

Fala galera da programação, tudo beleza?

🚀 Hoje vamos desenvolver um programa simples em diversas linguagens de programação para encontrar o maior e o menor número dentre cinco fornecidos pelo usuário! 🤓💻

 

Dicas para o exercício

Utilizar variáveis adicionais para armazenar o maior e para armazenar o menor.

Comparar cada número lido com cada uma dessas variáveis adicionais.

Lembre-se de atribuir um valor inicial para as variáveis adicionais, que pode ser, por exemplo, o primeiro número lido.

 

O que podemos aprender neste exercício?

Este exercício em C++ nos ensina alguns conceitos importantes:

Uso de variáveis: Aprendemos como declarar e usar variáveis em C++, incluindo a atribuição de valores e a atualização dessas variáveis durante a execução do programa.

Estruturas de controle de fluxo: O uso do loop for nos permite iterar sobre um conjunto de números predefinido, enquanto as estruturas condicionais if e else if nos permitem comparar e atualizar variáveis com base em condições específicas.

Algoritmo de encontrar o maior e o menor número: Este exercício nos mostra uma maneira simples de encontrar o maior e o menor número em um conjunto de números fornecidos pelo usuário, usando variáveis adicionais para acompanhar esses valores durante a execução do programa.

Entrada e saída básicas: Aprendemos a usar cin para obter entrada do usuário e cout para exibir saída na tela.

Boas práticas de programação: O exercício também destaca a importância de usar variáveis descritivas e comentários claros para tornar o código mais compreensível e fácil de dar manutenção.

 

Vamos aos códigos!

 

Exemplo em C++

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

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

*******************************************************************************/
#include <iostream>
using namespace std;

int main() {
    int numero, maior, menor;

    // Lê o primeiro número e o considera tanto o maior quanto o menor
    cout << "Digite o 1º número: ";
    cin >> numero;
    maior = numero;
    menor = numero;

    // Loop para ler os próximos 4 números e atualizar o maior e o menor
    for (int i = 2; i <= 5; ++i) {
        cout << "Digite o " << i << "º número: ";
        cin >> numero;

        if (numero > maior) {
            maior = numero;
        } else if (numero < menor) {
            menor = numero;
        }
    }

    // Mostra o maior e o menor número
    cout << "O maior número é: " << maior << endl;
    cout << "O menor número é: " << menor << endl;

    return 0;
}

Este programa solicita ao usuário que insira 5 números e, à medida que os números são inseridos, verifica se são maiores ou menores do que os valores atuais armazenados nas variáveis maior e menor, atualizando-as conforme necessário. No final, imprime o maior e o menor número inserido.

A estratégia utilizada no programa foi a seguinte:

  1. Inicialização das variáveis: Começamos declarando três variáveis inteiras: numero, maior e menor. A variável numero será usada para ler os números fornecidos pelo usuário, enquanto maior e menor serão usadas para armazenar o maior e o menor número, respectivamente.
  2. Leitura do primeiro número: O programa solicita ao usuário que insira o primeiro número e armazena esse valor nas variáveis maior e menor, pois, no início, esse número é o único e, portanto, o maior e o menor.
  3. Loop para os próximos números: Utilizando um loop for, o programa lê os próximos quatro números fornecidos pelo usuário. Começando do segundo número, até o quinto, ele compara cada número com os valores armazenados em maior e menor.
  4. Atualização de maior e menor: Se o número lido for maior do que o valor atual de maior, maior é atualizado com esse número. Se o número lido for menor do que o valor atual de menor, menor é atualizado com esse número.
  5. Exibição do resultado: Após a leitura de todos os números, o programa exibe o maior e o menor número lido.

Essa abordagem garante que, a cada iteração do loop, os valores de maior e menor são atualizados conforme necessário, resultando nos valores corretos no final da execução do programa.

 

Exemplo em C

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

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

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

int main() {
    int numero, maior, menor, i;

    // Lê o primeiro número e o considera tanto o maior quanto o menor
    printf("Digite o 1º número: ");
    scanf("%d", &numero);
    maior = numero;
    menor = numero;

    // Loop para ler os próximos 4 números e atualizar o maior e o menor
    for (i = 2; i <= 5; ++i) {
        printf("Digite o %dº número: ", i);
        scanf("%d", &numero);

        if (numero > maior) {
            maior = numero;
        } else if (numero < menor) {
            menor = numero;
        }
    }

    // Mostra o maior e o menor número
    printf("O maior número é: %d\n", maior);
    printf("O menor número é: %d\n", menor);

    return 0;
}

Este programa realiza exatamente as mesmas operações que o programa em C++ que escrevi anteriormente, mas utiliza a sintaxe da linguagem C. As diferenças principais incluem a troca de cout e cin por printf e scanf, respectivamente, e a remoção do namespace std. O restante da lógica permanece a mesma.

 

Exemplo em Pascal / Delphi / Lazarus

{

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

}
program EncontrarMaiorMenor;

var
  numero, maior, menor, i: integer;

begin
  // Lê o primeiro número e o considera tanto o maior quanto o menor
  writeln('Digite o 1º número: ');
  readln(numero);
  maior := numero;
  menor := numero;

  // Loop para ler os próximos 4 números e atualizar o maior e o menor
  for i := 2 to 5 do
  begin
    writeln('Digite o ', i, 'º número: ');
    readln(numero);

    if numero > maior then
      maior := numero
    else if numero < menor then
      menor := numero;
  end;

  // Mostra o maior e o menor número
  writeln('O maior número é: ', maior);
  writeln('O menor número é: ', menor);

end.

Este programa em Pascal faz a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. A sintaxe em Pascal é um pouco diferente das outras linguagens, mas a lógica geral é a mesma.

 

Exemplo em Python

'''

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

'''
# Lê o primeiro número e o considera tanto o maior quanto o menor
numero = int(input("Digite o 1º número: "))
maior = numero
menor = numero

# Loop para ler os próximos 4 números e atualizar o maior e o menor
for i in range(2, 6):
    numero = int(input("Digite o {}º número: ".format(i)))
    
    if numero > maior:
        maior = numero
    elif numero < menor:
        menor = numero

# Mostra o maior e o menor número
print("O maior número é:", maior)
print("O menor número é:", menor)

Este programa em Python realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. A sintaxe em Python é mais simples e legível, o que torna o código mais fácil de entender.

 

Exemplo em C# / C Sharp

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

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

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

class Program
{
    static void Main(string[] args)
    {
        int numero, maior, menor;

        // Lê o primeiro número e o considera tanto o maior quanto o menor
        Console.Write("Digite o 1º número: ");
        numero = Convert.ToInt32(Console.ReadLine());
        maior = numero;
        menor = numero;

        // Loop para ler os próximos 4 números e atualizar o maior e o menor
        for (int i = 2; i <= 5; i++)
        {
            Console.Write("Digite o {0}º número: ", i);
            numero = Convert.ToInt32(Console.ReadLine());

            if (numero > maior)
            {
                maior = numero;
            }
            else if (numero < menor)
            {
                menor = numero;
            }
        }

        // Mostra o maior e o menor número
        Console.WriteLine("O maior número é: {0}", maior);
        Console.WriteLine("O menor número é: {0}", menor);
    }
}

Este programa em C# realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. A sintaxe em C# é semelhante à de outras linguagens como Java e C++, mas com algumas diferenças na maneira como a entrada e saída são tratadas.

 

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);
        int numero, maior, menor;

        // Lê o primeiro número e o considera tanto o maior quanto o menor
        System.out.print("Digite o 1º número: ");
        numero = scanner.nextInt();
        maior = numero;
        menor = numero;

        // Loop para ler os próximos 4 números e atualizar o maior e o menor
        for (int i = 2; i <= 5; i++) {
            System.out.print("Digite o " + i + "º número: ");
            numero = scanner.nextInt();

            if (numero > maior) {
                maior = numero;
            } else if (numero < menor) {
                menor = numero;
            }
        }

        // Mostra o maior e o menor número
        System.out.println("O maior número é: " + maior);
        System.out.println("O menor número é: " + menor);

        scanner.close();
    }
}

Este programa em Java realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. Java possui uma sintaxe semelhante à de C#, mas com algumas diferenças na manipulação de entrada e saída e na estrutura do loop.

 

Exemplo em Rust

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

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

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

fn main() {
    let mut maior;
    let mut menor;

    // Lê o primeiro número e o considera tanto o maior quanto o menor
    println!("Digite o 1º número:");
    let mut numero = String::new();
    io::stdin().read_line(&mut numero).expect("Falha ao ler a entrada");
    let numero: i32 = numero.trim().parse().expect("Entrada inválida");
    maior = numero;
    menor = numero;

    // Loop para ler os próximos 4 números e atualizar o maior e o menor
    for i in 2..=5 {
        println!("Digite o {}º número:", i);
        let mut input = String::new();
        io::stdin().read_line(&mut input).expect("Falha ao ler a entrada");
        let numero: i32 = input.trim().parse().expect("Entrada inválida");

        if numero > maior {
            maior = numero;
        } else if numero < menor {
            menor = numero;
        }
    }

    // Mostra o maior e o menor número
    println!("O maior número é: {}", maior);
    println!("O menor número é: {}", menor);
}

Este programa em Rust realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. Rust possui uma sintaxe única e segura, com um sistema de tipos poderoso que garante a segurança do programa em tempo de compilação.

 

Exemplo em Go

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

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

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

import (
    "fmt"
)

func main() {
    var numero, maior, menor int

    // Lê o primeiro número e o considera tanto o maior quanto o menor
    fmt.Print("Digite o 1º número: ")
    fmt.Scanln(&numero)
    maior = numero
    menor = numero

    // Loop para ler os próximos 4 números e atualizar o maior e o menor
    for i := 2; i <= 5; i++ {
        fmt.Printf("Digite o %dº número: ", i)
        fmt.Scanln(&numero)

        if numero > maior {
            maior = numero
        } else if numero < menor {
            menor = numero
        }
    }

    // Mostra o maior e o menor número
    fmt.Println("O maior número é:", maior)
    fmt.Println("O menor número é:", menor)
}

Este programa em Go realiza a mesma tarefa que os programas anteriores: lê 5 números do usuário, encontra o maior e o menor entre eles e os exibe na tela. A sintaxe em Go é diferente de outras linguagens, mas é bastante simples e intuitiva.

 

Conclusão

O exercício de desenvolver um programa para encontrar o maior e o menor número entre cinco fornecidos pelo usuário foi uma ótima oportunidade para explorar e comparar diferentes linguagens de programação. Ao escrever o mesmo algoritmo em linguagens como C++, C, Pascal, Python, C#, Java, Rust e Go, pude perceber as nuances e diferenças entre essas linguagens, além de fortalecer meu entendimento sobre os conceitos fundamentais de programação.

Este exercício demonstra a versatilidade e a diversidade de opções disponíveis para os desenvolvedores ao escolherem uma linguagem para resolver um determinado problema. Cada linguagem tem sua própria sintaxe, estilo e conjunto de recursos, mas todas compartilham a capacidade de expressar soluções para problemas complexos de maneira clara e eficiente.

Além disso, essa experiência reforçou a importância do pensamento algorítmico e da lógica de programação, habilidades essenciais que transcendem a linguagem específica utilizada. Independentemente da linguagem escolhida, a capacidade de quebrar um problema em etapas menores, identificar padrões e desenvolver soluções eficazes é fundamental para o sucesso na programação.

Em resumo, este exercício foi uma oportunidade valiosa para aprimorar minhas habilidades de programação, expandir meu conhecimento sobre diferentes linguagens e reforçar princípios fundamentais de desenvolvimento de software.

 

Beleza pessoal? Espero que tenham gostado.

 

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

 

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

 

#Programação

#Desenvolvimento

#Aprendizado

#Coding

#Tech

#LinguagensDeProgramação

#GiovaniDaCruz

  • Publicado por Giovani Da Cruz
  • 6 views
  • 0 comentarios
  • 29 de abril de 2024

 

Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Algoritmos com Laços

Continue aprendendo

Aumente o seu conhecimento
Crie um algoritmo e um programa que leia 5 números e informe o maior número
10 de abril de 2024
Crie um algoritmo e um programa que solicite ao usuário digitar seis números inteiros. O programa deverá somar os valores pares informados e mostrar o resultado desta soma na tela.
18 de fevereiro de 2024
Crie um algoritmo e um programa em que solicite ao usuário digitar sete números inteiros. O programa deverá contar e mostrar na tela a quantidade de valores ímpares informados.
15 de fevereiro de 2024
Crie um algoritmo e um programa que leia 5 números e mostre o maior e o menor.
5 de fevereiro de 2024
Crie um programa e um algoritmo para listar os 1000 primeiros números primos.
23 de janeiro de 2024
Crie um programa e um algoritmo para listar os 4 primeiros números perfeitos.
19 de janeiro de 2024
Crie um programa e um algoritmo para listar os 1000 primeiros números felizes.
4 de dezembro de 2023
Crie um algoritmo e um programa para descobrir os 100 primeiros naturais que possuam raízes quadradas inteiras
28 de novembro de 2023
Exercício de algoritmo: Sequência de Fibonacci
24 de novembro de 2023
Exemplo de como simular uma barra de progresso em modo console
15 de novembro de 2023