Dúvida no Exercício 33 – aula 4 – módulo 3

Home Fóruns Programação Básica Dúvida no Exercício 33 – aula 4 – módulo 3

Visualizando 3 respostas da discussão
  • Autor
    Posts
    • #116394
      Milena Rosa Carnielli
      Participante

      Boa tarde Jessica,

      Tenho muita dificuldade para realizar alguns exercícios, pois as vezes o Guanabara pede que o exercício seja feito de uma forma e quando vejo a resolução ele está resolvendo e deixando a estrutura do resultado diferente do que ele pediu na aula. Exemplo: nesta aula ele pede para que esteja escrito ” O 1° valor sorteado foi: x , O 2° valor sorteado foi: y” e assim por diante. Na resolução o programa dele retorna “Sorteando os valores: ” . Toda vez que isso acontece tenho que vir aqui pois não consigo sanar minha dúvida. Dito isto, meu programa não está sorteando mais de 1 valor, e era para ele sortear o valor que eu digito em “n” vezes. Poderia me ajudar? Segue o código

      programa
      {
      //Exercício 33 – Sorteio de Números

      inclua biblioteca Util –> u

      funcao inicio()
      {
      escreva(” { Exercício 33 – Sorteio de Números } “)
      inteiro c, s, n, sort
      c = 1
      s = 0

      escreva(“\nQuantos números você quer que eu sorteie? “)
      leia (n)

      enquanto (c <= n) {
      sort = u.sorteia(1, 10)
      escreva (“O “, c, “° valor sorteado foi “, u.sorteia(1, 10))
      leia (sort)

      s += sort
      c += 1
      }
      }
      }

    • #116403
      Tutora Jessica
      Moderador

      Ola Milena, você colocou duas vezes o u.sorteia, ele já estava na variavel sort, acima do seu ultimo escreva..
      Nesse caso, você precisa retirar o ultimo leia. O leia recebe o “valor” que o usuário passa, no caso desse código o leia não faz sentido nenhum ali.
      Substitua o u.sorteia de dentro do escreva para variável sort e retire o leia, dessa forma:

      enquanto (c <= n) {
      	sort = u.sorteia(1, 10)
      	escreva ("O ", c, "° valor sorteado foi ", sort)
      	s += sort
      	c += 1
      }

      Após, o seu código ainda vai apresentar algumas falhas (não erros), veja se consegue conserta las a partir das explicações do professor Guanabara e não hesite em pesquisar, a pesquisa é sempre bem vinda e traz muito aprendizado.

    • #155864
      EMERSON DA SILVA
      Participante

      Boa noite.
      Eu consegui fazer o exercicio mais a minha função sorteia só sorteia o mesmo número,sabe se é algum problema na biblioteca ou se problema está no meu código?

      segue ele abaixo.

      Obrigado

      _____________________________________________________________________________________________________________________________________________________

      programa
      {

      inclua biblioteca Util –> u
      funcao inicio()
      {
      escreva(“{ EXERCÍCIO 033 – SORTEIO DE NÚMEROS }\n”)
      escreva(“========================================\n”)
      inteiro n
      escreva(“Quantos números você quer que eu sorteie? “)
      leia(n)
      escreva(“========================================\n”)

      inteiro s = u.sorteia(0, 100)
      inteiro TotalS=0

      inteiro c=1
      enquanto(c<=n){
      escreva(“O ” +c +”º” +” valor sorteado foi ” + s +”\n”)
      TotalS = s+TotalS
      u.aguarde(400)c=c+1
      }
      escreva(“========================================\n”)
      escreva(“Somando todos o s valores , temos ” + TotalS + “\n”)
      escreva(“================= FIM ==================\n”)
      }
      }

    • #155896
      Tutora Jessica
      Moderador

      Olá Emerson, o erro esta sim no seu código, na lógica dele , pois para que ele sorteie um número por vez ele precisa estar dentro do loop do seu enquanto, fora isso ele só irá sortear 1 unico número.

      Ficando dessa forma:

      inteiro s 
      inteiro TotalS=0
      inteiro c=1
      
      enquanto(c <= n){
      
      s = u.sorteia(0, 100)
      escreva(“O ” +c +”º” +” valor sorteado foi ” + s +”\n”)
      TotalS = s+TotalS
      u.aguarde(400)c = c + 1
      
      }
Visualizando 3 respostas da discussão
  • Você deve fazer login para responder a este tópico.