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?!