Fala pessoal, comecei com o segundo post logo depois do primeiro.
Esse aqui eu até resolvi, digo, a minha maneira. É um exercício que estou treinando em uma apostila que baixei da UFMA. Como estou seguindo as video aulas do Neri, complemento com exercícios paralelos para fixar conhecimento.
Esse aqui é um:
Problema:
Pelas regras da UFMA, toda disciplina é composta de 3 avaliações obrigatórias. Se um aluno
tem média superior ou igual a 7 (sete) nas três avaliações, ele é considerado “Aprovado por
média.”. Se tiver média inferior a 7 (sete), tem direito a uma quarta prova, chamada de
reposição, que substituiu a menor nota das três provas anteriores (se a nota da reposição for
maior que ela). Após a reposição, se as três maiores notas formarem uma média igual ou
superior a 7 (sete), o aluno é considerado “Aprovado na reposição.”. Finalmente, apenas se tiver
a média com a reposição inferior a 7 (sete), ele faz uma quinta prova, chamada de final, em que
é considerado “Aprovado na final.” se a soma da média com a reposição e a nota da prova final
for igual ou maior que 12 (doze). Nesse último caso, caso a soma da média com reposição e
prova final for inferior a 12 (doze), o aluno é dito como “Reprovado.”. Faça um programa que
lê as três notas obrigatórias de uma disciplina e depois, apenas se necessário, lê as notas da
reposição e final. O programa deve dar como saída as frases “Aprovado por média.”, “Aprovado
na reposição”. “Aprovado na final.” ou “Reprovado.” respectivamente em cada uma dessas
situações conforme a descrição anterior.
Inicio
Variaveis nota1, nota2, nota3, media, nota_reposicao, nota_final := numero
Mostre "Digite a primeira nota: ";
Leia(nota1);
Mostre "Digite a segunda nota: " ;
Leia(nota2);
Mostre "Digite a terceira nota:";
Leia(nota3);
media <- nota1 + nota2 + nota3 / 3;
Se media >= 7 faça
Mostre "Aluno aprovado com media";
senao
Mostre "Aluno não aprovado, indo para a reposição";
// Inicia a outra avaliação
Mostre "Insira o valor da nota de reposição:";
Leia(nota_reposicao);
// Verifica se a nota da reposicao é maior que as notas anteriores
Se nota_reposicao <= media faça
Mostre "Sua nota foi menor que a anterior, mantem a mesma nota";
Pergunta
ujvalle
Fala pessoal, comecei com o segundo post logo depois do primeiro.
Esse aqui eu até resolvi, digo, a minha maneira. É um exercício que estou treinando em uma apostila que baixei da UFMA. Como estou seguindo as video aulas do Neri, complemento com exercícios paralelos para fixar conhecimento.
Esse aqui é um:
Problema:
Pelas regras da UFMA, toda disciplina é composta de 3 avaliações obrigatórias. Se um aluno
tem média superior ou igual a 7 (sete) nas três avaliações, ele é considerado “Aprovado por
média.”. Se tiver média inferior a 7 (sete), tem direito a uma quarta prova, chamada de
reposição, que substituiu a menor nota das três provas anteriores (se a nota da reposição for
maior que ela). Após a reposição, se as três maiores notas formarem uma média igual ou
superior a 7 (sete), o aluno é considerado “Aprovado na reposição.”. Finalmente, apenas se tiver
a média com a reposição inferior a 7 (sete), ele faz uma quinta prova, chamada de final, em que
é considerado “Aprovado na final.” se a soma da média com a reposição e a nota da prova final
for igual ou maior que 12 (doze). Nesse último caso, caso a soma da média com reposição e
prova final for inferior a 12 (doze), o aluno é dito como “Reprovado.”. Faça um programa que
lê as três notas obrigatórias de uma disciplina e depois, apenas se necessário, lê as notas da
reposição e final. O programa deve dar como saída as frases “Aprovado por média.”, “Aprovado
na reposição”. “Aprovado na final.” ou “Reprovado.” respectivamente em cada uma dessas
situações conforme a descrição anterior.
Inicio
Variaveis nota1, nota2, nota3, media, nota_reposicao, nota_final := numero
Mostre "Digite a primeira nota: ";
Leia(nota1);
Mostre "Digite a segunda nota: " ;
Leia(nota2);
Mostre "Digite a terceira nota:";
Leia(nota3);
media <- nota1 + nota2 + nota3 / 3;
Se media >= 7 faça
Mostre "Aluno aprovado com media";
senao
Mostre "Aluno não aprovado, indo para a reposição";
// Inicia a outra avaliação
Mostre "Insira o valor da nota de reposição:";
Leia(nota_reposicao);
// Verifica se a nota da reposicao é maior que as notas anteriores
Se nota_reposicao <= media faça
Mostre "Sua nota foi menor que a anterior, mantem a mesma nota";
senao
// Verificando qual foi a menor das notas
Se nota1 <= nota2 e nota1 <= nota3 então
Mostre " A menor nota é a nota1"
nota_reposicao <- nota1;
Senao se nota2 <= nota1 e nota2 <= nota3
Mostre " A menor nota é a nota2";
nota_reposicao <- nota2;
Senao
Mostre " A menor nota é a nota3";
nota_reposicao <- nota3;
fim se;
media -> nota1 + nota2 + nota3;
Se media >= 7 então
Mostre"Você foi aprovado";
senao
Mostre " Você tem direito a uma quinta prova"
// Chama a quinta prova;
Mostre "Insira a nota da sua prova final: " ;
leia(nota_final);
Se media + nota_final >= 12 faça
Mostre "Aprovado na final";
senao
Mostre "Reprovado";
fim se
fim se
A otimização está ok?!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.