Fazer um programa para:
receber 3 notas parciais do aluno em um vetor e a nota do exame em uma variável separada (-1 se o aluno não fez exame).
receber 3 notas parciais do aluno em um vetor e a nota do exame em uma variável separada (-1 se o aluno não fez exame).
Passo 1
Beleza, o enunciado tá pedindo que a gente escreva um programa que:
- Leia 3 notas parciais de um aluno (num vetor)
- Leia a nota do exame separadamente (ou -1 se o aluno NÃO fez exame)
- A partir disso, decida se o aluno está aprovado, reprovado ou se passou por exame, e mostre as médias.
Conteúdo/matéria:
- Uso de vetor (array) para armazenar várias notas.
- Laços para somar elementos do vetor.
- Cálculo de média aritmética.
- Estruturas condicionais (if/else) para decidir o resultado.
O que vamos precisar:
- Um vetor de tamanho 3 para as notas.
- Uma variável para nota do exame.
- Saber calcular média:
- Saber comparar médias para aprovação, reprovação ou exame.
Passo 2
Primeiro a gente lê as 3 notas e armazena num vetor. Depois, lê a nota do exame (ou -1). Em pseudo-código fica assim:
para i de 1 até 3:
leia(notas[i]) // notas é um vetor de tamanho 3
leia(nota_exame) // pode ser -1
Explicando: vetor (array) é uma estrutura que guarda várias variáveis do mesmo tipo. Aqui usamos para não ter 3 variáveis soltas.
Passo 3
Agora vamos calcular a média parcial das 3 notas. A fórmula da média aritmética simples é:
Em código:
soma = notas[1] + notas[2] + notas[3] M = soma / 3.0
A gente faz
3.0
pra garantir divisão real.Passo 4
Checa se o aluno dispensa exame (Média ≥ 7) ou é reprovado direto (Média < 3) sem nem precisar de exame:
se M ≥ 7.0 e nota_exame = -1 então
// Aprovado direto
senao se M < 3.0 e nota_exame = -1 então
// Reprovado direto
Por que 7 e 3? É uma regra que a gente está adotando:
- ≥7 passa direto.
- ❤️ reprova direto.
- Entre 3 e 7 precisa de exame.
Passo 5
Se o aluno ficou entre 3.0 e 7.0, ele precisa ter feito exame. Se
nota_exame = -1
, a gente considera reprovação por não ter ido. Se fez exame, calcula a média final:Depois usa outro if:
senao se M ≥ 3.0 e M < 7.0 então se nota_exame = -1 então // Reprovado por não ter comparecido ao exame senao Mf = (M + nota_exame) / 2.0 se Mf ≥ 5.0 então // Aprovado em exame senao // Reprovado em exame
Aqui a regra é: no exame, média final ≥5 passa, senão reprova.
Resposta
Em resumo, o programa deve:
- Ler vetor
notas[3]
enota_exame
. - Calcular
3) SeM ≥ 7.0
enota_exame = -1
: aluno aprovado direto com médiaM
.
4) SeM < 3.0
enota_exame = -1
: aluno reprovado direto com médiaM
.
5) Se3.0 ≤ M < 7.0
:
- Senota_exame = -1
: reprovado por não ter feito exame (média parcialM
).
- Senota_exame ≠ -1
: calcular- Se
M_f ≥ 5.0
: aprovado em exame com média finalM_f
. - Senão: reprovado em exame com média final
M_f
.
- Se
Pronto! Esse fluxo cobre todos os casos usando vetor, média, e if/else.