Faça um programa e um algoritmo que solicite ao usuário informar um conjunto de 4 valores reais nomeados i, a, b, c. O i é um valor inteiro e positivo que indica a forma como os números devem ser mostrados na tela. Os valores a, b, c são valores reais que devem ser mostrados na tela na seguinte ordem

Developer Giovani

Oi turma, tudo bem com vocês? Vamos a um interessante exercício para aprimorar nossas habilidades com os testes condicionais alinhados (Se, Senão e Se). Este exercício também terá um menu simples. Segue abaixo o texto do problema:

 

Desenvolva um programa que solicite ao usuário informar um conjunto de 4 valores reais nomeados i, a, b, c.

O i é um valor inteiro e positivo que indica a forma como os números devem ser mostrados na tela.

Os valores a, b, c são valores reais que devem ser mostrados na tela na seguinte ordem:

  • Se i=1 mostrar os 3 valores a, b, c em ordem crescente;
  • Se i=2 mostrar os 3 valores a, b, c em ordem decrescente;
  • Se i=3 mostrar os 3 valores de forma que o maior valor entre a, b, c fique entre os outros dois.

Dica para resolver o exercício:

Independente da ordem que os valores devem ser mostrados na tela, crie três variáveis auxiliares para armazenar o maior, o menor e o valor intermediário. Depois que estas variáveis já possuírem os valores corretos, basta escrever os valores de acordo com a ordem solicitada pelo usuário.

 

Resposta em Portugol com Portugol Studio

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

programa
{
    
    funcao inicio()
    {
        	inteiro i
        	real a, b, c
        	real menor, meio, maior
    
        escreva("Informe o valor de i: ")
        	leia(i)
    
        	escreva("Informe o valor de a: ")
        	leia(a)
    
        	escreva("Informe o valor de b: ")
        	leia(b)
        
        escreva("Informe o valor de c: ")
        	leia(c)
    
        	// Ordenar os valores em ordem crescente
        	se (a <= b e a <= c) {
            menor = a
            se (b <= c) {
                meio = b
                maior = c
            } senao {
                meio = c
                maior = b
            }
        } senao se (b <= a e b <= c) {
            menor = b
            se (a <= c) {
                meio = a
                maior = c
            } senao {
                meio = c
                maior = a
            }
        } senao {
            menor = c
            se (a <= b) {
                meio = a
                maior = b
            } senao {
                meio = b
                maior = a
            }
        }
    
        // Exibir os números na ordem especificada
        se (i == 1) {
            escreva( menor, ", ", meio, ", ", maior)
        } senao se (i == 2) {
            escreva( maior, ", ", meio, ", ", menor)
        } senao se (i == 3) {
            escreva( meio, ", ", maior, ", ", menor)
        } senao {
            escreva( "Valor inválido para i.")
        }
    }
}

Explicação

O código acima, tem como objetivo receber do usuário um conjunto de 4 valores: um valor inteiro i e três valores reais a, b e c. Em seguida, o programa realiza as seguintes etapas:

  1. Declaração das variáveis: i do tipo inteiro e a, b, c, menor, meio e maior do tipo real.
  2. Solicita ao usuário que informe o valor de i e lê o valor digitado.
  3. Solicita ao usuário que informe o valor de a e lê o valor digitado.
  4. Solicita ao usuário que informe o valor de b e lê o valor digitado.
  5. Solicita ao usuário que informe o valor de c e lê o valor digitado.
  6. Realiza a ordenação dos valores a, b e c em ordem crescente, armazenando os valores em menor, meio e maior.
  7. Verifica o valor de i para exibir os números de acordo com a ordem especificada.
    • Se i for igual a 1, exibe menor, meio e maior separados por vírgula.
    • Se i for igual a 2, exibe maior, meio e menor separados por vírgula.
    • Se i for igual a 3, exibe meio, maior e menor separados por vírgula.
    • Caso contrário, exibe a mensagem “Valor inválido para i.”

O código utiliza a estrutura condicional “se… senao” para realizar a ordenação dos valores e exibir os números na ordem especificada. Ele fornece uma solução clara e estruturada para o problema proposto.

 

Resposta em Pascal

(*
Criado pelo Professor Giovani Da Cruz
https://giovanidacruz.com.br
*)
program OrdenarNumeros;
var
  i: integer;
  a, b, c: real;
  menor, meio, maior: real;

begin
  writeln('Informe o valor de i: ');
  readln(i);

  writeln('Informe o valor de a: ');
  readln(a);

  writeln('Informe o valor de b: ');
  readln(b);

  writeln('Informe o valor de c: ');
  readln(c);

  // Ordenar os valores em ordem crescente
  if (a <= b) and (a <= c) then
  begin
    menor := a;
    if b <= c then
    begin
      meio := b;
      maior := c;
    end
    else
    begin
      meio := c;
      maior := b;
    end;
  end
  else if (b <= a) and (b <= c) then
  begin
    menor := b;
    if a <= c then
    begin
      meio := a;
      maior := c;
    end
    else
    begin
      meio := c;
      maior := a;
    end;
  end
  else
  begin
    menor := c;
    if a <= b then
    begin
      meio := a;
      maior := b;
    end
    else
    begin
      meio := b;
      maior := a;
    end;
  end;

  // Exibir os números na ordem especificada
  if i = 1 then
    writeln(menor, ', ', meio, ', ', maior)
  else if i = 2 then
    writeln(maior, ', ', meio, ', ', menor)
  else if i = 3 then
    writeln(meio, ', ', maior, ', ', menor)
  else
    writeln('Valor inválido para i.');
end.

Nesse código em Pascal, foi realizada a adaptação do programa para ordenar números em ordem crescente. O programa solicita ao usuário os valores de i, a, b e c, e em seguida, ordena os valores em ordem crescente, armazenando em menor, meio e maior. Por fim, exibe os números na ordem especificada de acordo com o valor de i. Caso o valor de i não seja válido, exibe a mensagem “Valor inválido para i.”.

 

Resposta em C++

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

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

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

int main() {
    int i;
    float a, b, c;
    float menor, meio, maior;

    cout << "Informe o valor de i: ";
    cin >> i;

    cout << "Informe o valor de a: ";
    cin >> a;

    cout << "Informe o valor de b: ";
    cin >> b;

    cout << "Informe o valor de c: ";
    cin >> c;

    // Ordenar os valores em ordem crescente
    if (a <= b && a <= c) {
        menor = a;
        if (b <= c) {
            meio = b;
            maior = c;
        } else {
            meio = c;
            maior = b;
        }
    } else if (b <= a && b <= c) {
        menor = b;
        if (a <= c) {
            meio = a;
            maior = c;
        } else {
            meio = c;
            maior = a;
        }
    } else {
        menor = c;
        if (a <= b) {
            meio = a;
            maior = b;
        } else {
            meio = b;
            maior = a;
        }
    }

    // Exibir os números na ordem especificada
    if (i == 1) {
        cout << menor << ", " << meio << ", " << maior;
    } else if (i == 2) {
        cout << maior << ", " << meio << ", " << menor;
    } else if (i == 3) {
        cout << meio << ", " << maior << ", " << menor;
    } else {
        cout << "Valor inválido para i.";
    }

    return 0;
}

Neste código, o usuário informa o valor de i e os três valores a, b e c. Em seguida, é feita uma verificação do valor de i para determinar qual ação deve ser executada. Dependendo do valor de i, os valores a, b e c são mostrados na tela em ordem crescente, decrescente ou com o maior valor entre os outros dois.

 

Resposta em Python

'''

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

'''
# Solicitar os valores do usuário
i = int(input("Informe o valor de i: "))
a = float(input("Informe o valor de a: "))
b = float(input("Informe o valor de b: "))
c = float(input("Informe o valor de c: "))

# Ordenar os valores em ordem crescente
if a <= b and a <= c:
    menor = a
    if b <= c:
        meio = b
        maior = c
    else:
        meio = c
        maior = b
elif b <= a and b <= c:
    menor = b
    if a <= c:
        meio = a
        maior = c
    else:
        meio = c
        maior = a
else:
    menor = c
    if a <= b:
        meio = a
        maior = b
    else:
        meio = b
        maior = a

# Exibir os números na ordem especificada
if i == 1:
    print(menor, ", ", meio, ", ", maior)
elif i == 2:
    print(maior, ", ", meio, ", ", menor)
elif i == 3:
    print(meio, ", ", maior, ", ", menor)
else:
    print("Valor inválido para i.")

Nesse código em Python, foi realizada a adaptação do programa em C++ para Python. Ele realiza as mesmas etapas do código original:

  1. Solicita ao usuário os valores de i, a, b e c.
  2. Ordena os valores em ordem crescente, armazenando em menor, meio e maior.
  3. Exibe os números na ordem especificada de acordo com o valor de i.
  4. Caso o valor de i não seja válido, exibe a mensagem “Valor inválido para i.”.

Essa versão em Python possui uma sintaxe específica da linguagem, como a utilização da função input para receber os valores do usuário e a função print para exibir os resultados na tela.

 

Resposta em C#

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

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

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

class Program
{
    static void Main()
    {
        int i;
        float a, b, c;
        float menor, meio, maior;

        Console.WriteLine("Informe o valor de i: ");
        i = int.Parse(Console.ReadLine());

        Console.WriteLine("Informe o valor de a: ");
        a = float.Parse(Console.ReadLine());

        Console.WriteLine("Informe o valor de b: ");
        b = float.Parse(Console.ReadLine());

        Console.WriteLine("Informe o valor de c: ");
        c = float.Parse(Console.ReadLine());

        // Ordenar os valores em ordem crescente
        if (a <= b && a <= c)
        {
            menor = a;
            if (b <= c)
            {
                meio = b;
                maior = c;
            }
            else
            {
                meio = c;
                maior = b;
            }
        }
        else if (b <= a && b <= c)
        {
            menor = b;
            if (a <= c)
            {
                meio = a;
                maior = c;
            }
            else
            {
                meio = c;
                maior = a;
            }
        }
        else
        {
            menor = c;
            if (a <= b)
            {
                meio = a;
                maior = b;
            }
            else
            {
                meio = b;
                maior = a;
            }
        }

        // Exibir os números na ordem especificada
        if (i == 1)
            Console.WriteLine("{0}, {1}, {2}", menor, meio, maior);
        else if (i == 2)
            Console.WriteLine("{0}, {1}, {2}", maior, meio, menor);
        else if (i == 3)
            Console.WriteLine("{0}, {1}, {2}", meio, maior, menor);
        else
            Console.WriteLine("Valor inválido para i.");
    }
}

Nesse código em C#, foi realizada a adaptação do programa para ordenar números em ordem crescente. O programa solicita ao usuário os valores de i, a, b e c, e em seguida, ordena os valores em ordem crescente, armazenando em menor, meio e maior. Por fim, exibe os números na ordem especificada de acordo com o valor de i. Caso o valor de i não seja válido, exibe a mensagem “Valor inválido para i.”.

 

Resposta 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 i;
        float a, b, c;
        float menor, meio, maior;

        System.out.print("Informe o valor de i: ");
        i = scanner.nextInt();

        System.out.print("Informe o valor de a: ");
        a = scanner.nextFloat();

        System.out.print("Informe o valor de b: ");
        b = scanner.nextFloat();

        System.out.print("Informe o valor de c: ");
        c = scanner.nextFloat();

        // Ordenar os valores em ordem crescente
        if (a <= b && a <= c) {
            menor = a;
            if (b <= c) {
                meio = b;
                maior = c;
            } else {
                meio = c;
                maior = b;
            }
        } else if (b <= a && b <= c) {
            menor = b;
            if (a <= c) {
                meio = a;
                maior = c;
            } else {
                meio = c;
                maior = a;
            }
        } else {
            menor = c;
            if (a <= b) {
                meio = a;
                maior = b;
            } else {
                meio = b;
                maior = a;
            }
        }

        // Exibir os números na ordem especificada
        if (i == 1) {
            System.out.println(menor + ", " + meio + ", " + maior);
        } else if (i == 2) {
            System.out.println(maior + ", " + meio + ", " + menor);
        } else if (i == 3) {
            System.out.println(meio + ", " + maior + ", " + menor);
        } else {
            System.out.println("Valor inválido para i.");
        }
    }
}

Nesse código em Java, o programa solicita ao usuário os valores de i, a, b e c utilizando a classe Scanner. Em seguida, os valores são ordenados em ordem crescente e armazenados nas variáveis menor, meio e maior. Por fim, os números são exibidos na ordem especificada de acordo com o valor de i. Caso o valor de i não seja válido, é exibida a mensagem “Valor inválido para i.”.

 

Beleza Pessoal?

Dúvidas ou sugestão de outras linguagens? Deixe o seu comentário!

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

 

 

  • Publicado por Giovani Da Cruz
  • 0 comentarios
  • 5 de junho de 2023

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 Se, Senão e Caso

Continue aprendendo

Aumente o seu conhecimento
Crie um algoritmo e um programa que leia uma data em três variáveis inteiras (dia, mes e ano) e escreva a data correspondente ao dia anterior também de forma separada: dia, mês e ano.

Fala galera da programação, tudo beleza? 📅💻 Explore a manipulação de datas e descubra como calcular o dia anterior em várias linguagens de programação! Aprenda algoritmos, lógica condicional e muito mais neste desafio divertido.   Considerações Para facilitar, considerar que os anos bissextos são aqueles divisíveis por 4. Assim o mês 2 (fevereiro) possui 28 […]

8 de maio de 2024
Um estacionamento cobra R$ 8,00 para a primeira hora e para cada hora adicional é cobrado mais R$ 5,00. Fazer um algoritmo e um programa em que leia o tempo de estacionamento (em horas) e escreva o valor que deve ser pago.

Fala galera da programação, tudo beleza? Vamos a um novo exercício de algoritmos com desvio condicional. Desafie suas habilidades de programação com este exercício simples de cálculo de estacionamento em diversas linguagens! 🚗💻 Aprenda e pratique condicionais, entrada/saída e sintaxe em várias linguagens. Dicas para o exercício Lembrar que pode ser informado 0 no tempo […]

17 de abril de 2024
Crie um algoritmo e um programa em que leia 4 valores, Hi, Mi, Hf, Mf, representando respectivamente a hora e minuto inicial e final de um evento, e calcule a duração do mesmo em horas e minutos. Considere que o evento pode iniciar em um dia e terminar no dia seguinte.

Fala galera da programação, tudo beleza? 💻 Novo exercício na área para aprimorar a nossa lógica de programação. Dica do exercício: Para simplificar o problema, converta cada par de valores em um único valor em minutos. 🕒   O que podemos aprender neste exercício? Neste exercício, podemos aprender várias coisas: Manipulação de Entrada/Saída: Aprendemos como […]

15 de abril de 2024
Crie um algoritmo e um programa em que leia um número e escreva: “Zero”, se o valor é zero; “Positivo”, e o valor é maior que zero; “Negativo” se o valor é 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 […]

9 de abril de 2024
Crie um algoritmo e um programa que leia as 3 notas de um aluno e escreva “APROVADO” caso a média aritmética for maior ou igual a 6, caso contrário escreva “REPROVADO”

Fala galera da programação, tudo beleza? Hoje vamos descubra como este simples exercício de programação em várias linguagens pode fortalecer suas habilidades de codificação! 🚀 Aprenda a calcular médias de notas e determinar a aprovação ou reprovação de alunos em C++, C, Pascal, Python, C#, Java, Rust e Go.   O que podemos aprender neste […]

4 de abril de 2024
O número 3025 tem a seguinte característica: 30+25=55 e 552=3025. Sendo um número de Kaprekar. Crie um algoritmo e um programa que solicite o usuário informar um número inteiro de quatro dígitos. O programa deve verificar e mostrar na tela uma mensagem indicando se este número possui esta característica, ou seja, ser um Número de Kaprekar.

Fala galera da programação, tudo beleza?   O exercício pede para verificar se o número lido possui determinada característica. Ela é conhecida como “Número Kaprekar”. Um número de Kaprekar é um inteiro positivo cuja representação em quadrados de seus dígitos pode ser dividida em duas partes que somam o número original quando somadas. O exemplo […]

30 de março de 2024
Crie um algoritmo e um programa em que implemente uma calculadora de 4 operações. O programa deve solicitar que o usuário informe três dados: o primeiro operando, o operador (+,-,*,/) e o segundo operando. O programa deve mostrar na tela a operação e seu resultado.

Fala galera da programação, tudo beleza? Hoje um novo exercício de calculadora para aprimorar nossa lógica de programação.   Dicas do exercício Em duas situações, o programa não deverá efetuar o cálculo: Se o operador informado pelo usuário for inválido mostrar a mensagem “Operador inválido” e encerrar a execução do programa. Se o segundo operando […]

28 de março de 2024
Crie um algoritmo e um programa quesolicite o usuário informar a altura em metros e o sexo de uma pessoa. O programa deverá calcular o peso ideal da pessoa, utilizando as seguintes fórmulas:

Fala galera da programação, tudo beleza? Lá vamos nós a mais um interessante exercício.   Dados do Exercício Formulas Para Homens: ( 72.7 * altura ) – 58 Para Mulheres: ( 62.1 * altura) – 44.7   Mais dicas A altura da pessoa é um valor real. O sexo da pessoa deverá ser identificado através […]

16 de março de 2024
Crie um algoritmo e um programa que solicite que o usuário informe um código e três valores nomeados como a, b e c. O código vai determinar qual operação o algoritmo irá realizar

Fala galera da programação, tudo beleza? Vamos a um novo exercício para aprimorarmos nossas habilidades. Aqui existem dados importantes para podermos realizar a tarefa.   Dados do exercício Tabela de códigos: código = 1: multiplicar os três valores código = 2: somar os três valores código = 3: subtrair os três valores código = 4: […]

7 de março de 2024
Crie um algoritmo e um programa que solicite ao usuário informar um valor inteiro que corresponda a idade de um nadador. Após, o programa deverá classificar o nadador nas categorias abaixo e mostrar esta informação na tela do computador.

Fala galera da programação, tudo beleza? Quer aprimorar suas habilidades com estruturas condicionais? Explore este desafio de aprendizado de if-else. O que podemos aprender neste exercício? Neste exercício, aprendemos a: Solicitar entrada do usuário: Aprendemos a solicitar entrada do usuário para obter informações necessárias para o programa, como a idade do nadador. Isso é útil […]

6 de março de 2024
Sair da versão mobile