O documento apresenta 5 programas em C++ que utilizam estruturas condicionais if/else para resolver problemas lógicos. O Programa 1 lê dois números e os exibe em ordem crescente. O Programa 2 lê um número e determina se é par ou ímpar. O Programa 3 faz cálculos matemáticos com dois números lidos.
1. Linguagem C++
Exercícios com If/Else
Programa 1: Ler dois números inteiros e apresentá-los na tela em ordem crescente.
#include <cstdio>
#include <cstdlib>
int main() {
int a,b;
printf("Digite o primeiro numeron");
scanf("%d", &a);
printf("Digite o segundo numeron");
scanf("%d", &b);
if (a < b)
printf("Ordem crescente = %d e %dn", a, b);
else
printf("Ordem crescente = %d e %dn", b, a);
system("PAUSE");
return 0;
}
Digite o primeiro numero
9876
Digite o segundo numero
312
Ordem crescente = 312 e 9876
Pressione qualquer tecla para
continuar. . .
Programa 2: Ler um número inteiro e determinar se o número é par ou ímpar,
utilizando o operador % (módulo), que devolve o resto de uma divisão inteira.
Exemplos:
12 % 2 = 0
19 % 2 = 1 (19/2 = 9 e sobra resto 1)
26 % 3 = 2 (26/3 = 8 e sobra resto 2)
40 % 6 = 4 (40/6 = 6 e sobra resto 4)
#include <cstdio>
#include <cstdlib>
int main() {
int x, resto;
printf("Digite um numeron");
scanf("%d", &x);
resto = x%2;
if (resto == 0)
printf("O numero eh parn");
else
printf("O numero eh
imparn");
system("PAUSE");
return 0;
}
Digite um numero
75439
O numero eh impar
Pressione qualquer tecla para continuar. . .
2. Programa 3: Leia dois inteiros e imprima a soma, a diferença, o produto, a divisão
inteira e o módulo dos números. Desta vez, faça uma verificação para não ocorrer
divisão por zero.
#include <cstdio>
#include <cstdlib>
int main() {
int a,b;
printf("Digite dois inteirosn");
scanf("%d %d", &a, &b);
printf("A soma eh %dn", a+b);
printf("A diferenca eh %dn", a-b);
printf("O produto eh %dn", a*b);
if(b == 0)
printf("Nao podemos dividir por
zero!n");
else {
printf("A divisao eh %dn", a/b);
printf("O modulo eh %dn", a%b);
}
system("PAUSE");
return 0;
}
Digite dois inteiros
89172 0
A soma eh 89172
A diferenca eh 89172
O produto eh 0
Nao podemos dividir por zero!
Pressione qualquer tecla para continuar. . .
Podemos precisar de operações lógicas na comparação, como quando, tendo lido um
número, queremos saber se o número é par e maior que 10.
Fazemos isso em C da seguinte forma:
if (x%2 == 0 && x > 10) {
printf(“Sim, o número é par e maior que 10!”);
}
else {
printf(“Não, o número é ímpar ou menor que 10”);
}
Operadores lógicos:
&& E
|| Ou
! Negação
3. Programa 4: Leia a altura de uma pessoa e seu sexo, e então calcule seu peso ideal,
utilizando a fórmula:
Para homens: (72.7 * h) – 58
Para mulheres: (62.1 * h) – 44.7
Dê uma mensagem de erro caso seja escrito sexo diferente de: m, M, f, F.
#include <cstdio>
#include <cstdlib>
int main() {
float h;
char sexo;
printf("Digite sua altura:n");
scanf(" %f", &h);
printf("Digite seu sexo:n");
scanf(" %c", &sexo);
if(sexo == 'f' || sexo == 'F') {
printf("Peso ideal: %fn", (62.1 * h) -
44.7);
}
else if(sexo == 'm' || sexo == 'M') {
printf("Peso ideal: %fn", (72.7 * h) - 58);
}
else {
printf("Sexo invalidon");
}
system("PAUSE");
return 0;
}
Digite sua altura:
1.65
Digite seu sexo:
F
Peso ideal: 57.764999
Pressione qualquer tecla para continuar. . .
Digite sua altura:
1.73
Digite seu sexo:
X
Sexo invalido
Pressione qualquer tecla para continuar. . .
4. Programa 5: Leia os 3 lados de um triângulo, e verifique se o triângulo existe. Em
seguida, classifique-o como equilátero, isósceles e escaleno.
A condição de existência do triângulo é que cada lado deve ser menor que a soma dos
outros 2(dois) lados.
Para existir triângulo:
(a < b + c) e (b < a + c) e (c < a + b)
Triângulo equilátero:
(a = b) e (b = c) e (a = c)
Triângulo escaleno:
(a != b) e (b != c) e (a != c)
Triângulo isósceles:
(a = b) ou (b = c) ou (a = c)
if((a < b+c) && (b < a+c) && (c < a+b)) {
Como o triângulo existe,
devemos classificá-lo.
}
else
printf("Nao existe triangulo!n");
O programa completo é mostrado a seguir:
#include <cstdio>
#include <cstdlib>
int main() {
float a,b,c;
printf("Digite o primeiro lado:n");
scanf(" %f", &a);
printf("Digite o segundo lado:n");
scanf(" %f", &b);
printf("Digite o terceiro lado:n");
scanf(" %f", &c);
if((a < b+c) && (b < a+c) && (c < a+b))
{
if((a == b) && (b == c))
printf("Triangulo equilateron");
else if((a != b) && (b != c) && (c != a))
printf("Triangulo escalenon");
else
printf("Triangulo isóscelesn");
}
else
printf("Nao existe triangulo!n");
system("PAUSE");
return 0;
}
Digite o primeiro lado:
2
Digite o segundo lado:
2
Digite o terceiro lado:
2
Triangulo equilatero
Pressione qualquer tecla para continuar. . .
Digite o primeiro lado:
4
Digite o segundo lado:
1
Digite o terceiro lado:
2
Nao existe triangulo!
Pressione qualquer tecla para continuar. . .