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

algoritmo


Quel

Pergunta

Olá pessoal

eu fiz um exercicio aqui mas não sei se ta certo, to com algumas duvidas alguém pode me ajudar?

) Dado uma relação de N alunos de uma turma, cada um possuindo a mesma quantidade X de notas (você deve solicitar que seja digitada a quantidade de notas), faça um algoritmo que leia o nome e as notas dos N alunos e mostre na tela:

• Nome e média dos alunos.

• Quantidade de alunos aprovados (média para aprovação: >= 7.0), quantidade de alunos reprovados (média para reprovação: <= 2.0) e quantidade de alunos em recuperação (média de recuperação: 2 < média < 7.0).

• Média geral da turma.

Eu fiz assim:

Inicio

VARIAVEIS:

NOME {armazenará o nome de cada aluno} literal

QTD_ALUNOS {irá armazenar a quantidade de alunos}

MEDIA_ALUNO {irá armazenar a media de cada aluno}

MED_TURMA {ira armazenar a media geral da turma}

QTD_ALUNOS {irá armazenar a quantidade de alunos na turma}

QTD_NOTAS {irá armazenar a quantidade de notas de cada aluno}

APROVADO {irá armazenar o aluno aprovado}

REPROVADO {irá armazenar o aluno reprovado}

RECUPERACAO {irá armazenar o aluno em recuperação}

ALUNOS_APROV {irá armazenar a quantidade de alunos aprovados}

ALUNOS_REPROV {irá armazenar a quantidade de alunos reprovados}

ALUNOS_REC {irá armazenar a quantidade de alunos em recuperação}

SOMA {variável que irá armazenar a soma das operações necessárias}

CONTA {variável que irá verificar a quantidade de algarismos digitados}

ALUNO {irá dizer onde a variável do cadastro dos alunos irá começar}

VALOR_NOTA {irá dizer onde a variável do valor da nota irá começar}

numérico

escreva: “Digite a quantidade de alunos da turma”

leia: QTD_ALUNOS

escreva: “quantidade de notas que cada aluno possui”

leia: QTD_NOTAS

enquanto ALUNO <= QTD_ALUNOS faça

escreva: “Digite o nome do aluno”

leia: NOME

para VALOR_NOTA de 1 até QTD_NOTAS faça

escreva: “Digite o valor da nota do aluno”

leia: NOTA

fim-para

MEDIA <- NOTAS / QTD_NOTAS {média do aluno}

escreva: “valor da media”

leia: MEDIA

{dados que irão dizer se o aluno esta aprovado, reprovado ou em recuperação}

se MEDIA > = 7.0 então

escreva: “Aluno Aprovado”

leia:APROVADO

fim-se

senão

se MEDIA < 7.0 e MEDIA > 2.0 então

escreva: “Aluno em Recuperação”

leia:RECUPERACAO

fim-se

senão

se MEDIA < 2.0 então

escreva: “Aluno Reprovado”

leia:REPROVADO

fim-se

fim-enquanto

enquanto MEDIA > 0 faça {soma das médias dos alunos}

CONTA = 0

CONTA <- CONTA + 1

SOMA <- SOMA + MEDIA

escreva SOMA_MEDIAS

leia SOMA_MEDIAS

fim-enquanto

enquanto APROVADO > 0 faça {número de alunos aprovados}

CONTA = 0

CONTA <- CONTA + 1

SOMA <- SOMA + APROVADO

escreva ALUNOS_APROV

leia ALUNOS_APROV

fim-enquanto

enquanto RECUPERACAO > 0 faça {número de alunos em recuperação}

CONTA = 0

CONTA <- CONTA + 1

SOMA <- SOMA + RECUPERACAO

escreva ALUNOS_REC

leia ALUNOS_REC

fim-enquanto

enquanto REPROVADO > 0 faça {número de alunos reprovados}

CONTA = 0

CONTA <- CONTA + 1

SOMA <- SOMA + REPROVADO

escreva ALUNOS_REPRO

leia ALUNOS_REPRO

fim-enquanto

MEDIA-TURMA <- SOMA_MEDIAS / QTD_ALUNOS {média da turma}

escreva: MEDIA_TURMA

leia:MEDIA_TURMA

fim

É isso mesmo?? Será que ta faltando alguma coisa?

Obrigada

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

não entendo esse jeito de programar em portugues, mas acho q você ta pedindo pro cara digitar a media, não?? você não teira q fazer o calculo baseado nas notas?? na tem sentido pedir pra ele digitar as notas e depois a media.

outra coisa, é q você manda ele ler a variavel aprovado:

leia:APROVADO
você não deveria, em vez de pedir pra ler, somar mais 1 quando o aluno tiver aprovado. e o mesmo pra reprovado, etc. e tb não entendi essas partes no final:
enquanto RECUPERACAO > 0 faça {número de alunos em recuperação}
   CONTA = 0
   CONTA <- CONTA + 1
   SOMA <- SOMA + RECUPERACAO
   escreva ALUNOS_REC
   leia ALUNOS_REC
fim-enquanto[/code]

q conta estranha é essa q você faz?? e porque você pede pra escrever ALUNOS_REC sendo q você nunca usou essa variavel antes (ou seja, ela ta vazia) e ainda depois você pede pra ler e não usa mais??

Link para o comentário
Compartilhar em outros sites

  • 0

Quel faltando não sei mas, acho que tem muita rotina, acho que se você "enxugar um pouco masis fica melhor pra compreende em alguma rotinas você usa "for" "while" sem necessidade..

Mas, com eu já ouvi muito não existe formula certa pra se fazer um programa a forma certa é a que funciona mas, não custa nada poupar trabalho....

A proposito, no quesito entendimento você já ouviu falar em indentação? rsrsrsrsrrsrsrsrsrsrsrrs

Olá pessoal

eu fiz um exercicio aqui mas não sei se ta certo, to com algumas duvidas alguém pode me ajudar?

) Dado uma relação de N alunos de uma turma, cada um possuindo a mesma quantidade X de notas (você deve solicitar que seja digitada a quantidade de notas), faça um algoritmo que leia o nome e as notas dos N alunos e mostre na tela:

• Nome e média dos alunos.

• Quantidade de alunos aprovados (média para aprovação: >= 7.0), quantidade de alunos reprovados (média para reprovação: <= 2.0) e quantidade de alunos em recuperação (média de recuperação: 2 < média < 7.0).

• Média geral da turma.

Eu fiz assim:

Inicio

VARIAVEIS:

NOME {armazenará o nome de cada aluno} literal

QTD_ALUNOS {irá armazenar a quantidade de alunos}

MEDIA_ALUNO {irá armazenar a media de cada aluno}

MED_TURMA {ira armazenar a media geral da turma}

QTD_ALUNOS {irá armazenar a quantidade de alunos na turma}

QTD_NOTAS {irá armazenar a quantidade de notas de cada aluno}

APROVADO {irá armazenar o aluno aprovado}

REPROVADO {irá armazenar o aluno reprovado}

RECUPERACAO {irá armazenar o aluno em recuperação}

ALUNOS_APROV {irá armazenar a quantidade de alunos aprovados}

ALUNOS_REPROV {irá armazenar a quantidade de alunos reprovados}

ALUNOS_REC {irá armazenar a quantidade de alunos em recuperação}

SOMA {variável que irá armazenar a soma das operações necessárias}

CONTA {variável que irá verificar a quantidade de algarismos digitados}

ALUNO {irá dizer onde a variável do cadastro dos alunos irá começar}

VALOR_NOTA {irá dizer onde a variável do valor da nota irá começar}

numérico

escreva: “Digite a quantidade de alunos da turma”

leia: QTD_ALUNOS

escreva: “quantidade de notas que cada aluno possui”

leia: QTD_NOTAS

enquanto ALUNO <= QTD_ALUNOS faça

escreva: “Digite o nome do aluno”

leia: NOME

para VALOR_NOTA de 1 até QTD_NOTAS faça

escreva: “Digite o valor da nota do aluno”

leia: NOTA

fim-para

MEDIA <- NOTAS / QTD_NOTAS {média do aluno}

escreva: “valor da media”

leia: MEDIA

{dados que irão dizer se o aluno esta aprovado, reprovado ou em recuperação}

se MEDIA > = 7.0 então

escreva: “Aluno Aprovado”

leia:APROVADO

fim-se

senão

se MEDIA < 7.0 e MEDIA > 2.0 então

escreva: “Aluno em Recuperação”

leia:RECUPERACAO

fim-se

senão

se MEDIA < 2.0 então

escreva: “Aluno Reprovado”

leia:REPROVADO

fim-se

fim-enquanto

enquanto MEDIA > 0 faça {soma das médias dos alunos}

CONTA = 0

CONTA <- CONTA + 1

SOMA <- SOMA + MEDIA

escreva SOMA_MEDIAS

leia SOMA_MEDIAS

fim-enquanto

enquanto APROVADO > 0 faça {número de alunos aprovados}

CONTA = 0

CONTA <- CONTA + 1

SOMA <- SOMA + APROVADO

escreva ALUNOS_APROV

leia ALUNOS_APROV

fim-enquanto

enquanto RECUPERACAO > 0 faça {número de alunos em recuperação}

CONTA = 0

CONTA <- CONTA + 1

SOMA <- SOMA + RECUPERACAO

escreva ALUNOS_REC

leia ALUNOS_REC

fim-enquanto

enquanto REPROVADO > 0 faça {número de alunos reprovados}

CONTA = 0

CONTA <- CONTA + 1

SOMA <- SOMA + REPROVADO

escreva ALUNOS_REPRO

leia ALUNOS_REPRO

fim-enquanto

MEDIA-TURMA <- SOMA_MEDIAS / QTD_ALUNOS {média da turma}

escreva: MEDIA_TURMA

leia:MEDIA_TURMA

fim

É isso mesmo?? Será que ta faltando alguma coisa?

Obrigada

Link para o comentário
Compartilhar em outros sites

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,5k
×
×
  • Criar Novo...