Voltar Lista de Tópicos

Editar | Versões | Fórum de Discussão

Prazos para Envio


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:

Imagem relacionada

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:

Se a média calculada for maior ou igual a 6.0, escreva "Parabéns". Senão, escreva "Reprovado".

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.
 


Questões

Questão 1
Questão 2
Questão 3
Questão 4
Questão 5

Comentários...

Não há comentários ainda... Seja o primeiro!