Ir para conteúdo
Fórum Script Brasil
  • 0

Otimização de código.


ujvalle

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...