Ir ao conteúdo
  • Cadastre-se

VisualG Como armazenar os dados digitados e depois ver a media e a soma dos valores


Posts recomendados

Estou precisando de ajuda de como resolver isso:

(a) (1.25 ponto) Quantos pontos o time conseguiu no campeonato, sabendo que uma
vitória vale três pontos e um empate um ponto. Uma derrota não conta nenhum
ponto.
(b) (1.25 ponto) O saldo de gols do time. Isto é calcule a diferença entre os gols
feitos e os gols sofridos.
(c) (1.25 ponto) Em quantos jogos o time não fez nenhum gol.
(d) (1.25 ponto) A média de gols que o time fez por jogo.
Os resultados dos jogos devem ser fornecidos no formato indicado abaixo. O primeiro
valor inteiro é número de gols que o time fez e o segundo quantos ele sofreu.
Jogo 1?
3 1
Jogo 2?
1 3
Jogo 3?
2 2
Jogo 4?
1 1
Jogo 5?
0 2
Jogo 6?
2 1
Jogo 7?
0 0
Jogo 8?
2 0
Jogo 9?
2 0
Jogo 10?
1 0
Jogo 11?
0 3
Jogo 12?
3 0
Para os dados mostrados no exemplo acima os resultados impressos pelo algoritmo
devem ser.
Pontos: 21
Saldo de gols: 4
Jogos sem fazer gols: 3
Media de gols por jogo: 1.417

Var
   pontos: inteiro
   golfeito: inteiro
   golsofrido: inteiro
   empate: inteiro
   saldogols: inteiro
   mediagol: real
   i: inteiro
   vitoria, impate: inteiro
 
 
Inicio
   vitoria <- 3
   impate <- 1
   pontos <- 0
   golfeito <- 0
   golsofrido <- 0
   mediagol <- 0
 
   para i <- 1 até 12 faça
   
   se golfeito > golsofrido = vitoria
      senao impate
      escreva("Jogo 1: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- vitoria
      fimse
      fimpara
 
      
      escreva("Jogo 2: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
      
      escreva("Jogo 3: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
      
      escreva("Jogo 4: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
      
      escreva("Jogo 5: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
 
      escreva("Jogo 6: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
 
      escreva("Jogo 7: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
 
      escreva("Jogo 8: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
 
      escreva("Jogo 9: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
 
      escreva("Jogo 10: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
 
      escreva("Jogo 11: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
 
      escreva("Jogo 12: ")
      leia (golfeito)
      leia (golsofrido)
      pontos <- pontos + golfeito
 
      escreval("mediagol: ", golfeito*12/2)
      escreval("pontos : ", vitoria+impate)
      escreval("Saldo : ", pontos+golsofrido)
      
Fimalgoritmo

 

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

  • Membro VIP

Olá.

 

1#

Sobre:

54 minutos atrás, claudiocj disse:

Os resultados dos jogos devem ser fornecidos no formato indicado abaixo.

Jogo 1?
3 1
Jogo 2?
1 3

 

Creio eu que não dá para ler duas variáveis numa mesma linha no Visualg (pelo menos eu desconheço), ou seja, teria que ler como um único valor e depois separar e jogar os valores nas variáveis correspondentes.

 

RESUMINDO:

Por enquanto coloque para ler um (da ENTER), depois ler o outro. Mais pra frente resolvemos isso.

 

 

 

2#

Para saber quem ganhou, primeiro tem que saber o placar... mas enfim... tem outros pontos que precisam ser revistos, como a sintaxe do se/então, reorganização das variáveis etc.

 

Peguei o seu código e tentei dar uma reorganizada, veja:

algoritmo "FCdH"

//a) (1.25 ponto) Quantos pontos o time conseguiu no campeonato, sabendo que
//uma vitória vale três pontos e um empate um ponto. Uma derrota não conta
//nenhum ponto

//(b) (1.25 ponto) O saldo de gols do time. Isto é calcule a diferença entre
//os gols feitos e os gols sofridos.

//(c) (1.25 ponto) Em quantos jogos o time não fez nenhum gol.

//(d) (1.25 ponto) A média de gols que o time fez por jogo.?

const
   VITORIA = 3
   EMPATE  = 1
   DERROTA = 0

var
   pontos      :inteiro //total de pontos ganhos
   golsPro     :inteiro //total de gols feitos
   golsContra  :inteiro //total de gols sofridos
   saldoGols   :inteiro //deferença em gols feitos e sofridos
   semGols     :inteiro //quantidade de partidas sem gols
   mediaGols   :real    //média de gols por partida
   vitorias    :inteiro //número de vitórias
   empates     :inteiro //número de empates
   derrotas    :inteiro //número de detoras
   partida     :inteiro //número da partida (controlador do para)
   
   golsFeitos  :inteiro //gols feitos na partida
   golsSofridos:inteiro //gols sofridos na partida
   
inicio
para partida <- 1 ate 3 faca //para cada uma das partidas
   escreval("Jogo ",partida:1,"?")
   leia(golsFeitos,golsSofridos)
   //calcula os pontos
   se golsFeitos > golsSofridos entao
      pontos <- pontos + VITORIA
   senao
      se golsFeitos = golsSofridos entao
         pontos <- pontos + EMPATTE
   //verifica se fez gol
   se golFeitos = 0 entao
   
   //etc
   
   
   






fimPara

//calcula o saldo de gols


//calcula a média de gols


//etc






fimAlgoritmo

 

Tente entender cada parte da estrutura e dar continuidade a ela.

 

 

 

***

 

Qualquer dúvida é só perguntar.

 

 

No aguardo.

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

  • Membro VIP

Não tente fazer tudo de uma vez... tanto no sentido de ler poucos dados (no caso, deixei 3, em vez de 12). Nem de computador todos os dados... por exemplo, apenas leia 3 partidas e exiba a quantidade de pontos! Já ter uma noção para saber se essa parte está funcionando. Não precisa logo calcular os gols, ou média... etc... vá fazendo de parte em parte.

 

No caso desse esboço da outro postagem, apenas já tentei identificas as variáveis de acordo com o enunciado... mas poderia ser algo assim:

algoritmo "FCdH"

//a) (1.25 ponto) Quantos pontos o time conseguiu no campeonato, sabendo que
//uma vitória vale três pontos e um empate um ponto. Uma derrota não conta
//nenhum ponto

//(b) (1.25 ponto) O saldo de gols do time. Isto é calcule a diferença entre
//os gols feitos e os gols sofridos.

//(c) (1.25 ponto) Em quantos jogos o time não fez nenhum gol.

//(d) (1.25 ponto) A média de gols que o time fez por jogo.?

const
   VITORIA = 3
   EMPATE  = 1
   DERROTA = 0

var
   pontos      :inteiro //total de pontos ganhos
   golsPro     :inteiro //total de gols feitos
   golsContra  :inteiro //total de gols sofridos

inicio
para partida <- 1 ate 3 faca //para cada uma das partidas
   escreval("Jogo ",partida:1,"?")
   leia(golsFeito,golsSofridos)
   //calcula os pontos
   se golsFeitos > golsSofridos entao
   
   
   
   
fimPara





fimAlgoritmo

Ou seja, a ideia seria apenas pegar esse código e dar continuidade, fazendo calcular os pontos ganhos e após exibir o resultado (de quantos pontos o time teve). Só após conseguir rodar certinho essa pequena parte, implementa outra, como mostrar o saldo... depois implementa outra... etc

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

Em 20/10/2018 às 20:08, Simon Viegas disse:

 

Onde?

 

Os código que eu postei são esboços... você precisa editar e dar continuidade.

 

Boa noite, quase resolvi essa questão só não entendo porque gols feito e gols sofrido não subtraem para da o resultado de jogos sem fazer gol.

Algoritmo "PDA"
// Disciplina  :  [Projeto de Desenvolvimento de Algaritimos] 
// Professor   : Antonio Carlos Nicolodi 
// Descrição   : Aqui você descreve o que o programa faz! (função)
// Autor(a)    : Cláudio Cotrim Jr
// Data atual  : 21/10/2018
Var


   pontos      :inteiro //total de pontos ganhos
   mediaGols   :real    //média de gols por partida
   vitorias    :inteiro //número de vitórias
   empates     :inteiro //número de empates
   partida     :inteiro //número da partida (controlador do para)
   golsFeitos  :inteiro //gols feitos na partida
   golsSofridos:inteiro //gols sofridos na partida
Inicio
      golsFeitos <- 0
      golsSofridos <-0
      vitorias <- 3
      empates <-1

   para partida <- 1 ate 12 faca
        escreval("Jogo ",partida:1,"?")
        leia (golsFeitos)
        leia (golsSofridos)

        se golsFeitos > golsSofridos entao
        pontos <- pontos + vitorias
   senao
        se  golsFeitos = golsSofridos entao
         pontos <- pontos + empates

   fimse
   fimse
   fimpara
      golsFeitos <- golsFeitos + 1
      golsSofridos <- golsSofridos + 1
      mediaGols <- golsFeitos + golsSofridos + partida
   escreval("Pontos: ", pontos)
   escreval("Saldo de Gols: ", golsFeitos)
   escreval("Jogos sem fazer Gols: ", golsFeitos - golsSofridos)
   escreval("Média de Gols por Jogo: ", mediaGols / 12)
Fimalgoritmo

 

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

  • Membro VIP

1#

Mantenha o código indentado, ex.:

Código:

Spoiler

algoritmo "PDA"
// Disciplina  :  [Projeto de Desenvolvimento de Algaritimos]
// Professor   : Antonio Carlos Nicolodi
// Descrição   : Aqui você descreve o que o programa faz! (função)
// Autor(a)    : Cláudio Cotrim Jr
// Data atual  : 21/10/2018
var
   pontos      :inteiro //total de pontos ganhos
   mediaGols   :real    //média de gols por partida
   vitorias    :inteiro //número de vitórias
   empates     :inteiro //número de empates
   partida     :inteiro //número da partida (controlador do para)
   golsFeitos  :inteiro //gols feitos na partida
   golsSofridos:inteiro //gols sofridos na partida

inicio
golsFeitos   <- 0
golsSofridos <- 0
vitorias     <- 3
empates      <- 1

{para partida <- 1 ate 12 faca} //não precisa testar com 12!!!
para partida <- 1 ate 2 faca
   escreval("Jogo ",partida:1,"?")
   leia(golsFeitos)
   leia(golsSofridos)
   se golsFeitos > golsSofridos entao
      pontos <- pontos + vitorias
   senao
      se golsFeitos = golsSofridos entao
         pontos <- pontos + empates
      fimSe
   fimSe
fimPara

golsFeitos   <- golsFeitos + 1
golsSofridos <- golsSofridos + 1
mediaGols    <- golsFeitos + golsSofridos + partida

escreval("Pontos: ", pontos)
escreval("Saldo de Gols: ", golsFeitos)
escreval("Jogos sem fazer Gols: ", golsFeitos - golsSofridos)
escreval("Média de Gols por Jogo: ", mediaGols / 12)
fimAlgoritmo

 

 

 

 

2#

Sobre:

51 minutos atrás, claudiocj disse:

Boa noite, quase resolvi essa questão só não entendo porque gols feito e gols sofrido não subtraem para da o resultado de jogos sem fazer gol.

 

- Não subtraiu, pois não colocou para subtrair.

- O resultado de "sem fazer gol" não tem nada algo a ver com "subtração". Não fazer gol é "não fazer gol".  Ué!? :)

 

Em 20/10/2018 às 17:49, claudiocj disse:

Jogo 1?
3 1

Fez 3 gols.

 

Em 20/10/2018 às 17:49, claudiocj disse:

Jogo 2?
1 3

Fez 1 gol.


 

Em 20/10/2018 às 17:49, claudiocj disse:

Jogo 5?
0 2

Nesse não fez gol! Logo, contabilizaria como uma partida sem fazer gol.

 

 

 

2#

Sobre:

33 minutos atrás, claudiocj disse:

golsFeitos <- golsFeitos + 1
golsSofridos <- golsSofridos + 1
mediaGols <- golsFeitos + golsSofridos + partida

 

Você está indo bem, mas aí misturou os dados da partida com outra coisa (que eu não consegui entender o quê). Talvez esteja precisando revisar um pouco como funciona a contabilização dos pontos e estatísticas de partidas de futebol.

 

Os "gols feitos" e "gols sofridos" servem para saber quem ganhou a partida ou se foi embate. E no caso, também saber se o time fez gol ou não.

 

Veja as definições de variáveis que usou:

   pontos      :inteiro //total de pontos ganhos
   mediaGols   :real    //média de gols por partida
   vitorias    :inteiro //número de vitórias
   empates     :inteiro //número de empates
   partida     :inteiro //número da partida (controlador do para)
   golsFeitos  :inteiro //gols feitos na partida
   golsSofridos:inteiro //gols sofridos na partida

Por exemplo: vitorias está lá como: "número de vitórias". E empates tem: "número de empates". Mas no seu código você usou como ele como "quantidade de pontos que uma vitória vale" e "quantidade de pontos que um empate vale", respectivamente, logo utilizando para outra coisa. Número de vitórias é quantas vitórias o time tem. Se ele ganhou 10 partidas, ele tem 10 vitórias.

 

Para o valor de pontos da vitória, e do empate, utilize outras variáveis ou simplesmente dê 3 ou 1, respectivamente.

 

 

Para os gols, os gols feitos deveriam ser acumulados em golsPro, e sofridos no golsContra.

   golsPro     :inteiro //total de gols feitos
   golsContra  :inteiro //total de gols sofridos

 

***

 

Qualquer dúvida é só perguntar.

 

 

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

  • Membro VIP

1#

Sobre:

12 horas atrás, claudiocj disse:

tentei usar seu 1 exemplo, fiquei enrolado, só que eu não sei como usar essas duas


golsPro     :inteiro //total de gols feitos
   golsContra  :inteiro //total de gols sofridos

 como esquematizar, usando se e então ?

 

 

Sugestão de variáveis:

Em 20/10/2018 às 18:42, Simon Viegas disse:

const
   //número de ponto para cada tipo de resultado
   VITORIA = 3
   EMPATE  = 1
   DERROTA = 0

var
   pontos      :inteiro //total de pontos ganhos
   golsPro     :inteiro //total de gols feitos
   golsContra  :inteiro //total de gols sofridos
   saldoGols   :inteiro //deferença em gols feitos e sofridos
   semGols     :inteiro //quantidade de partidas sem gols
   mediaGols   :real    //média de gols por partida
   vitorias    :inteiro //número de vitórias
   empates     :inteiro //número de empates
   derrotas    :inteiro //número de detoras
   partida     :inteiro //número da partida (controlador do para)
   
   golsFeitos  :inteiro //gols feitos na partida
   golsSofridos:inteiro //gols sofridos na partida

 

 

Lembrando que é apenas um esboço. Tente entender para que funciona cada variável. Pode renomear para outras nomenclaturas ao seu gosto... incluir ou remover variáveis... etc.... 

 

 

 

2#

Em 21/10/2018 às 21:21, Simon Viegas disse:

Talvez esteja precisando revisar um pouco como funciona a contabilização dos pontos e estatísticas de partidas de futebol.

 

Então, entenda o "contexto do mundo real". Um algoritmo em Visualg seria uma "representação dele"...

 

 

Por exemplo:

Nesse trecho temos:

Em 20/10/2018 às 17:49, claudiocj disse:

Jogo 1?
3 1

 

Temos que 3 é a quantidade de gols feitos pelo time (que está sendo analisado) e 1 a quantidade de gols sofridos pelo mesmo por ele... pois assim sugere o enunciado:

Em 20/10/2018 às 17:49, claudiocj disse:

O primeiro valor inteiro é número de gols que o time fez e o segundo quantos ele sofreu.

 

No algoritmo foi sugerido:

Em 21/10/2018 às 21:21, Simon Viegas disse:

   escreval("Jogo ",partida:1,"?")
   leia(golsFeitos)
   leia(golsSofridos)

 

Ou seja, golsFeitos é a variável que recebe os "gols feitos pelo time". E golsSofridos, adivinha?

 

Perceba que a nomenclatura dessas variáveis por si sós já induzem a que elas foram propostas... ;)

 

Ao fazer isso:

Em 21/10/2018 às 19:46, claudiocj disse:

      golsFeitos <- golsFeitos + 1
      golsSofridos <- golsSofridos + 1

 

Sem precisar se aprofundar muito, já perceberíamos que está "alterando o placar do jogo"! :chicote:

 

Oras! a ideia é que aprenda a aprender que tem algo errado aí!! Entende?

 

 

 

3#

Para efeitos didáticos, vamos supor que o meu time é o Bahia e o primeiro jogo foi contra o Vicitória.

 

Quanto foi o jogo? 3x1.

 

 

Beleza... vamos focar no enunciado (aquilo que foi pedido para ser feito):

Em 20/10/2018 às 17:49, claudiocj disse:

(a) (1.25 ponto) Quantos pontos o time conseguiu no campeonato, sabendo que uma
vitória vale três pontos e um empate um ponto. Uma derrota não conta nenhum
ponto.

 

Ele quer saber quantos ponto o Bahia conseguiu no campeonato, logo, seria a "soma dos pontos conquistados partida a partida". Como sei quantos ponto ele ganhou nesse primeiro jogo? parte disso já temos:

 

Em 21/10/2018 às 21:21, Simon Viegas disse:

   se golsFeitos > golsSofridos entao //se fez mais gol que sofreu
      pontos <- pontos + vitorias
   senao
      se golsFeitos = golsSofridos entao //se foi fez a mesma quantidade que sofreu
         pontos <- pontos + empates
      fimSe//caso contrário, necessariamente foi uma derrota, entretanto, a derrota não faz diferença (se quiser, poderia "somar 0")
   fimSe

 

Certo? aí identificamos qual foi a "categoria" (vitória, empate ou derrota). O que acontece em cada categoria? somaremos os respectivos pontos! Mas onde estão os valores dos pontos? pelo esboço (que supondo que já foi revisado por você), está lá nas constantes... (VITORIA, EMPATE e DERROTA). Já as variáveis, vitorias, empates e derrotas são outra coisa... estes últimos são o "NÚMERO DE...", ou seja, "quantas vitórias o time teve". E não o "VALOR DE...", no caso, "quantos pontos vale" (como citado, está nas constantes).  

 

obs.: se não quiser usar constante, passe para variável, mas entenda que são duas variáveis distintas, como por exemplo: vitoria (valor da vitória) e vitorias (número de vitórias).

 

 

 

Logo, poderia ficar algo como:

   se golsFeitos > golsSofridos entao //se fez mais gol que sofreu
      pontos <- pontos + VITORIA //adiciona os pontos referentes à vitória
   senao
      se golsFeitos = golsSofridos entao //se foi fez a mesma quantidade que sofreu
         pontos <- pontos + EMPATE //adiciona os pontos referentes ao empate
      senao
         pontos <- pontos + DERROTA //adiciona os pontos referentes à derrota
      fimSe
   fimSe

 

Faz essas alterações... suponha que só precisa responder essa alínea a) do enuniciado. Testa e ver se está contabilizando os pontos satisfatoriamente.

 

 

 

4#

Vamos pegar outra parte do enunciado...

Em 20/10/2018 às 17:49, claudiocj disse:

(b) (1.25 ponto) O saldo de gols do time. Isto é calcule a diferença entre os gols
feitos e os gols sofridos.

 

O que é "um saldo"? o enunciado já disse claramente aí acima...

 

Então, onde está os gols feitos e gols sofridos pelo time no campeonato? logicamente estão nas variáveis golsFeitos e golsSofridos, correto? Se achou que sim, por favor releia o 2# e 3#!!! :muro:

 

Existe alguma coerência de ser essas duas variáveis??? seria viável as mesmas variáveis que leem o placar de um jogo (que são novos a cada jogo), servirem também para armazenar os somatórios de gols do time (que vai acumulando ao longo do campeonato)? é esse tipo de raciocínio que estou tentando estimular!

 

Analisando lá variáveis encontramos:

Em 20/10/2018 às 18:42, Simon Viegas disse:

   golsPro     :inteiro //total de gols feitos
   golsContra  :inteiro //total de gols sofridos

 

Entende? a escolha das variáveis entra no item 1# desta postagem. Essas variáveis podem ser definidas a medida vai interpretando o enunciado e/ou a medida que vai implementando novos recursos no código etc. "Ah! mas, por exemplo, o nome golsFeitos confundem-me". Ok. Mas veja que foi inserido comentários para tentar explicar para que cada variável serve. "Ah! mas os comentários não estão claros". Então reorganize as variáveis.....  Os ajustes podem ser feitos a medida que vai identificando possíveis melhoras... ou aprendendo novos conceitos.. Por exemplo, agora mesmo eu imaginei que poderia usar golCasa e golsVisitante (ou golsTimeCasa e golsTimeVisitante), em vez de golsFeitos e golsSofridos. Por ai vai!!! 

 

Mas emfim. O que seria os "gols pró"? é análogo aos pontos... ou seja, vai acumulando a cada jogo, ex.:

 

Poderia ser algo como:

para partida <- 1 ate 2 faca
   escreval("Jogo ",partida:1,"?")
   leia(golsFeitos)
   leia(golsSofridos)
   se golsFeitos > golsSofridos entao //se fez mais gol que sofreu
      pontos <- pontos + VITORIA //adiciona os pontos referentes à vitória
   senao
      se golsFeitos = golsSofridos entao //se foi fez a mesma quantidade que sofreu
         pontos <- pontos + EMPATE //adiciona os pontos referentes ao empate
      senao
         pontos <- pontos + DERROTA //adiciona os pontos referentes à derrota
      fimSe
   fimSe
   golsPro    <- golsPro   + golsFeitos   //atualiza o números de gols pro
   golsContra <- golContra + golsSofridos //atualiza o números de gols contra
fimPara

 

Então, até o momento (supostamente) está tratando dos pontos e dos gols pro e contra.

 

O saldo de gols e média só precisam ser calculados quando for usá-los, ou seja, depois de ler todos os jogos.

 

 

 

***

 

Sugestão: tente ler 2 ou 3 jogos e imprimia APENAS os pontos ganhos, os gols pró e os gols contra.

 

 

PS: lembrando que não é interessante tentar fazer tudo de vez. É preferível fazer por partes (poderíamos chamar de  "módulos". Faz a letra "A" do enunciado, depois a "B" etc).

 

 

Em caso de dúvidas sobre qualquer parte é só perguntar.

 

 

No aguardo.

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

Citação:

Spoiler
Em 23/10/2018 às 09:45, Simon Viegas disse:

1#

Sobre:

 

 

Sugestão de variáveis:

 

 

Lembrando que é apenas um esboço. Tente entender para que funciona cada variável. Pode renomear para outras nomenclaturas ao seu gosto... incluir ou remover variáveis... etc.... 

 

 

 

2#

 

Então, entenda o "contexto do mundo real". Um algoritmo em Visualg seria uma "representação dele"...

 

 

Por exemplo:

Nesse trecho temos:

 

Temos que 3 é a quantidade de gols feitos pelo time (que está sendo analisado) e 1 a quantidade de gols sofridos pelo mesmo por ele... pois assim sugere o enunciado:

 

No algoritmo foi sugerido:

 

Ou seja, golsFeitos é a variável que recebe os "gols feitos pelo time". E golsSofridos, adivinha?

 

Perceba que a nomenclatura dessas variáveis por si sós já induzem a que elas foram propostas... ;)

 

Ao fazer isso:

 

Sem precisar se aprofundar muito, já perceberíamos que está "alterando o placar do jogo"! :chicote:

 

Oras! a ideia é que aprenda a aprender que tem algo errado aí!! Entende?

 

 

 

3#

Para efeitos didáticos, vamos supor que o meu time é o Bahia e o primeiro jogo foi contra o Vicitória.

 

Quanto foi o jogo? 3x1.

 

 

Beleza... vamos focar no enunciado (aquilo que foi pedido para ser feito):

 

Ele quer saber quantos ponto o Bahia conseguiu no campeonato, logo, seria a "soma dos pontos conquistados partida a partida". Como sei quantos ponto ele ganhou nesse primeiro jogo? parte disso já temos:

 

 

Certo? aí identificamos qual foi a "categoria" (vitória, empate ou derrota). O que acontece em cada categoria? somaremos os respectivos pontos! Mas onde estão os valores dos pontos? pelo esboço (que supondo que já foi revisado por você), está lá nas constantes... (VITORIA, EMPATE e DERROTA). Já as variáveis, vitorias, empates e derrotas são outra coisa... estes últimos são o "NÚMERO DE...", ou seja, "quantas vitórias o time teve". E não o "VALOR DE...", no caso, "quantos pontos vale" (como citado, está nas constantes).  

 

obs.: se não quiser usar constante, passe para variável, mas entenda que são duas variáveis distintas, como por exemplo: vitoria (valor da vitória) e vitorias (número de vitórias).

 

 

 

Logo, poderia ficar algo como:



   se golsFeitos > golsSofridos entao //se fez mais gol que sofreu
      pontos <- pontos + VITORIA //adiciona os pontos referentes à vitória
   senao
      se golsFeitos = golsSofridos entao //se foi fez a mesma quantidade que sofreu
         pontos <- pontos + EMPATE //adiciona os pontos referentes ao empate
      senao
         pontos <- pontos + DERROTA //adiciona os pontos referentes à derrota
      fimSe
   fimSe

 

Faz essas alterações... suponha que só precisa responder essa alínea a) do enuniciado. Testa e ver se está contabilizando os pontos satisfatoriamente.

 

 

 

4#

Vamos pegar outra parte do enunciado...

 

O que é "um saldo"? o enunciado já disse claramente aí acima...

 

Então, onde está os gols feitos e gols sofridos pelo time no campeonato? logicamente estão nas variáveis golsFeitos e golsSofridos, correto? Se achou que sim, por favor releia o 2# e 3#!!! :muro:

 

Existe alguma coerência de ser essas duas variáveis??? seria viável as mesmas variáveis que leem o placar de um jogo (que são novos a cada jogo), servirem também para armazenar os somatórios de gols do time (que vai acumulando ao longo do campeonato)? é esse tipo de raciocínio que estou tentando estimular!

 

Analisando lá variáveis encontramos:

 

Entende? a escolha das variáveis entra no item 1# desta postagem. Essas variáveis podem ser definidas a medida vai interpretando o enunciado e/ou a medida que vai implementando novos recursos no código etc. "Ah! mas, por exemplo, o nome golsFeitos confundem-me". Ok. Mas veja que foi inserido comentários para tentar explicar para que cada variável serve. "Ah! mas os comentários não estão claros". Então reorganize as variáveis.....  Os ajustes podem ser feitos a medida que vai identificando possíveis melhoras... ou aprendendo novos conceitos.. Por exemplo, agora mesmo eu imaginei que poderia usar golCasa e golsVisitante (ou golsTimeCasa e golsTimeVisitante), em vez de golsFeitos e golsSofridos. Por ai vai!!! 

 

Mas emfim. O que seria os "gols pró"? é análogo aos pontos... ou seja, vai acumulando a cada jogo, ex.:

 

Poderia ser algo como:



para partida <- 1 ate 2 faca
   escreval("Jogo ",partida:1,"?")
   leia(golsFeitos)
   leia(golsSofridos)
   se golsFeitos > golsSofridos entao //se fez mais gol que sofreu
      pontos <- pontos + VITORIA //adiciona os pontos referentes à vitória
   senao
      se golsFeitos = golsSofridos entao //se foi fez a mesma quantidade que sofreu
         pontos <- pontos + EMPATE //adiciona os pontos referentes ao empate
      senao
         pontos <- pontos + DERROTA //adiciona os pontos referentes à derrota
      fimSe
   fimSe
   golsPro    <- golsPro   + golsFeitos   //atualiza o números de gols pro
   golsContra <- golContra + golsSofridos //atualiza o números de gols contra
fimPara

 

Então, até o momento (supostamente) está tratando dos pontos e dos gols pro e contra.

 

O saldo de gols e média só precisam ser calculados quando for usá-los, ou seja, depois de ler todos os jogos.

 

 

 

***

 

Sugestão: tente ler 2 ou 3 jogos e imprimia APENAS os pontos ganhos, os gols pró e os gols contra.

 

 

PS: lembrando que não é interessante tentar fazer tudo de vez. É preferível fazer por partes (poderíamos chamar de  "módulos". Faz a letra "A" do enunciado, depois a "B" etc).

 

 

Em caso de dúvidas sobre qualquer parte é só perguntar.

 

 

No aguardo.

 

Consegui muito obrigado, ajudou muito.

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

9 horas atrás, Simon Viegas disse:

 

Oi. Posta o código completo para analisarmos e, também, poder servi de bases para possíveis outros usuários.

 

 

No aguardo.

Var


   pontos      :inteiro
   mediaGols   :real
   vitorias   :inteiro
   saldoGf   :inteiro
   empates     :inteiro
   partida     :inteiro
   JogosSemfg : inteiro
   TjgFeitos :inteiro
   golsFeitos  :inteiro
   TjgSofridos :inteiro
   golsSofridos :inteiro
Inicio
      golsFeitos     <- 0
      saldoGf        <- 0
      golsSofridos   <- 0
      vitorias       <- 3
      empates        <- 1
      TjgFeitos      <- 0
      golsSofridos   <- 0
      saldoGf        <- 0

   para partida <- 1 ate 12 faca
                escreval("Jogo ",partida:1,"?")
                leia (golsFeitos, golsSofridos)

        se golsFeitos = 0 entao
           JogosSemfg <- JogosSemfg + 1
        fimse
        se golsFeitos > golsSofridos entao
           pontos <- pontos + vitorias
        fimse
        se  golsFeitos = golsSofridos entao
            pontos <- pontos + empates
        fimse
       JogosSemfg <- golsFeitos - golsSofridos
       TjgFeitos <- TjgFeitos + golsFeitos
       TjgSofridos <- TjgSofridos + golsSofridos
   fimpara
   saldoGf <-  TjgFeitos - TjgSofridos
   mediaGols <- TjgFeitos / partida
   escreval("Pontos: ", pontos)
   escreval("Saldo de Gols: ", saldoGf)
   escreval("Jogos sem fazer Gols: ", JogosSemfg)
   escreval("Média de Gols por Jogo: ", mediaGols)
   
Fimalgoritm

código completo. muito obrigado

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

 

Em 23/10/2018 às 09:45, Simon Viegas disse:

Em caso de dúvidas sobre qualquer parte é só perguntar.

 

Nenhuma dúvida em tudo que comentei?

 

Mas vamos lá:

 

1#

Sobre:

15 horas atrás, claudiocj disse:

        se golsFeitos > golsSofridos entao
           pontos <- pontos + vitorias
        fimse
        se  golsFeitos = golsSofridos entao
            pontos <- pontos + empates
        fimse

 

Se um jogo resultar em vitória, não poderá ser empate também, ou seja, são condições mutuamente excludentes. Logo, precisa usar o senao.

 

Seria algo como:

   se golsFeitos > golsSofridos entao
      pontos <- pontos + vitorias
   senao
      se  golsFeitos = golsSofridos entao
         pontos <- pontos + empates
      fimse
   fimse

 

 

 

2#

Por que as variáveis estão com as nomenclaturas TjgFeitosTjgSofridos? de onde vem esse "Tjg"?

 

 

 

3#

Sobre:

15 horas atrás, claudiocj disse:

   JogosSemfg  <- golsFeitos  - golsSofridos //???

 

Não entendi essa parte, dá para explicar?

 

 

Observação.:

Spoiler

Está errada / O resultado está apresentando igual ao esperado foi apenas uma grande coincidência. Estou fazendo uma pergunta retórica.

 

 

 

4#

Sobre:

15 horas atrás, claudiocj disse:

   vitorias   :inteiro
   empates     :inteiro

 

Já comentei sobre isso:

 

Vide:

Em 23/10/2018 às 09:45, Simon Viegas disse:

Certo? aí identificamos qual foi a "categoria" (vitória, empate ou derrota). O que acontece em cada categoria? somaremos os respectivos pontos! Mas onde estão os valores dos pontos? pelo esboço (que supondo que já foi revisado por você), está lá nas constantes... (VITORIA, EMPATE e DERROTA). Já as variáveis, vitorias, empates e derrotas são outra coisa... estes últimos são o "NÚMERO DE...", ou seja, "quantas vitórias o time teve". E não o "VALOR DE...", no caso, "quantos pontos vale" (como citado, está nas constantes).  

 

RESUMINDO: faz mais sentido utilizar as variáveis no singular

 

 

***

 

 

Por favor, responda cada um dos pontos (cada #) individualmente. Dizendo se entendeu ou não, e caso necessário onde está com dúvidas.

 

 

Posta também o código completo com as supostas correções.

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

4 horas atrás, Simon Viegas disse:

 

Por que as variáveis estão com as nomenclaturas TjgFeitosTjgSofridos? de o

 me referi a total de Jogos feitos e total de jogos sofridos

adicionado 2 minutos depois
4 horas atrás, Simon Viegas disse:

se

realmente é isso mesmo eu tirei e não reparei, o algorítimo  rodo perfeitamente então passo despercebido vou corrigir

adicionado 5 minutos depois
4 horas atrás, Simon Viegas disse:

4#

não sei porque mais se eu botar no singular aparece como não tivesse posto dentro da variável (var) principalmente o empate

adicionado 8 minutos depois
4 horas atrás, Simon Viegas disse:

3#

esse ponto tive que criar essa variável,  pós eu não estava conseguindo o resultado esperado que era jogos sem fazer gols, só consegui dessa maneira "gambiarra" 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

1#

15 horas atrás, claudiocj disse:

me referi a total de Jogos feitos e total de jogos sofridos

Como assim jogos feitos? não seria "total de gols feitos"? :)

 

Percebe? o código do jeito que está vai funcionar normalmente, apenas fica "estranho" esses nomes... pois não algo relacionado a "jogos", mas sim a "gols".

 

 

 

2#

15 horas atrás, claudiocj disse:

realmente é isso mesmo eu tirei e não reparei, o algorítimo  rodo perfeitamente então passo despercebido vou corrigir

Não sei ao que se referiu... :(

 

 

 

3#

15 horas atrás, claudiocj disse:

não sei porque mais se eu botar no singular aparece como não tivesse posto dentro da variável (var) principalmente o empate

Inicialmente precisaria alterar a variável lá no var. Daí, como a variável foi alterada, precisaria alterar todas as ocorrências no código.

 

Essa questão de usar plural ou não, está mais voltada na busca de uma "melhor coerência" e organização...  segue um outro exemplo de variáveis:

var
   pontos      :inteiro //total de pontos ganhos no campeonato
   tGFeitos    :inteiro //total de gols feitos no campeonato
   tGSofridos  :inteiro //total de gols sofridos no campeonato
   mediaGols   :real    //média de gols marcados por jogo no campeonato
   saldoGols   :inteiro //saldo de gols no campeonato
   jogosSemFG  :inteiro //quantidade de jogos sem fazer gols no campeonato

   partida     :inteiro //número da partida
   golsFeitos  :inteiro //gols feitos na partida
   golsSofridos:inteiro //gols sofridos na partida

   pntsVitoria :inteiro //quantidade de pontos por vitoria
   pntsDerrota :inteiro //quantidade de pontos por derrota

 

Perceba que a quantidade de pontos é fixa no campeonato, correto? Uma outra forma de implementar seria:

const
   pntsVitoria = 3 //quantidade de pontos por vitoria
   pntsDerrota = 1 //quantidade de pontos por derrota

var
   pontos      :inteiro //total de pontos ganhos no campeonato
   tGFeitos    :inteiro //total de gols feitos no campeonato
   tGSofridos  :inteiro //total de gols sofridos no campeonato
   mediaGols   :real    //média de gols marcados por jogo no campeonato
   saldoGols   :inteiro //saldo de gols no campeonato
   jogosSemFG  :inteiro //quantidade de jogos sem fazer gols no campeonato

   partida     :inteiro //número da partida
   golsFeitos  :inteiro //gols feitos na partida
   golsSofridos:inteiro //gols sofridos na partida

Então, uma "constante" é basicamente "uma variável (no sentido daquilo que armazena algo) que não é variável (no sentido que não há variação do seu valor)". É bem parecido! apenas que o seu valor não pode ser modificado posteriormente durante a execução. Usando constantes, vai deixar" com um ar" ainda mais organizado, e também "coerente", já que o valor de pontos de fato não muda durante o campeonato.

 

Outra diferença é que o seu valor inicial já é definido logo ao declarar.

 

Na hora de usar, vai usar exatamente da mesma forma. Tanto faz usar constantes ou usar apenas com variáveis comuns.

 

RESUMINDO:

Se trocar de vitorias e empates para vitoria e empate, terá que trocar tanto no var, tanto em todos os lugares que está utilizando elas.

 

Se reorganizar as variáveis, como nos 2 exemplos acima, da mesma forma precisará reajustar todas as variáveis no programa...

 

 

 

3#

15 horas atrás, claudiocj disse:

esse ponto tive que criar essa variável,  pós eu não estava conseguindo o resultado esperado que era jogos sem fazer gols, só consegui dessa maneira "gambiarra" 

Você leio a observação? Veja:

 

19 horas atrás, Simon Viegas disse:

Está errada / O resultado está apresentando igual ao esperado foi apenas uma grande coincidência. Estou fazendo uma pergunta retórica.

 

 

Vamos tentar reanalisar o que você fez:

Em 25/10/2018 às 22:28, claudiocj disse:

JogosSemfg <- golsFeitos - golsSofridos

 

Traduzindo temos o que está implementado:

"Quantidade de jogos sem fazer" = "quantidade de gols feitos na partida" - "quantidade de gols sofridos na partida"

Qual seria a relação da "diferença de gols do jogo" com meu time ter feito gol ou não?

 

 

Veja:

Pergunta: O que você quer?

Resposta: "A quantidade de jogos sem fazer gol"

 

Pergunta: Tá, mas o quê é um jogo sem fazer gol?

Resposta: ?

 

Ou seja, seria necessário entender o que você o contexto do que você está tentando implementar.... como verás, não tem mistério. "jogo sem fazer gol" é justamente "um jogo sem fazer gol". A resposta já está na pergunta! Em outras palavras seria "quanto o placar final indica que o time está com 0 de gols feitos!".

 

RESUMINDO:

No seu código, um jogo sem fazer gol é quando golsFeitos está igual a 0.

 

 

***

 

No aguardo.

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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