M03A11 ex045

Home Fóruns Programação Básica M03A11 ex045

Visualizando 7 respostas da discussão
  • Autor
    Posts
    • #74026
      Natanael dos Santos
      Participante

      Minha resolução ficou totalmente diferente:

      programa
      { //EXERCÍCIO 045 – Jogo de adivinhar

      inclua biblioteca Util –> u
      funcao inicio()
      { inteiro c = 0, chance, n, n_chance = 0

      escreva(“\nVou pensar em um número entre 1 e 10”)
      escreva(“\nVocê tem 3 chances para tentar adivinhar”)
      escreva(“\n=========================================\n”)
      n = u.sorteia(1, 10)
      faca {
      c++
      escreva(“\n\nChance “, c, “/3. Em que número eu pensei? “)
      leia(chance)
      n_chance++
      se (chance > n e c != 3) {
      escreva(“Ainda não foi dessa vez mas vou te dar outra chance.”)
      escreva(“\nDigite um número menor”)
      } se (chance < n e c != 3) {
      escreva(“Ainda não foi dessa vez mas vou te dar outra chance.”)
      escreva(“\nDigite um número maior”)
      } se (chance == n) {
      escreva(“\nVocê acertou em “, n_chance, ” tentativas!\n\n”)
      pare
      } se (c == 3 e chance != n) {
      escreva(“Ainda não foi dessa vez e suas chances acabaram!\n\n”)
      }

      } enquanto (c < 3)
      }
      }

    • #74132
      Tutora Mayla
      Mestre

      Natanael, seu código está funcionando, parabéns!
      Porém gostaria de ressaltar alguns pontos:

      • A variável c e a variável n_chance durante todo o programa terão o mesmo valor, escolha uma das duas e refaça o código utilizando apenas ela, para que não fique redundante. Neste cenário o contador do laço serve para contar o número de chances, já que cada volta do laço representa uma chance.
      • Tome cuidado ao nomear suas variáveis, tente dar nomes que representem o que elas fazem com cuidado para não abreviar demais. Por exemplo a variável chance na verdade se refere ao chute do jogador, o que não está muito claro de primeira.

      Quaisquer outras dúvidas estamos a disposição.
      Continue se dedicando e será cada vez um programador melhor, bons estudos!

    • #74136
      Natanael dos Santos
      Participante

      Entendi, obrigado!

    • #113582

      Pode dar uma olha no meu código está rodando certinho.
      Mas no final a opção de número maior ou menor aparece mesmo com as tentaivas esgostadas.

      inclua biblioteca Util –> u
      funcao inicio()
      {
      inteiro num, c = 0, sorteado, c2 = 3

      escreva(“\nVou pensar em um número entre 1 e 10 “)
      escreva(“\nVocê tem 3 CHANCES para tentar adivinhar”)
      escreva(“\n——————————————-\n”)

      faca{
      c++
      sorteado = u.sorteia(1,10)
      escreva(“\nChance de no.” + c + “/3. Em que número eu pensei? “)
      leia(num)

      se (num == sorteado){

      escreva(“\n**Parabéns! Você acertou!**”)
      escreva(“\n**Acertou em ” + c2 + ” tentativas!**”)
      escreva(“\n===========================”)
      escreva(“\n\n”)
      pare

      } senao {
      se (num > sorteado){

      escreva(“\nAinda não foi dessa vez. Tente novamente!”)
      escreva(“\n=========================================”)
      }

      se ( num < sorteado){

      escreva(“\n\t*Infelizmente você errou* “)
      escreva(“\n\t*** Diga! É um número maior *** “)
      escreva(“\n==========================================”)
      }

      se ( c == 3){
      escreva(“\n\t**[Acabaram as Tentativas!]**”)

      escreva(“\n\n”)

      }

      }

    • #113583

      Pesoal, alguém tem interesse em criarmos um grupo no whatsap?

    • #113626
      Tutora Jessica
      Moderador

      Miguel nós temos o Discord, você já esta lá?

    • #113632
      Tutora Jessica
      Moderador

      Miguel, seu código esta faltando o enquanto, e também uma variável do tipo lógico (ex: acertou).

      • #113683

        Ah,sim. Não copiei completo o código segue em baixo.
        inclua biblioteca Util –> u
        funcao inicio()
        {
        inteiro num, c = 0, sorteado, c2 = 0

        escreva(“\nVou pensar em um número entre 1 e 10 “)
        escreva(“\nVocê tem 3 CHANCES para tentar adivinhar”)
        escreva(“\n——————————————-\n”)

        faca{
        c++
        c2 ++
        sorteado = u.sorteia(1,10)
        escreva(“\nChance de no.” + c + “/3. Em que número eu pensei? “)
        leia(num)

        se (num == sorteado){

        escreva(“\n**Parabéns! Você acertou!**”)
        escreva(“\n**Acertou em ” + c2 + ” tentativas!**”)
        escreva(“\n===========================”)
        escreva(“\n\n”)
        pare

        } senao {
        se (num > sorteado){

        escreva(“Ainda não foi dessa vez. Tente novamente!”)
        escreva(“\n\t*** Diga! É um número menor *** “)
        escreva(“\n=========================================”)
        }

        se ( num < sorteado){

        escreva(“Ainda não foi dessa vez. Tente novamente!”)
        escreva(“\n\t*** Diga! É um número maior *** “)
        escreva(“\n==========================================”)

        }

        se ( c == 3 ){
        escreva(“\n\t**[Acabaram as Tentativas!]**”)
        escreva(“\n\n”)

        }

        }

        } enquanto (c != 3)

        }
        }

    • #113731
      Tutora Jessica
      Moderador

      Ola Miguel, você deve usar o senao nesse caso.. e colocar a opção de numero maior ou menor dentro desse senão.
      Após no, “acabaram as tentativas”, em vez de SE, também será SENAO, para que ele não mostre as mensagens anteriores.

Visualizando 7 respostas da discussão
  • Você deve fazer login para responder a este tópico.