Exercícios de desvio condicional
Dois exercícios simples e que envolvem apenas o uso da estrutura condicional (if). O primeiro é o mais simples, envolvendo apenas uma questão de identificar se dois valores foram um quadrado ou um retângulo e o cálculo de área de perímetro. O segundo exige um pensamento maior, tendo que identificar a forma de determinar o que se pede.
Exercício 1 – (Quadrado) ou (área e perímetro do retângulo)
Elabore um algoritmo que receba dois valores. Os valores correspondem a base e a altura de um retângulo.
Seu algoritmo deve verificar inicialmente se os valores formam um retângulo ou um quadrado. Caso formem um quadrado imprima a palavra QUADRADO e caso seja um retângulo, mostre o perímetro (soma de todos os lados) e a área (base vezes a altura) do retângulo. Separe esses valores com um hífen.
Solução em linguagem C
#include <stdio.h>
int main() {
int a, b, area, per;
scanf("%i %i", &a, &b);
if (a == b) {
printf("QUADRADO");
} else {
area = a * b;
per = a*2 + b*2;
printf("%i - %i", per, area);
}
return 0;
}
Casos de teste para o Laboratório Virtual de Programação
case = teste1 input = 5 5 output = QUADRADO case = teste2 input = 20 20 output = QUADRADO case = teste4 input = 5 20 output = 50 - 100 case = teste5 input = 5 6 output = 22 - 30 case = teste6 input = 11 10 output = 42-110
Exercício 2 – Menor diferença
Elabore um algoritmo que leia 3 valores. Em seguida determine qual valor, o segundo ou o terceiro, possui menor diferença com relação ao primeiro, imprimindo o valor da diferença.
Exemplo:
Valores de entrada: 1 2 3
Saída: 1
Valores de entrada: 8 5 0
Saída: 3
Solução em linguagem C
A dificuldade nesse exercício está em que o primeiro valor não necessariamente será o menor de todos. Isso exige um tratamento adicional.
#include <stdio.h>
int main() {
int a, b, c, dif1, dif2;
scanf("%i %i %i", &a, &b, &c);
dif1 = b - a;
dif2 = c - a;
if (dif1 < 0) {
dif1 = dif1 * -1;
}
if (dif2 < 0) {
dif2 *= -1;
}
if (dif1 < dif2) {
printf("%i", dif1);
} else {
printf("%i", dif2);
}
return 0;
}
Casos de teste para o Laboratório Virtual de Programação
case = teste1 input = 0 2 3 output = 2 case = teste2 input = 0 4 3 output = 3 case = teste3 input = -5 2 3 output = 7 case = teste4 input = 80 20 30 output = 50 case = teste5 input = 10 2 0 output = 8