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

Exercício: diferença entre o maior e o menor de dois reais

10 min de leitura 753 visualizações

algoritmos desvio condicional

Fala galera da programação, tudo beleza?

Quer praticar suas habilidades de programação? Vamos aprender a determinar o maior número entre dois valores e calcular a diferença entre eles neste exercício simples! 💻✨

 

Dicas para o exercício

O exercício pede variáveis do tipo Real (Ponto flutuante);

Uma boa forma de calcular a diferença é fazer o maior número menos o menor;

Exemplo de saída: se o usuário informar os números 97.6 e 32.65, deverá ser mostrado na tela a mensagem “ 97.6 – 32.5 = 65.1”

 

O que podemos aprender neste exercício?

Neste exercício, podemos aprender várias coisas:

  1. Lógica de programação: Este exercício envolve a utilização de lógica simples para determinar o maior entre dois números e calcular a diferença entre eles. Isso ajuda a reforçar os conceitos básicos de programação.
  2. Controle de fluxo: A utilização de instruções condicionais, como if-else, é essencial para decidir o que fazer com base em certas condições. Este exercício mostra como usar o controle de fluxo para tomar decisões em um programa.
  3. Entrada e saída de dados: A interação com o usuário para obter entradas (números reais neste caso) e exibir saídas formatadas é uma parte fundamental da programação. Este exercício demonstra como usar a entrada e saída de dados em C++, assim como em outras linguagens de programação.
  4. Prática de linguagem de programação: Escrever o mesmo programa em várias linguagens (como C++, Python, Java, etc.) ajuda a entender as diferenças e semelhanças entre essas linguagens. Isso também ajuda a praticar a sintaxe específica de cada linguagem.
  5. Resolução de problemas: Este exercício apresenta um problema simples (determinar o maior entre dois números e calcular a diferença) e mostra como resolver esse problema usando programação. Isso ajuda a desenvolver habilidades de resolução de problemas que são essenciais para programadores.

 

Vamos aos códigos!

 

Exemplo em C++

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

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

*******************************************************************************/
#include <iostream>

using namespace std;

int main() {
    double num1, num2;
    
    // Solicita ao usuário que digite dois números reais
    cout << "Digite o primeiro número real: ";
    cin >> num1;
    cout << "Digite o segundo número real: ";
    cin >> num2;
    
    // Verifica qual é o maior número
    double maior, menor;
    if (num1 > num2) {
        maior = num1;
        menor = num2;
    } else {
        maior = num2;
        menor = num1;
    }
    
    // Calcula a diferença entre o maior e o menor valor
    double diferenca = maior - menor;
    
    // Mostra na tela o resultado
    cout << maior << " - " << menor << " = " << diferenca << endl;
    
    return 0;
}

Neste programa, utilizamos a estrutura if para determinar qual é o maior número digitado pelo usuário. Se num1 for maior que num2, atribuímos num1 à variável maior e num2 à variável menor, caso contrário, fazemos o oposto. Em seguida, calculamos a diferença entre o maior e o menor valor e exibimos o resultado na tela.

Uma alternativa é usar um operador ternário, mas vamos manter o exercício desta forma para facilitar o entendimento.

 

Exemplo em C

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

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

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

int main() {
    double num1, num2;
    
    // Solicita ao usuário que digite dois números reais
    printf("Digite o primeiro número real: ");
    scanf("%lf", &num1);
    printf("Digite o segundo número real: ");
    scanf("%lf", &num2);
    
    // Verifica qual é o maior número
    double maior, menor;
    if (num1 > num2) {
        maior = num1;
        menor = num2;
    } else {
        maior = num2;
        menor = num1;
    }
    
    // Calcula a diferença entre o maior e o menor valor
    double diferenca = maior - menor;
    
    // Mostra na tela o resultado
    printf("%.2lf - %.2lf = %.2lf\n", maior, menor, diferenca);
    
    return 0;
}

Neste programa em C, utilizamos a estrutura if para determinar qual é o maior número digitado pelo usuário. Se num1 for maior que num2, atribuímos num1 à variável maior e num2 à variável menor, caso contrário, fazemos o oposto. Em seguida, calculamos a diferença entre o maior e o menor valor e exibimos o resultado na tela.

 

Exemplo em Pascal / Delphi / Lazarus

{

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

}
program MaiorMenorDiferenca;

var
  num1, num2, maior, menor, diferenca: real;

begin
  // Solicita ao usuário que digite dois números reais
  write('Digite o primeiro número real: ');
  readln(num1);
  write('Digite o segundo número real: ');
  readln(num2);
  
  // Verifica qual é o maior número
  if num1 > num2 then
  begin
    maior := num1;
    menor := num2;
  end
  else
  begin
    maior := num2;
    menor := num1;
  end;
  
  // Calcula a diferença entre o maior e o menor valor
  diferenca := maior - menor;
  
  // Mostra na tela o resultado
  writeln(maior:0:2, ' - ', menor:0:2, ' = ', diferenca:0:2);
end.

Neste programa em Pascal:

  1. Utilizamos write e readln para entrada e saída de dados.
  2. As variáveis num1, num2, maior, menor e diferenca são do tipo real para armazenar números reais.
  3. Utilizamos uma estrutura if-else para determinar qual é o maior número.
  4. Para calcular a diferença entre o maior e o menor valor, usamos a operação de subtração direta.
  5. A formatação de saída em writeln está configurada para exibir os números com duas casas decimais.

 

Exemplo em Python

'''

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

'''
# Solicita ao usuário que digite dois números reais
num1 = float(input("Digite o primeiro número real: "))
num2 = float(input("Digite o segundo número real: "))

# Verifica qual é o maior número
if num1 > num2:
    maior = num1
    menor = num2
else:
    maior = num2
    menor = num1

# Calcula a diferença entre o maior e o menor valor
diferenca = maior - menor

# Mostra na tela o resultado
print(f"{maior:.2f} - {menor:.2f} = {diferenca:.2f}")

Neste programa, utilizamos a estrutura if para determinar qual é o maior número digitado pelo usuário. Se num1 for maior que num2, atribuímos num1 à variável maior e num2 à variável menor, caso contrário, fazemos o oposto. Em seguida, calculamos a diferença entre o maior e o menor valor e exibimos o resultado formatado na tela.

Uma alternativa é usar as funções max() e min() que são utilizadas para determinar o maior e o menor número, respectivamente, mas mantemos a estrutura com if para manter a lódica dos demais exemplos.

 

Exemplo em C# / C Sharp

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

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

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

class ProgramGiovani
{
    static void Main()
    {
        // Solicita ao usuário que digite dois números reais
        Console.Write("Digite o primeiro número real: ");
        double num1 = Convert.ToDouble(Console.ReadLine());
        Console.Write("Digite o segundo número real: ");
        double num2 = Convert.ToDouble(Console.ReadLine());

        // Verifica qual é o maior número
        double maior, menor;
        if (num1 > num2)
        {
            maior = num1;
            menor = num2;
        }
        else
        {
            maior = num2;
            menor = num1;
        }

        // Calcula a diferença entre o maior e o menor valor
        double diferenca = maior - menor;

        // Mostra na tela o resultado
        Console.WriteLine($"{maior:f2} - {menor:f2} = {diferenca:f2}");
    }
}

Neste programa em C#:

  1. Utilizamos a classe Console para entrada e saída de dados.
  2. A função Convert.ToDouble() é utilizada para converter os valores de entrada em números reais.
  3. Utilizamos uma instrução if-else para determinar qual é o maior número digitado pelo usuário.
  4. Calculamos a diferença entre o maior e o menor valor simplesmente subtraindo um do outro.
  5. Utilizamos a interpolação de strings ($"{variavel}") para formatar a saída com duas casas decimais (f2).

 

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 digite dois números reais
        System.out.print("Digite o primeiro número real: ");
        double num1 = scanner.nextDouble();
        System.out.print("Digite o segundo número real: ");
        double num2 = scanner.nextDouble();

        // Verifica qual é o maior número
        double maior, menor;
        if (num1 > num2) {
            maior = num1;
            menor = num2;
        } else {
            maior = num2;
            menor = num1;
        }

        // Calcula a diferença entre o maior e o menor valor
        double diferenca = maior - menor;

        // Mostra na tela o resultado
        System.out.printf("%.2f - %.2f = %.2f\n", maior, menor, diferenca);

        scanner.close();
    }
}

Neste programa em Java:

  1. Importamos a classe Scanner para obter entrada do usuário.
  2. Utilizamos um objeto Scanner para receber as entradas do usuário.
  3. Utilizamos uma estrutura condicional if-else para determinar qual é o maior número digitado pelo usuário.
  4. Calculamos a diferença entre o maior e o menor valor simplesmente subtraindo um do outro.
  5. Utilizamos System.out.printf() para exibir o resultado formatado com duas casas decimais.

 

 

Exemplo em Rust

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

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

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

fn main() {
    // Solicita ao usuário que digite dois números reais
    println!("Digite o primeiro número real: ");
    let mut num1 = String::new();
    io::stdin().read_line(&mut num1).expect("Falha ao ler entrada.");
    let num1: f64 = num1.trim().parse().expect("Entrada inválida.");

    println!("Digite o segundo número real: ");
    let mut num2 = String::new();
    io::stdin().read_line(&mut num2).expect("Falha ao ler entrada.");
    let num2: f64 = num2.trim().parse().expect("Entrada inválida.");

    // Verifica qual é o maior número
    let (maior, menor) = if num1 > num2 {
        (num1, num2)
    } else {
        (num2, num1)
    };

    // Calcula a diferença entre o maior e o menor valor
    let diferenca = maior - menor;

    // Mostra na tela o resultado
    println!("{:.2} - {:.2} = {:.2}", maior, menor, diferenca);
}

Neste programa em Rust:

  1. Utilizamos o crate std::io para obter entrada do usuário.
  2. Solicitamos ao usuário que digite os números reais.
  3. Utilizamos a função trim() para remover quaisquer espaços em branco ou quebras de linha ao redor da entrada do usuário e a função parse() para converter a entrada em um número f64.
  4. Utilizamos uma expressão if para determinar qual é o maior número digitado pelo usuário.
  5. Calculamos a diferença entre o maior e o menor valor simplesmente subtraindo um do outro.
  6. Utilizamos a macro println! para exibir o resultado formatado com duas casas decimais.

 

 

Beleza pessoal? Espero que tenham gostado.

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

 

Este exercício foi uma oportunidade para praticar conceitos básicos de programação, incluindo lógica, controle de fluxo, entrada/saída de dados e resolução de problemas, enquanto também oferece a chance de praticar uma linguagem de programação específica.

 

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

 

#ProgramaçãoIniciante

#AprendizadoDeAlgoritmos

#DesenvolvimentoDeSoftware

#GiovaniDaCruz

Deixe um comentário

Seu e-mail não será publicado.