Construa um programa em C para determinar a situação (APROVADO/EXAME/REPROVADO) de um aluno, dado a sua freqüência (FREQ) (porcentagem de 0 a
) e sua nota (NOTA) (nota de 0.0 a 10.0 ), sendo que:
Condição
Situação
Freqüência até 75%
Reprovado
Freqüência entre 75% e 100% e Nota até 3.0
Reprovado
Freqüência entre 75% e 100% e Nota de 3.0 até 7.0
Exame
Freqüência entre 75% e 100% e Nota entre 7.0 e 10.0
Aprovado
Condição | Situação |
Freqüência até 75% | Reprovado |
Freqüência entre 75% e 100% e Nota até 3.0 | Reprovado |
Freqüência entre 75% e 100% e Nota de 3.0 até 7.0 | Exame |
Freqüência entre 75% e 100% e Nota entre 7.0 e 10.0 | Aprovado |
Passo 1
O enunciado pede um programa em C que leia a frequência
, em porcentagem de
a
e a nota
, de
a
de um aluno e imprima a situação dele: REPROVADO, EXAME ou APROVADO. O conteúdo principal envolve estruturas condicionais (
if
/else
) em C para testar essas duas variáveis e decidir a saída correta.Passo 2
Vamos estruturar a lógica em forma de pseudocódigo:
- Ler
e . - Se
, então
imprimir REPROVADO.
Caso contrário (ou seja,):
2.1. Se, imprimir REPROVADO.
2.2. Senão, se, imprimir EXAME.
2.3. Senão (ou seja,), imprimir APROVADO.
Passo 3
Para implementar em C, vamos usar:
int freq;
para armazenar a frequência em inteiro.float nota;
para armazenar a nota com parte decimal.scanf
para ler os valores defreq
enota
do usuário.printf
para exibir a situação do aluno.- Estruturas
if
/else if
/else
exatamente conforme o pseudocódigo.
Passo 4
Segue o programa completo em C:
#include <stdio.h>
int main(void) {
int freq;
float nota;
/* Leitura da frequência (%) e da nota */
printf("Digite a frequencia (0-100): ");
scanf("%d", &freq);
printf("Digite a nota (0.0-10.0): ");
scanf("%f", ¬a);
/* Verificação das condições */
if (freq <\(=75\)) {
printf("REPROVADO
");
} else {
if (nota <\(=3.0\)f) {
printf("REPROVADO
");
} else if (nota < 7.0f) {
printf("EXAME
");
} else {
printf("APROVADO
");
}
}
return 0;
}
Resposta
#include <stdio.h>
int main(void) {
int freq;
float nota;
printf("Digite a frequencia (0-100): ");
scanf("%d", &freq);
printf("Digite a nota (0.0-10.0): ");
scanf("%f", ¬a);
if (freq <\(=75\)) {
printf("REPROVADO
");
} else {
if (nota <\(=3.0\)f) {
printf("REPROVADO
");
} else if (nota < 7.0f) {
printf("EXAME
");
} else {
printf("APROVADO
");
}
}
return 0;
}