Ir ao conteúdo
  • Cadastre-se

Cálculo de gols por jogo


Posts recomendados

@devair1010 To com esse seguinte Algoritmo!

Não sei se To fazendo ele Certo..Confere Pra mim Fazendo Favor!

  • A média de jogos não está certo !

 

Algoritmo “Futebol”

 

Criar um algoritmo para um time de futebol, que receba na tela:

Receber na tela:

Ø  Nome do jogador

Ø  Altura

Ø  Peso

Ø  Idade

Ø  Número de jogos

Ø  Número de gols

Ø  Número de passes corretos

Ø  Número de passes errados

 

Calcular:

Ø  Quantidade total de jogadores digitados.

Ø  Média de altura dos jogadores.

Ø  Média de peso dos jogadores.

Ø  Média de idade dos jogadores.

Ø  Média de gols por jogo.

Ø  Média de passes corretos por jogo.

Ø  Média de passes errados por jogo.

Ø  Nome do jogador mais goleador.

 

Mostrar no final todos os resultados calculados!

 

adicionado 3 minutos depois
Algoritmo "futebol"
// Função : Criar Algoritmo para Pessoas
// Autor : João Emilio
// Data : 18/04/2017
// Seção de Declarações
Var
   // Seção de Declarações das variáveis
   nome      :vetor[1..20,1..8] de caractere
   continuar     :caractere //flag para verificar se deseja continuar cadastrando
   MAXIMO        :inteiro  //maximo de vendas possíveis
   i             :inteiro  //utilizado para controlar os for
   quant         :inteiro  //quantidade de pessoas
   cont          :inteiro  //quantidade de impressões na tela (não imprimir tudo de vez)
   maisgoleador  :caractere   //Exibe o Mais Goleador
   maior         :real
   altura        :real
   mediaaltura   :real
   peso          :real
   mediapeso     :real
   idade         :real
   mediaidade    :real
   gols          :real
   jogos         :real
   mediagols     :real
   passescorretos :real
   passeserrados  :real
   mediapassescorretos :real
   mediapasseserrados  :real



Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   MAXIMO<-3



   //CADASTRO DE PESSOAS
   continuar:="s"
   enquanto (continuar = "S") ou (continuar = "s") faca

      //APRESENTAÇÃO DO PROGRAMA
      escreval()
      escreval("================================")
      escreval("              FUTEBOL           ")
      escreval("================================")
      escreval()

      quant:=quant+1
      escreva("Nome do Jogador................: ")
      leia(nome[quant,1])
      escreva("Altura do Jogador..............: ")
      leia(nome[quant,2])
      escreva("Peso do Jogador................: ")
      leia(nome[quant,3])
      escreva("Idade do Jogador...............: ")
      leia(nome[quant,4])
      escreva("Número de Jogos................: ")
      leia(nome[quant,5])
      escreva("Número de Gols.................: ")
      leia(nome[quant,6])
      escreva("Número de Passes Corretos......: ")
      leia(nome[quant,7])
      escreva("Número de Passes Errados.......: ")
      leia(nome[quant,8])
      escreval()
      escreval()
      se quant < MAXIMO então
         escreva("Quer Cadastrar Mais Um Jogador ?  <  S/N   >  ")
         leia(continuar)
      senao
         escreva("Só Pode Cadastrar Até",MAXIMO," Jogadores...  Tecle Enter")
         leia(continuar)
         continuar:="n"
      fimse
      limpatela
   fimenquanto


   //EXIBIÇÃO DE RESULTADOS
   maior <- 0


   para i de 1 ate quant faca

      //Média de Altura
      altura <-(caracpnum(nome[i,2])+ altura)
      mediaaltura <- altura/quant

      //Média de Peso
      peso <- (caracpnum(nome[i,3]) + peso)
      mediapeso <- peso/quant

      //Média de Idade
      idade <- (caracpnum(nome[i,4]) + idade)
      mediaidade <- idade/quant

      //Média de Gols Por jogo
      gols <- (caracpnum(nome[i,6]) + gols)
      jogos <- (caracpnum(nome[i,5]) + jogos)
      mediagols <- gols/jogos

      //Média de Passes Corretos
      passescorretos <- (caracpnum(nome[i,7]) + passescorretos)
      mediapassescorretos <- passescorretos/quant

      //Média de Passes Errados
      passeserrados <- (caracpnum(nome[i,8]) + passeserrados)
      mediapasseserrados <- passeserrados/quant



      //Mais Goleador
      se (caracpnum(nome[i,6]) > maior )  então
         maisgoleador <-(nome[i,1])
         maior <- (caracpnum(nome[i,6]))
      fimse
   fimpara

   //Exibição dos resultados
   limpatela
   cont<-0
   para i de 1 ate quant faca
      escreval()
      cont:=cont+1
      escreval("Nome da Pessoa ----> ",nome[i,1])
      escreval("Altura ------------> ",nome[i,2], " Metros")
      escreval("Peso --------------> ",nome[i,3], " KG")
      escreval("Idade -------------> ",nome[i,4], " Anos")
      escreval("Número de Jogos ---> ",nome[i,5], " Jogos")
      escreval("Número de Gols ----> ",nome[i,6], " Gols")
      escreval("Número de Passes Corretos ---> ",nome[i,7], " Passes")
      escreval("Número de Passes Errados  ---> ",nome[i,8], " Passes")
      se cont=3 então
         cont:=0
         escreval()
         escreval("Tecle Enter Para Continuar")
         leia(continuar)
      fimse
   fimpara


   //TOTAL
   escreval()
   escreval()
   escreval()
   escreval()
   escreval("===================================")
   escreval("Total DE Jogadores Digitados ------> ",quant)
   escreval("Média de ALTURA dos Jogadores -----> ",mediaaltura:1:2, " Metros")
   escreval("Média de PESO dos Jogadores -------> ",mediapeso:2, " KG")
   escreval("Média de IDADE dos Jogadores ------> ",mediaidade:2, " Anos")
   escreval()
   escreval("Média de Gols por Jogo ------------> ",mediagols:2:2, " Gols Por Jogo")
   escreval("Média de Passes Corretos por Jogo -> ",mediapassescorretos:2, " Passes Por Jogo")
   escreval("Média de Passes Errados por Jogo --> ",mediapasseserrados:2, " Passes Por Jogo")
   escreval()
   escreval()
   escreval("NOME DO JOGADOR MAIS GOLEADOR -----> ",maisgoleador)
   escreval("===================================")


fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@joao emilio borges garcia      esse algoritmo está funcionando bem, você quer a

média de jogos por jogador ?  então vai precisar de outra variável coloque essa :

mediajogos : real

 e na hora de fazer os cálculos ali no primeiro loop i a média de gols precisa ser

modificado, e calculado a média de jogos por jogador, então coloque:

mediagols <- gols/jogos//antemedia/quant
mediajogos:=jogos/quant

e lá no final na hora de mostrar os resultados coloque :

escreval("Média de  Jogos Por Jogador -------> ",mediajogos:2," Jogos Por Jogador")

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

Complementando:

 

1) NOMENCLATURA DE VARIÁVEL

Você está usando uma matriz chamada "nome", mas nela está cadastrando "Nome", "Altura", "Peso" etc. Sugiro alterar para "Jogadores".

 

Para simplificar o processo, pressione CTRL+U, e "Procurar por: nome" e "Substituir por: jogadores". Ai vai pressionado "S" ou "N". Bem fácil.

 

Obs.: é recomendado nomenclaturar vetores ou matrizes no plural.

 

 

O mesmo vale para as variáveis que vai calculando a soma de cada atributo... ex.:
- somaAltura, em vez de altura;

- somaPeso, em vez de peso;

etc

 

 

2) CÁLCULO DAS MÉDIAS

Você está fazendo o cálculo das médias dentro do para, ou seja, para cada volta (loop) está sendo calculado novamente, mas na verdade deveria calcular uma vez só.

 

Dentro do para deveria apenas ir somando... Algo como:

   para i de 1 ate quant faca
      somaAltura        <-(caracpnum(jogadores[i,2])+somaAltura)
      somaPeso          <-(caracpnum(jogadores[i,3])+somaPeso)
      somaIdade         <-(caracpnum(jogadores[i,4])+somaIdade)
      somaGols          <-(caracpnum(jogadores[i,6])+somaGols)
      somaJogos         <-(caracpnum(jogadores[i,5])+somaJogos)
      somaPassesCorretos<-(caracpnum(jogadores[i,7])+somaPassesCorretos)
      somaPassesErrados <-(caracpnum(jogadores[i,8])+somaPassesErrados)
      ...

 

Após ter esses dados, ai sim faz as contas, algo como:

fimPara
mediaaltura<-somaAltura/quant
mediapeso  <-somaPeso/quant
...

 

***

 

No aguardo.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Algoritmo "futebol"
// Função : Criar Algoritmo para Futebol
// Autor : João Emilio
// Data : 18/04/2017
// Seção de Declarações
Var
   // Seção de Declarações das variáveis
   jogadores      :vetor[1..20,1..8] de caractere
   continuar     :caractere //flag para verificar se deseja continuar cadastrando
   MAXIMO        :inteiro  //maximo de jogadores possíveis
   i             :inteiro  //utilizado para controlar os for
   quant         :inteiro  //quantidade de pessoas
   cont          :inteiro  //quantidade de impressões na tela (não imprimir tudo de vez)
   Maisgoleador  :caractere   //Exibe o Mais Goleador
   Maior         :real
   somaAltura    :real
   mediaAltura   :real
   somaPeso      :real
   mediaPeso     :real
   somaIdade     :real
   mediaIdade    :real
   somaGols      :real
   somaJogos     :real
   mediaGols     :real
   somaPassesCorretos  :real
   somaPassesErrados   :real
   mediaPassesCorretos :real
   mediaPassesErrados  :real
   mediaJogos          :real


Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   MAXIMO<-3



   //CADASTRO DE Jogadores
   continuar:="s"
   enquanto (continuar = "S") ou (continuar = "s") faca

      //APRESENTAÇÃO DO PROGRAMA
      escreval()
      escreval("================================")
      escreval("           FUTEBOL              ")
      escreval("================================")
      escreval()

      quant:=quant+1
      escreva("Nome do Jogador................: ")
      leia(jogadores[quant,1])
      escreva("Altura do Jogador..............: ")
      leia(jogadores[quant,2])
      escreva("Peso do Jogador................: ")
      leia(jogadores[quant,3])
      escreva("Idade do Jogador...............: ")
      leia(jogadores[quant,4])
      escreva("Número de Jogos................: ")
      leia(jogadores[quant,5])
      escreva("Número de Gols.................: ")
      leia(jogadores[quant,6])
      escreva("Número de Passes Corretos......: ")
      leia(jogadores[quant,7])
      escreva("Número de Passes Errados.......: ")
      leia(jogadores[quant,8])
      escreval()
      escreval()
      se quant < MAXIMO então
         escreva("Quer Cadastrar Mais Um Jogador ?  <  S/N   >  ")
         leia(continuar)
      senao
         escreva("Só Pode Cadastrar Até",MAXIMO," Jogadores...  Tecle Enter")
         leia(continuar)
         continuar:="n"
      fimse
      limpatela
   fimenquanto


   //EXIBIÇÃO DE RESULTADOS
   Maior <- 0


   para i de 1 ate quant faca
      somaAltura <-(caracpnum(jogadores[i,2])+ somaAltura)
      somaPeso <- (caracpnum(jogadores[i,3]) + somaPeso)
      somaIdade <- (caracpnum(jogadores[i,4]) + somaIdade)
      somaGols <- (caracpnum(jogadores[i,6]) + somaGols)
      somaJogos <- (caracpnum(jogadores[i,5]) + somaJogos)
      somaPassesCorretos <- (caracpnum(jogadores[i,7]) + somaPassesCorretos)
      somaPassesErrados <- (caracpnum(jogadores[i,8]) + somaPassesErrados)
   fimpara

   //Média de Altura
   mediaAltura <- somaAltura/quant

   //Média de Peso
   mediaPeso <- somaPeso/quant

   //Média de Idade
   mediaIdade <- somaIdade/quant

   //Média de Gols Por jogo
   mediaGols <- somaGols/somaJogos //antemedia/quant

   //Média de Jogos
   mediaJogos<- somaJogos/quant

   //Média de Passes Corretos
   mediaPassesCorretos <- somaPassesCorretos/quant

   //Média de Passes Errados
   mediaPassesErrados <- somaPassesErrados/quant


   //Mais Goleador
   se (caracpnum(jogadores[i,6]) > Maior )  então
      Maisgoleador <-(jogadores[i,1])
      Maior <- (caracpnum(jogadores[i,6]))
   fimse


   //Exibição dos resultados
   limpatela
   cont<-0
   para i de 1 ate quant faca
      escreval()
      cont:=cont+1
      escreval("Nome do Jogador ---> ",jogadores[i,1])
      escreval("Altura ------------> ",jogadores[i,2], " Metros")
      escreval("Peso --------------> ",jogadores[i,3], " KG")
      escreval("Idade -------------> ",jogadores[i,4], " Anos")
      escreval("Número de Jogos ---> ",jogadores[i,5], " Jogos")
      escreval("Número de Gols ----> ",jogadores[i,6], " Gols")
      escreval("Número de Passes Corretos ---> ",jogadores[i,7], " Passes")
      escreval("Número de Passes Errados  ---> ",jogadores[i,8], " Passes")
      se cont=3 então
         cont:=0
         escreval()
         escreval("Tecle Enter Para Continuar")
         leia(continuar)
      fimse
   fimpara


   //TOTAL
   escreval()
   escreval()
   escreval()
   escreval()
   escreval("===================================")
   escreval("Total DE Jogadores Digitados ------> ",quant)
   escreval("Média de Altura dos Jogadores -----> ",mediaAltura:1:2, " Metros")
   escreval("Média de Peso dos Jogadores -------> ",mediaPeso:2, " KG")
   escreval("Média de Idade dos Jogadores ------> ",mediaIdade:2, " Anos")
   escreval()
   escreval("Média de Gols por Jogo ------------> ",mediaGols:2:2, " Gols Por Jogo")
   escreval("Média de Jogos por Jogador --------> ",mediaJogos:2," Jogos Por Jogador")
   escreval("Média de Passes Corretos por Jogo -> ",mediaPassesCorretos:2, " Passes Por Jogo")
   escreval("Média de Passes Errados por Jogo --> ",mediaPassesErrados:2, " Passes Por Jogo")
   escreval()
   escreval()
   escreval("Nome DO JOGADOR MAIS GOLEADOR -----> ",Maisgoleador)
   escreval("===================================")


fimalgoritmo

 

adicionado 0 minutos depois

@Simon Viegas Fiz as correções que me falou !!

adicionado 14 minutos depois
1 hora atrás, Simon Viegas disse:

Olá.

 

Complementando:

 

1) NOMENCLATURA DE VARIÁVEL

Você está usando uma matriz chamada "nome", mas nela está cadastrando "Nome", "Altura", "Peso" etc. Sugiro alterar para "Jogadores".

 

Para simplificar o processo, pressione CTRL+U, e "Procurar por: nome" e "Substituir por: jogadores". Ai vai pressionado "S" ou "N". Bem fácil.

 

Obs.: é recomendado nomenclaturar vetores ou matrizes no plural.

 

 

O mesmo vale para as variáveis que vai calculando a soma de cada atributo... ex.:
- somaAltura, em vez de altura;

- somaPeso, em vez de peso;

etc

 

 

2) CÁLCULO DAS MÉDIAS

Você está fazendo o cálculo das médias dentro do para, ou seja, para cada volta (loop) está sendo calculado novamente, mas na verdade deveria calcular uma vez só.

 

Dentro do para deveria apenas ir somando... Algo como:


   para i de 1 ate quant faca
      somaAltura        <-(caracpnum(jogadores[i,2])+somaAltura)
      somaPeso          <-(caracpnum(jogadores[i,3])+somaPeso)
      somaIdade         <-(caracpnum(jogadores[i,4])+somaIdade)
      somaGols          <-(caracpnum(jogadores[i,6])+somaGols)
      somaJogos         <-(caracpnum(jogadores[i,5])+somaJogos)
      somaPassesCorretos<-(caracpnum(jogadores[i,7])+somaPassesCorretos)
      somaPassesErrados <-(caracpnum(jogadores[i,8])+somaPassesErrados)
      ...

 

Após ter esses dados, ai sim faz as contas, algo como:


fimPara
mediaaltura<-somaAltura/quant
mediapeso  <-somaPeso/quant
...

 

***

 

No aguardo.

So que o fimpara*eu tive que por depois do "// Mais goleador .senão dava erro no Visualg2.0"

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @joao emilio borges garcia.

 

1) AJUSTE DE COMENTÁRIO

 

26 minutos atrás, joao emilio borges garcia disse:

//EXIBIÇÃO DE RESULTADOS
Maior <- 0
..

 

Acho que tá mais para

 

Citação

   //CÁLCULO DE RESULTADOS

 

 

2) SUGESTÃO DE ORGANIZAÇÃO

Para enxugar um pouco o código, veja exemplo abaixo:

   mediaAltura <- somaAltura/quant  //Média de Altura
   mediaPeso   <- somaPeso/quant    //Média de Peso
   mediaIdade  <- somaIdade/quant   //Média de Idade
   mediaGols   <- somaGols/somaJogos//Média de Gols Por jogo
   mediaJogos  <- somaJogos/quant   //Média de Jogos
   mediaPassesCorretos <- somaPassesCorretos/quant //Média de Passes Corretos
   mediaPassesErrados  <- somaPassesErrados/quant  //Média de Passes Errados
   se (caracpnum(jogadores[i,6]) > Maior ) então //Mais Goleador
      Maisgoleador <-(jogadores[i,1])
      Maior <- (caracpnum(jogadores[i,6]))
   fimse

 

Obs.: Tem um erro de lógica ai, pois  "Mais Goleado" necessita do para. (vide item 4)

 

 

3) REAPROVEITAMENTO DE ESTRUTURA

Observe que lá em

29 minutos atrás, joao emilio borges garcia disse:

   //Exibição dos resultados
   limpatela

 

 

Nessa parte que "exibição" tem um para que exibe os dados dos jogadores... e ele tem o mesmo tamanho que o para que o para lá em "calcula". Daí, seria até possível juntar uma coisa na outra... (se fosse o caso, a parte que calcula a média teria que também ficar abaixo do para). Mas acho que do jeito que está tá bom!!! (quis comentar sobre isso, mas não ligue por enquanto)

 

 

4)  MAIS GOLEADOR..

 

36 minutos atrás, joao emilio borges garcia disse:

      se (caracpnum(jogadores[i,6]) > Maior ) então //Mais Goleador
         Maisgoleador <-(jogadores[i,1])
         Maior <- (caracpnum(jogadores[i,6]))
      fimse

 

 

Veja que nessa cálculo é necessário verificar a cada loop, logo deverá ficar dentro do para. Qual erro está dando? (de qualquer forma, uma coisa é certa: não é para ficar fora... ou seja, a tática de retirar teoricamente só serviria para a evitar o erro de sintaxe (bug ou erro na sua programação ), mas por si só já trouxe um erro de lógica)

 

***

 

No aguardo.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

7 horas atrás, Simon Viegas disse:

Olá @joao emilio borges garcia.

 

1) AJUSTE DE COMENTÁRIO

 

Acho que tá mais para

 

 

 

2) SUGESTÃO DE ORGANIZAÇÃO

Para enxugar um pouco o código, veja exemplo abaixo:


   mediaAltura <- somaAltura/quant  //Média de Altura
   mediaPeso   <- somaPeso/quant    //Média de Peso
   mediaIdade  <- somaIdade/quant   //Média de Idade
   mediaGols   <- somaGols/somaJogos//Média de Gols Por jogo
   mediaJogos  <- somaJogos/quant   //Média de Jogos
   mediaPassesCorretos <- somaPassesCorretos/quant //Média de Passes Corretos
   mediaPassesErrados  <- somaPassesErrados/quant  //Média de Passes Errados
   se (caracpnum(jogadores[i,6]) > Maior ) então //Mais Goleador
      Maisgoleador <-(jogadores[i,1])
      Maior <- (caracpnum(jogadores[i,6]))
   fimse

 

Obs.: Tem um erro de lógica ai, pois  "Mais Goleado" necessita do para. (vide item 4)

 

 

3) REAPROVEITAMENTO DE ESTRUTURA

Observe que lá em

 

Nessa parte que "exibição" tem um para que exibe os dados dos jogadores... e ele tem o mesmo tamanho que o para que o para lá em "calcula". Daí, seria até possível juntar uma coisa na outra... (se fosse o caso, a parte que calcula a média teria que também ficar abaixo do para). Mas acho que do jeito que está tá bom!!! (quis comentar sobre isso, mas não ligue por enquanto)

 

 

4)  MAIS GOLEADOR..

 

 

Veja que nessa cálculo é necessário verificar a cada loop, logo deverá ficar dentro do para. Qual erro está dando? (de qualquer forma, uma coisa é certa: não é para ficar fora... ou seja, a tática de retirar teoricamente só serviria para a evitar o erro de sintaxe (bug ou erro na sua programação ), mas por si só já trouxe um erro de lógica)

 

***

 

No aguardo.

Algoritmo "futebol"
// Função : Criar Algoritmo para Futebol
// Autor : João Emilio
// Data : 18/04/2017
// Seção de Declarações
Var
// Seção de Declarações das variáveis
jogadores      :vetor[1..20,1..8] de caractere
continuar     :caractere //flag para verificar se deseja continuar cadastrando
MAXIMO        :inteiro  //maximo de jogadores possíveis
i             :inteiro  //utilizado para controlar os for
quant         :inteiro  //quantidade de pessoas
cont          :inteiro  //quantidade de impressões na tela (não imprimir tudo de vez)
Maisgoleador  :caractere   //Exibe o Mais Goleador
Maior         :real
somaAltura    :real
mediaAltura   :real
somaPeso      :real
mediaPeso     :real
somaIdade     :real
mediaIdade    :real
somaGols      :real
somaJogos     :real
mediaGols     :real
somaPassesCorretos  :real
somaPassesErrados   :real
mediaPassesCorretos :real
mediaPassesErrados  :real
mediaJogos          :real


Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
MAXIMO<-3



//CADASTRO DE Jogadores
continuar:="s"
enquanto (continuar = "S") ou (continuar = "s") faca

   //APRESENTAÇÃO DO PROGRAMA
   escreval()
   escreval("================================")
   escreval("ETEC Prof.Alcídio de Souza Prado")
   escreval("            FUTEBOL             ")
   escreval("================================")
   escreval()

   quant:=quant+1
   escreva("Nome do Jogador................: ")
   leia(jogadores[quant,1])
   escreva("Altura do Jogador..............: ")
   leia(jogadores[quant,2])
   escreva("Peso do Jogador................: ")
   leia(jogadores[quant,3])
   escreva("Idade do Jogador...............: ")
   leia(jogadores[quant,4])
   escreva("Número de Jogos................: ")
   leia(jogadores[quant,5])
   escreva("Número de Gols.................: ")
   leia(jogadores[quant,6])
   escreva("Número de Passes Corretos......: ")
   leia(jogadores[quant,7])
   escreva("Número de Passes Errados.......: ")
   leia(jogadores[quant,8])
   escreval()
   escreval()
   se quant < MAXIMO então
      escreva("Quer Cadastrar Mais Um Jogador ?  <  S/N   >  ")
      leia(continuar)
   senao
      escreva("Só Pode Cadastrar Até",MAXIMO," Jogadores...  Tecle Enter")
      leia(continuar)
      continuar:="n"
   fimse
   limpatela
fimenquanto


//Cálculo de Resultados
Maior <- 0

para i de 1 ate quant faca
   somaAltura <-(caracpnum(jogadores[i,2])+ somaAltura)
   somaPeso <- (caracpnum(jogadores[i,3]) + somaPeso)
   somaIdade <- (caracpnum(jogadores[i,4]) + somaIdade)
   somaGols <- (caracpnum(jogadores[i,6]) + somaGols)
   somaJogos <- (caracpnum(jogadores[i,5]) + somaJogos)
   somaPassesCorretos <- (caracpnum(jogadores[i,7]) + somaPassesCorretos)
   somaPassesErrados <- (caracpnum(jogadores[i,8]) + somaPassesErrados)

mediaAltura <- somaAltura/quant   //Média de Altura
mediaPeso <- somaPeso/quant   //Média de Peso
mediaIdade <- somaIdade/quant   //Média de Idade
mediaGols <- somaGols/somaJogos   //Média de Gols Por jogo
mediaJogos<- somaJogos/quant   //Média de Jogos
mediaPassesCorretos <- somaPassesCorretos/quant //Média de Passes Corretos
mediaPassesErrados <- somaPassesErrados/quant    //Média de Passes Errados

se (caracpnum(jogadores[i,6]) > Maior )  então  //Mais Goleador
   Maisgoleador <-(jogadores[i,1])
   Maior <- (caracpnum(jogadores[i,6]))
fimse


//Exibição dos resultados
cont<-0
   escreval()
   cont:=cont+1
   escreval("Nome do Jogador ---> ",jogadores[i,1])
   escreval("Altura ------------> ",jogadores[i,2], " Metros")
   escreval("Peso --------------> ",jogadores[i,3], " KG")
   escreval("Idade -------------> ",jogadores[i,4], " Anos")
   escreval("Número de Jogos ---> ",jogadores[i,5], " Jogos")
   escreval("Número de Gols ----> ",jogadores[i,6], " Gols")
   escreval("Número de Passes Corretos ---> ",jogadores[i,7], " Passes")
   escreval("Número de Passes Errados  ---> ",jogadores[i,8], " Passes")
   se cont=3 então
      cont:=0
      escreval()
      escreval("Tecle Enter Para Continuar")
      leia(continuar)
   fimse
fimpara


//TOTAL
escreval()
escreval()
escreval()
escreval()
escreval("===================================")
escreval("Total DE Jogadores Digitados ------> ",quant)
escreval("Média de Altura dos Jogadores -----> ",mediaAltura:1:2, " Metros")
escreval("Média de Peso dos Jogadores -------> ",mediaPeso:2, " KG")
escreval("Média de Idade dos Jogadores ------> ",mediaIdade:2, " Anos")
escreval()
escreval("Média de Gols por Jogo ------------> ",mediaGols:2:2, " Gols Por Jogo")
escreval("Média de Jogos por Jogador --------> ",mediaJogos:2," Jogos Por Jogador")
escreval("Média de Passes Corretos por Jogo -> ",mediaPassesCorretos:2, " Passes Por Jogo")
escreval("Média de Passes Errados por Jogo --> ",mediaPassesErrados:2, " Passes Por Jogo")
escreval()
escreval()
escreval("Nome DO JOGADOR MAIS GOLEADOR -----> ",Maisgoleador)
escreval("===================================")


fimalgoritmo

@Simon Viegas Fiz e ficou assim!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @joao emilio borges garcia.

 

O código já está funcionando? faça uns testes de mesa, ou seja, utilize valores que você já sabe quais seriam os resultados e compara utilizando o programa...

 

 

Mas tem um "errinho" no código...  Veja, abaixo apenas peguei o seu código e reidentei:

Algoritmo "futebol"
// Função : Criar Algoritmo para Futebol
// Autor : João Emilio
// Data : 18/04/2017
// Seção de Declarações
Var
   // Seção de Declarações das variáveis
   jogadores      :vetor[1..20,1..8] de caractere
   continuar     :caractere //flag para verificar se deseja continuar cadastrando
   MAXIMO        :inteiro  //maximo de jogadores possíveis
   i             :inteiro  //utilizado para controlar os for
   quant         :inteiro  //quantidade de pessoas
   cont          :inteiro  //quantidade de impressões na tela (não imprimir tudo de vez)
   Maisgoleador  :caractere   //Exibe o Mais Goleador
   Maior         :real
   somaAltura    :real
   mediaAltura   :real
   somaPeso      :real
   mediaPeso     :real
   somaIdade     :real
   mediaIdade    :real
   somaGols      :real
   somaJogos     :real
   mediaGols     :real
   somaPassesCorretos  :real
   somaPassesErrados   :real
   mediaPassesCorretos :real
   mediaPassesErrados  :real
   mediaJogos          :real


Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
MAXIMO<-3

//CADASTRO DE Jogadores
continuar:="s"
enquanto (continuar = "S") ou (continuar = "s") faca
   //APRESENTAÇÃO DO PROGRAMA
   escreval()
   escreval("================================")
   escreval("ETEC Prof.Alcídio de Souza Prado")
   escreval("            FUTEBOL             ")
   escreval("================================")
   escreval()

   quant:=quant+1
   escreva("Nome do Jogador................: ")
   leia(jogadores[quant,1])
   escreva("Altura do Jogador..............: ")
   leia(jogadores[quant,2])
   escreva("Peso do Jogador................: ")
   leia(jogadores[quant,3])
   escreva("Idade do Jogador...............: ")
   leia(jogadores[quant,4])
   escreva("Número de Jogos................: ")
   leia(jogadores[quant,5])
   escreva("Número de Gols.................: ")
   leia(jogadores[quant,6])
   escreva("Número de Passes Corretos......: ")
   leia(jogadores[quant,7])
   escreva("Número de Passes Errados.......: ")
   leia(jogadores[quant,8])
   escreval()
   escreval()
   se quant < MAXIMO então
      escreva("Quer Cadastrar Mais Um Jogador ?  <  S/N   >  ")
      leia(continuar)
   senao
      escreva("Só Pode Cadastrar Até",MAXIMO," Jogadores...  Tecle Enter")
      leia(continuar)
      continuar:="n"
   fimse
   limpatela
fimenquanto


//Cálculo de Resultados
Maior <- 0

para i de 1 ate quant faca
   somaAltura <-(caracpnum(jogadores[i,2])+ somaAltura)
   somaPeso <- (caracpnum(jogadores[i,3]) + somaPeso)
   somaIdade <- (caracpnum(jogadores[i,4]) + somaIdade)
   somaGols <- (caracpnum(jogadores[i,6]) + somaGols)
   somaJogos <- (caracpnum(jogadores[i,5]) + somaJogos)
   somaPassesCorretos <- (caracpnum(jogadores[i,7]) + somaPassesCorretos)
   somaPassesErrados <- (caracpnum(jogadores[i,8]) + somaPassesErrados)

   mediaAltura <- somaAltura/quant   //Média de Altura
   mediaPeso <- somaPeso/quant   //Média de Peso
   mediaIdade <- somaIdade/quant   //Média de Idade
   mediaGols <- somaGols/somaJogos   //Média de Gols Por jogo
   mediaJogos<- somaJogos/quant   //Média de Jogos
   mediaPassesCorretos <- somaPassesCorretos/quant //Média de Passes Corretos
   mediaPassesErrados <- somaPassesErrados/quant    //Média de Passes Errados

   se (caracpnum(jogadores[i,6]) > Maior )  então  //Mais Goleador
      Maisgoleador <-(jogadores[i,1])
      Maior <- (caracpnum(jogadores[i,6]))
   fimse


   //Exibição dos resultados
   cont<-0
   escreval()
   cont:=cont+1
   escreval("Nome do Jogador ---> ",jogadores[i,1])
   escreval("Altura ------------> ",jogadores[i,2], " Metros")
   escreval("Peso --------------> ",jogadores[i,3], " KG")
   escreval("Idade -------------> ",jogadores[i,4], " Anos")
   escreval("Número de Jogos ---> ",jogadores[i,5], " Jogos")
   escreval("Número de Gols ----> ",jogadores[i,6], " Gols")
   escreval("Número de Passes Corretos ---> ",jogadores[i,7], " Passes")
   escreval("Número de Passes Errados  ---> ",jogadores[i,8], " Passes")
   se cont=3 então
      cont:=0
      escreval()
      escreval("Tecle Enter Para Continuar")
      leia(continuar)
   fimse
fimpara


//TOTAL
escreval()
escreval()
escreval()
escreval()
escreval("===================================")
escreval("Total DE Jogadores Digitados ------> ",quant)
escreval("Média de Altura dos Jogadores -----> ",mediaAltura:1:2, " Metros")
escreval("Média de Peso dos Jogadores -------> ",mediaPeso:2, " KG")
escreval("Média de Idade dos Jogadores ------> ",mediaIdade:2, " Anos")
escreval()
escreval("Média de Gols por Jogo ------------> ",mediaGols:2:2, " Gols Por Jogo")
escreval("Média de Jogos por Jogador --------> ",mediaJogos:2," Jogos Por Jogador")
escreval("Média de Passes Corretos por Jogo -> ",mediaPassesCorretos:2, " Passes Por Jogo")
escreval("Média de Passes Errados por Jogo --> ",mediaPassesErrados:2, " Passes Por Jogo")
escreval()
escreval()
escreval("Nome DO JOGADOR MAIS GOLEADOR -----> ",Maisgoleador)
escreval("===================================")

fimalgoritmo

 

Observe que você colocou novamente o cálculo das médias está dentro do para.  Esse trecho:

 

8 horas atrás, joao emilio borges garcia disse:

   mediaAltura <- somaAltura/quant   //Média de Altura
   mediaPeso <- somaPeso/quant   //Média de Peso
   mediaIdade <- somaIdade/quant   //Média de Idade
   mediaGols <- somaGols/somaJogos   //Média de Gols Por jogo
   mediaJogos<- somaJogos/quant   //Média de Jogos
   mediaPassesCorretos <- somaPassesCorretos/quant //Média de Passes Corretos
   mediaPassesErrados <- somaPassesErrados/quant    //Média de Passes Errados

 

Então, esse cálculo acima só precisa ser feito uma vez... se colocar dentro do para, a cada volta (loop) o programa irá calcular novamente... (desperdício de recurso - "calculará a média com um jogador, depois calculará a média com 2, com 3... etc, mas o que interessa é somente a média final). Ou seja, o cálculo da média vem depois...

 

Tente entender o processo...., como se calcula uma média? ou seja, "é a soma dos valores (somaXXX) dividido pelo número total de valores (quant)". O para estará servindo para "somar" os valores, daí você não pode (não deve) ao mesmo "ir calculando a média"... faz uma coisa, depois a outra... são etapas diferentes!

 

RESUMINDO
Coloque esse trecho de código acima depois do fimPara.

 

Após faz os testes e vê se os resultados estão corretos.

 

 

Obs.: perceba que essa alteração que estou sugerindo não alterará o resultado dos cálculos, ou seja, será "apenas" uma correção na lógica ("primeiro somo os valores, depois calculo as médias").

 

 

No aguardo.

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Algoritmo "futebol"
// Função : Criar Algoritmo para Futebol
// Autor : João Emilio
// Data : 18/04/2017
// Seção de Declarações
Var
   // Seção de Declarações das variáveis
   jogadores      :vetor[1..20,1..8] de caractere
   continuar     :caractere //flag para verificar se deseja continuar cadastrando
   MAXIMO        :inteiro  //maximo de jogadores possíveis
   i             :inteiro  //utilizado para controlar os for
   quant         :inteiro  //quantidade de pessoas
   cont          :inteiro  //quantidade de impressões na tela (não imprimir tudo de vez)
   Maisgoleador  :caractere   //Exibe o Mais Goleador
   Maior         :real
   somaAltura    :real
   mediaAltura   :real
   somaPeso      :real
   mediaPeso     :real
   somaIdade     :real
   mediaIdade    :real
   somaGols      :real
   somaJogos     :real
   mediaGols     :real
   somaPassesCorretos  :real
   somaPassesErrados   :real
   mediaPassesCorretos :real
   mediaPassesErrados  :real
   mediaJogos          :real


Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   MAXIMO<-3



   //CADASTRO DE Jogadores
   continuar:="s"
   enquanto (continuar = "S") ou (continuar = "s") faca

      //APRESENTAÇÃO DO PROGRAMA
      escreval()
      escreval("================================")
      escreval("ETEC Prof.Alcídio de Souza Prado")
      escreval("            FUTEBOL             ")
      escreval("================================")
      escreval()

      quant:=quant+1
      escreva("Nome do Jogador................: ")
      leia(jogadores[quant,1])
      escreva("Altura do Jogador..............: ")
      leia(jogadores[quant,2])
      escreva("Peso do Jogador................: ")
      leia(jogadores[quant,3])
      escreva("Idade do Jogador...............: ")
      leia(jogadores[quant,4])
      escreva("Número de Jogos................: ")
      leia(jogadores[quant,5])
      escreva("Número de Gols.................: ")
      leia(jogadores[quant,6])
      escreva("Número de Passes Corretos......: ")
      leia(jogadores[quant,7])
      escreva("Número de Passes Errados.......: ")
      leia(jogadores[quant,8])
      escreval()
      escreval()
      se quant < MAXIMO então
         escreva("Quer Cadastrar Mais Um Jogador ?  <  S/N   >  ")
         leia(continuar)
      senao
         escreva("Só Pode Cadastrar Até",MAXIMO," Jogadores...  Tecle Enter")
         leia(continuar)
         continuar:="n"
      fimse
      limpatela
   fimenquanto


   //Cálculo de Resultados
   Maior <- 0
   cont<-0

   para i de 1 ate quant faca
      //Exibição dos resultados
      escreval()
      cont:=cont+1
      escreval("Nome do Jogador ---> ",jogadores[i,1])
      escreval("Altura ------------> ",jogadores[i,2], " Metros")
      escreval("Peso --------------> ",jogadores[i,3], " KG")
      escreval("Idade -------------> ",jogadores[i,4], " Anos")
      escreval("Número de Jogos ---> ",jogadores[i,5], " Jogos")
      escreval("Número de Gols ----> ",jogadores[i,6], " Gols")
      escreval("Número de Passes Corretos ---> ",jogadores[i,7], " Passes")
      escreval("Número de Passes Errados  ---> ",jogadores[i,8], " Passes")
      se cont=3 então      //Contador de três Pessoas
         cont:=0
         escreval()
         escreval("Tecle Enter Para Continuar")
         leia(continuar)
      fimse

      //Soma de Variáveis
      somaAltura <-(caracpnum(jogadores[i,2])+ somaAltura)
      somaPeso <- (caracpnum(jogadores[i,3]) + somaPeso)
      somaIdade <- (caracpnum(jogadores[i,4]) + somaIdade)
      somaGols <- (caracpnum(jogadores[i,6]) + somaGols)
      somaJogos <- (caracpnum(jogadores[i,5]) + somaJogos)
      somaPassesCorretos <- (caracpnum(jogadores[i,7]) + somaPassesCorretos)
      somaPassesErrados <- (caracpnum(jogadores[i,8]) + somaPassesErrados)

      //Exibe o Jogador Mais Goleador
      se (caracpnum(jogadores[i,6]) > Maior )  então
         Maisgoleador <-(jogadores[i,1])
         Maior <- (caracpnum(jogadores[i,6]))
      fimse
   fimpara


   mediaAltura <- somaAltura/quant   //Média de Altura
   mediaPeso <- somaPeso/quant   //Média de Peso
   mediaIdade <- somaIdade/quant   //Média de Idade
   mediaGols <- somaGols/somaJogos   //Média de Gols Por jogo
   mediaJogos<- somaJogos/quant   //Média de Jogos
   mediaPassesCorretos <- somaPassesCorretos/quant //Média de Passes Corretos
   mediaPassesErrados <- somaPassesErrados/quant    //Média de Passes Errados

   //TOTAL
   escreval()
   escreval("===================================")
   escreval("Total DE Jogadores Digitados ------> ",quant)
   escreval("Média de Altura dos Jogadores -----> ",mediaAltura:1:2, " Metros")
   escreval("Média de Peso dos Jogadores -------> ",mediaPeso:2, " KG")
   escreval("Média de Idade dos Jogadores ------> ",mediaIdade:2, " Anos")
   escreval()
   escreval("Média de Gols por Jogo ------------> ",mediaGols:2:2, " Gols Por Jogo")
   escreval("Média de Jogos por Jogador --------> ",mediaJogos:2," Jogos Por Jogador")
   escreval("Média de Passes Corretos por Jogo -> ",mediaPassesCorretos:2, " Passes Por Jogo")
   escreval("Média de Passes Errados por Jogo --> ",mediaPassesErrados:2, " Passes Por Jogo")
   escreval()
   escreval()
   escreval("Nome DO JOGADOR MAIS GOLEADOR -----> ",Maisgoleador)
   escreval("===================================")


fimalgoritmo

@Simon Viegas Pronto ..não consigo tirar esse MaisGoleador do FimPara não Cara..já tentei diversas vezes aqui!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @joao emilio borges garcia.

 

1 hora atrás, joao emilio borges garcia disse:

@Simon Viegas Pronto ..não consigo tirar esse MaisGoleador do FimPara não Cara..já tentei diversas vezes aqui!

 

Não entendi...  você se refere a tirar esse trecho:

      //Exibe o Jogador Mais Goleador
      se (caracpnum(jogadores[i,6]) > Maior )  então
         Maisgoleador <-(jogadores[i,1])
         Maior <- (caracpnum(jogadores[i,6]))
      fimse

...de dentro do para? se for isso, não deve... O "Mais Goleador" está sendo verificado posição por posição mesmo...

 

Por favor, tente explicar melhor o que está tentando fazer...

 

 

ADENDO:
- Nesse trecho está utilizando uma variável chamada Maior, o que significa essa variável?  Então, poderia utilizar uma nomenclatura mais sugestiva, ex.: "MaiorQtdGols" ou "golsGoleador" etc... :).

 

- Outro ponto é que em vez de armazenar o "nome" do jogador em si, poderia guardar a sua posição, ou seja, o valor de "i". Ai na hora de exibir, usaria essa posição no vetor.  Tente entender o exemplo:

      //Exibe o Jogador Mais Goleador
      se (caracpnum(jogadores[i,6]) > qdtGolsGoleador)  então
         posMaiorGoleador <-i  //guarda a posição do maior goleador
         qdtGolsGoleador  <- (caracpnum(jogadores[i,6])) //atualiza a quantidade de gols do (maior) goleador
      fimse

Veja que esse trecho não "EXIBE" nada, está apenas "processando"/"Calculando"/"Identificando" quem é o mais goleador... a "exibição" vem depois, ou seja, corrija esse comentário lá em cima. Ex.: //Calculando o Jogador Mais Goleador

 

Para exibir:

...
escreval("Nome DO JOGADOR MAIS GOLEADOR -----> ",jogadores[posMaiorGoleador,1])
..

Ou seja, com apenas uma informação (a posição) você tem acesso fácil a todos os dados do respectivo jogador..
ex.: os gols dele estão em "jogadores[posMaiorGoleador,6]"

 

Por ai vai

 

 

No aguardo.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

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...