Ir ao conteúdo

Posts recomendados

Postado

Bom Dia Galera, estou com dificuldades em criar uma lógica para o exercicio abaixo.

 

Exer . A Secretaria do Curso Superior em Sistemas para Internet ao receber dos seus professores todos os canhotos dos diários com a média obtida por cada aluno em cada disciplina conforme abaixo.  Para efeito de informação, a secretaria precisa de um programa que analise e faça uma lista com a classificação da maior média por disciplina no semestre. Use o conceito de matriz, e vetor, se necessário para resolver esta situação. 

 

O exercicio pede para criar um sistema no qual o usuário vai digitar quantos alunos tem na classe, logo em seguida ira aparecer a parte de cadastro de alunos, onde serão cadastradas também 6 notas desse aluno (Ex. Port, Mat, Log, Alg). Após o cadastro o sistema tem que encontrar e mostrar a maior nota em cada matéria, Ex. Maior nota em Port. maior nota em Mat. e assim por diante.

 

Ate na faze de perguntar quantos alunos e cadastrar eu fiz tranquilo, mas quando  chegou na parte de mostrar as maiores notas eu nao consegui, segue abaixo o código de onde eu parei, em Portugol feito no Visulag.

 

algoritmo "semnome"
var
   aluno: vetor [1..40] de caracter
   materia: vetor [1..6] de caracter
   nota: vetor[1..6,1..40] de real
   cont, l, c, quantos: inteiro
   maior: vetor[1..7] de real
   aluno_maior: vetor[1..40] de inteiro
inicio
      materia[1] <- "Português"
      materia[2] <- "Inglês"
      materia[3] <- "Inf. Social"
      materia[4] <- "Fund."
      materia[5] <- "Matemática"
      materia[6] <- "Algoritmo"
      Escreva ("Quantos alunos tem na classe? (MÁX 40):" )
      Leia (quantos)'
      Para l <- 1 ate quantos faca
           Escreva ("Nome do aluno: ")
           Leia (aluno[l])
           Para c <- 1 ate 6 faca
                Escreva ("Média em ", materia[c],":")
                Leia (nota[l,c])
           FimPara
      Fimpara

 

  • Membro VIP
Postado

Olá.

 

 

Primeiro, tente implementar o conceito de "maior nota" separadamente. Tendo X valores, como identifico qual o maior?

 

Então, uma forma seria ter uma variável que armazena o menor valor possível, ou o primeiro valor, e vai comparando ela uma a uma com cada valor restante... se for maior, atualiza essa variável com o valor atual... no final, essa variável vai ter o maior valor.

 

Outra forma é ordenar o vetor de forma decrescente... o primeiro será o maior...

 

No aguardo

  • Curtir 1
Postado

@Simon Viegas Certo, esse é o ultimo exercicio de umas seria de 6, todos eles pediam para mostrar o maior e o menor valor dos dados digitados. Só que eram só 1 maior e nesse caso são 6 maiores, e é ai q eu me "embananei" , tentei criar um vetor para as maiores notas com 6 posições e em cada posição jogar a maior nota de cada matéria e não consegui.

 

Postado

Rharison Lucas

 As explicações do Simon Viegas estão certas.
  para conseguir pegar a maior nota de cada matéria, é preciso organizar os numeros
no vetor em ordem crescente;   para isso pode se usar três loops para fimpara aninhados
um dentro do outro, e um exemplo desses loops você encontra no próprio visualg3, na 
pasta exemplos, abra o exemplo1, assim você saberá como fazer esses  loops.  Com isso
a maior nota estará na última posição do vetor, que neste caso é a posição 40, porque

o vetor nota vai de 1 até 40, Para isso é preciso colocar mais uma variável do tipo inteiro,

aqui coloquei q, e duas do tipo real, aí depois de organizado em ordem crescente, basta

colocar assim :
 

para c de 1 ate 6 faca                           // são 6 matérias
  para q de 1 ate 40 faca                        // e pode ter de 1 até 40 alunos
    se nota[c,q] > 0 então                       // c vai de 1 até 6 igual ao vetor nota e q vai até 40
      escreva("    ",materia[c],"  a menor nota é ",nota[c,q])
      escreval("  e a maior nota é ",nota[c,40]) // escreve a maior nota da mesma matéria
      interrompa                                 // interrompe a execução desse loop e passa para o próximo
    fimse
  fimpara
fimpara

 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!