Prática de Estrutura Condicional Simples
Introdução
Estruturas de desvio permitem a execução de conjuntos de instruções diferentes a partir de uma condição de teste. A estrutra geral de uma estrutura condicional em fluxograma é a seguintes:
Problema: "Faça um programa que leia três notas e calcule a média aritmética. Se a média for abaixo de 6, Imprima o texto "Reprovado" caso contrário, imprima o texto "Parabéns".
Fluxograma
Para implementar um desvio em linguagem C, utilizamos o comando if respeitando a seguinte estrutura
if (<condição>)
{
<comando 1>;
<comando 2>;
...
<comando n>;
}
<comando n+1>;
...
<comando n+k>;
Na estrutura acima, os comandos <comando 1> até <comando n>, que estão dentro do bloco do if, serão executados somente se a condição for verdadeira. Após isso, o fluxo segue executando os comandos n+1 até n+k. Caso a condiçao de teste seja falsa, os comandos de <comando 1> até <comando n> não serão executados e o fluxo seguirá executando os comandos de <comando n+1> até <comando n+k>.
Desenvolvendo o Programa
1 - Crie o esqueleto do programa e declare as variáveis:
2 - Faça a entrada de dados, calcule a média e apresente na tela:
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
int main()
{
float teste, trabalho, prova, media;
setlocale(LC_ALL, "portuguese");
printf("Digite a nota do teste: ");
scanf("%f", &teste);
printf("Digite a nota do trabalho: ");
scanf("%f", &trabalho);
printf("Digite a nota da prova: ");
scanf("%f", &prova);
media = (teste + trabalho + prova)/3.0;
printf("Média: %.2f", media);
return 0;
}
3 - Adicione uma cláusula if para mostrar o texto parabéns somente se a média for acima de 6.0
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
int main()
{
float teste, trabalho, prova, media;
setlocale(LC_ALL, "portuguese");
printf("Digite a nota do teste: ");
scanf("%f", &teste);
printf("Digite a nota do trabalho: ");
scanf("%f", &trabalho);
printf("Digite a nota da prova: ");
scanf("%f", &prova);
media = (teste + trabalho + prova)/3.0;
if (media >= 6.0)
{
printf("Parabéns!\n");
}
printf("Média: %.2f", media);
return 0;
}
3 - Execute o código e teste os dois casos: quando média for acima de 6.0 e quando a média é abaixo de 6.0
Utilizando a cláusula Else (Senão)
4 - Repare que o código acima não atende a condição de apresentar o texto "Reprovado" para os alunos que não atingiram a nota. Para isso, você pode acrescentar uma outra clásula If para imprimir o texto "Reprovado" caso a média esteja abaixo de 6.0.
...
if (media >= 6.0)
{
printf("Parabéns!\n");
}
if(media < 6.0)
{
printf("Reprovado!\n");
}
...
Desse modo, quando a media estiver abaixo de 6.0, o comando printf("Reprovado!\n") será executado.
Atenção!
Repare que a condição media < 6.0 da segunda cláusula if é extamente a condição contrária à condição media >= 6.0. Para o caso em que temos comandos para serem executados no caso contrário (quando a condição do if for falsa), podemos utilizar a cláusula else e simplificar a nossa vida.
5 - Substitua a segunda cláusula if pelo seguinte código:
...
if (media >= 6.0)
{
printf("Parabéns!\n");
} else {
printf("Reprovado!\n");
}
...
Podemos ler o código acima da seguinte forma:
Repare que o comando printf("Reprovado!\n") será executado somente no caso de a condição media >= 6.0 ser Falsa!!
Teste o programa para os dois casos e observe o resultado.