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:
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.
/* * * 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:
i
do tipo inteiro e a
, b
, c
, menor
, meio
e maior
do tipo real.i
e lê o valor digitado.a
e lê o valor digitado.b
e lê o valor digitado.c
e lê o valor digitado.a
, b
e c
em ordem crescente, armazenando os valores em menor
, meio
e maior
.i
para exibir os números de acordo com a ordem especificada.
i
for igual a 1, exibe menor
, meio
e maior
separados por vírgula.i
for igual a 2, exibe maior
, meio
e menor
separados por vírgula.i
for igual a 3, exibe meio
, maior
e menor
separados por vírgula.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.
(* 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.”.
/******************************************************** 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.
''' 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:
i
, a
, b
e c
.menor
, meio
e maior
.i
.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.
/******************************************************** 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.”.
/******************************************************** 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!
Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!