Ir ao conteúdo
  • Cadastre-se
pimpbum

Portugol Cara ou Coroa - Portugol

Recommended Posts

Estou tentando montar esse algoritmo, porém, está dando erro quando coloro "Coroa" na escolha do jogador. Se alguém achar outro erro, pode me ajudar a consertar?

 

 

 

 

inicio
    texto cara , coroa , escolha
    inteiro moeda
    escrever "Digite Cara ou Coroa" , "\n"
    ler escolha
    moeda <- aleatorio ( ) * 2
    se moeda = 0 então
        escrever "\nCara"
    fimse
    se moeda = 1 então
        escrever "\nCoroa"
    fimse
    se escolha = "cara" então
        escrever "\nVocê ganhou"
    senao
        se escolha = "coroa" então
            escrever "\nA máquina ganhou"
        fimse
    fimse
fim

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@pimpbum    para que a pessoa ganhe é preciso que moeda seja igual a escolha , e do jeito que você colocou , se a pessoa escolher cara então ganha  independente de se é cara ou coroa  e vice versa ,  então precisa verificar a escolha e o sorteio , então seu código com algumas modificações ficaria assim  :

inicio
    texto cara , coroa , escolha
    inteiro moeda
    escrever "Digite Cara ou Coroa" , "\n"
    ler escolha
    moeda <- aleatorio ( ) * 2
    se moeda = 0 então
        escrever "\nCara"
        se escolha="cara" então
            escrever "\nvocê ganhou !"
        senao
            se escolha="coroa" então
                escrever "\nA máquina ganhou !"
            fimse
        fimse
    senao
        escrever "\nCoroa"
        se escolha="coroa" então
            escrever "\nVocê ganhou . . ."
        senao
            se escolha="cara" então
                escrever "\nA máquina ganhou"
            fimse
        fimse
    fimse
fim

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
21 horas atrás, devair1010 disse:

@pimpbum    para que a pessoa ganhe é preciso que moeda seja igual a escolha , e do jeito que você colocou , se a pessoa escolher cara então ganha  independente de se é cara ou coroa  e vice versa ,  então precisa verificar a escolha e o sorteio , então seu código com algumas modificações ficaria assim  :


inicio
    texto cara , coroa , escolha
    inteiro moeda
    escrever "Digite Cara ou Coroa" , "\n"
    ler escolha
    moeda <- aleatorio ( ) * 2
    se moeda = 0 então
        escrever "\nCara"
        se escolha="cara" então
            escrever "\nvocê ganhou !"
        fimse
    senao
        se escolha="coroa" então
            escrever "\nA máquina ganhou !"
        fimse
    fimse
    se moeda = 1 então
        escrever "\nCoroa"
        se escolha="coroa" então
            escrever "\nVocê ganhou . . ."
        fimse
    senao
        se escolha="cara" então
            escrever "\nA máquina ganhou"
        fimse
    fimse
fim

 

Continua dando errado mesmo com esse código:

cara.png

coroa.png

adicionado 8 minutos depois
20 horas atrás, pimpbum disse:

Continua dando errado mesmo com esse código:

cara.png

coroa.png

Fiz a correção do código, e agora está pegando. Obrigado pela ajuda, segue o código correto:

inicio
    texto cara , coroa , escolha
    inteiro moeda
    escrever "Digite Cara ou Coroa" , "\n"
    ler escolha
    moeda <- aleatorio ( ) * 2
    
    se moeda = 0 então
        escrever "\nCara"
        se escolha = "cara" então
            escrever "\nvocê ganhou !"
            
        senao
            se escolha = "coroa" então
                escrever "\nA máquina ganhou!"
            fimse
        fimse
    fimse
    se moeda = 1 então
        escrever "\nCoroa"
        se escolha = "coroa" então
            escrever "\nVocê ganhou!"
        senao
            se escolha = "cara" então
                escrever "\nA máquina ganhou"
            fimse
        fimse
    fimse
fim

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@pimpbum   desculpe , errei na condição ,  coloquei o senão fora do lugar   ,   editei o código acima e testei no portugol ide e está funcionando bem , copie e teste novamente .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

1#

20 horas atrás, pimpbum disse:

texto cara , coroa , escolha

 

As variáveis cara e coroa não estão sendo usadas, logo devem ser removidas. Elas não tem qualquer função no programa!!!

 

 

 

2#

@pimpbum, no seu código corrigido está sem o senão para a moeda.

20 horas atrás, pimpbum disse:

   se moeda = 0 então
        escrever "\nCara"
        se escolha = "cara" então
            escrever "\nvocê ganhou !"
            
        senao
            se escolha = "coroa" então
                escrever "\nA máquina ganhou!"
            fimse
        fimse
    fimse
    se moeda = 1 então
        escrever "\nCoroa"
        se escolha = "coroa" então
            escrever "\nVocê ganhou!"
        senao
            se escolha = "cara" então
                escrever "\nA máquina ganhou"
            fimse
        fimse
    fimse

 

Mas o senão é necessário, pois "se for um número, não pode ser o outro", ou seja, são condições mutuamente excludentes. Sem o senão, ficam 2 se distintos (é necessário amarrar um ao outro)!!! Pense assim, a necessidade do senão para moeda é a mesma da necessidade do senão para a escolha. Se para um caso tem, para o outro também deveria ter.

 

 

 

3#

Se não digitar exatamente "coroa" ou "cara", o programa não funciona... até mesmo se digitar "Coroa" ou "Cara" (primeira letra maiúscula, assim como está no texto). Seria necessário tratar isso.

 

 

 

***

 

No aguardo.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×