Desafio 8

   O problema resume-se em:
1) sortear um número;
2) perguntar um número para o usuário;
3) comparar esse números.

SuperLogo, xLogo, MegaLogo

 aprenda vai
dt
rotule [Adivinhe que número pensei?]
un pt 45 ul
rotule [Dica: É um número entre 1 e 50]
atr "x 1 + sortnum 50
adivinha
fim
Imagine

 aprender vai
dt
rotular [Adivinhe que número pensei?]
un pt 45 ul
rotular [Dica: É um número entre 1 e 50]
atr "x 1 + sortear 50
adivinha
fim

FMSLogo

 aprenda vai
ot
rotule [Adivinhe que número pensei?]
un pt 45 ul
rotule [Dica: É um número entre 1 e 50]
atr "x 1 + sorteie 50
adivinha
fim
Micromundos

 aprenda vai
dt
anuncie [Adivinhe que número pensei?]
anuncie [Dica: É um número entre 1 e 50]
atr "x 1 + sorteie 50
adivinha
fim

   Acima, em azul, se tivéssemos feito sortear 50, o Logo sortearia números de 0 a 49. Usando 1 + sortear 50, o Logo devolverá um número de 1 a 50.
   Ag
ora, tratamos da lógica no procedimento "adivinha". Ou seja, verificar se o palpite do usuário é igual ao que o Logo sorteou no procedimento "vai".

MegaLogo
 para adivinha
atr "palpite pri ( leiacaixa [Que número você acha que eu pensei?][] )
se :x = :palpite [( caixa [Parabéns!][Acertou] ) pare]
se :x < :palpite [( caixa [Eu pensei num número menor][Não foi dessa vez] )] ~
[( caixa [Eu pensei num número maior][Tente de novo!] )]

adivinha
fim

Uma caixa de questão
SuperLogo

 aprenda adivinha
atr "palpite pri caixadequestão [][Que número você acha que eu pensei?]
se :x = :palpite [mostrecaixamensagem [Acertou] [Parabéns!] pare]
senão :x < :palpite [mostrecaixamensagem [Não foi dessa vez] [Eu pensei num número menor]] [
mostrecaixamensagem [Tente de novo!] [Eu pensei num número maior]]

adivinha
fim
FMSLogo

 aprenda adivinha
atr "palpite primeiro caixadequestão [][Que número você acha que eu pensei?]
se :x = :palpite [mensagem [Acertou] [Parabéns!] pare]
senão :x < :palpite [mensagem [Não foi dessa vez] [Eu pensei num número menor]] [
mensagem [Tente de novo!] [Eu pensei num número maior]]

adivinha
fim
xLogo

 aprenda adivinha
leia [Que número você acha que eu pensei?] "palpite
atr "palpite pri :palpite
se :x = :palpite [mensagem [Parabéns!] pare]
se :x < :palpite [mensagem [Eu pensei num número menor]] [
mensagem [Eu pensei num número maior]]

adivinha
fim
Micromundos

 aprenda adivinha
pergunte [Que número você acha que eu pensei?]
se :x = resposta [anuncie [Parabéns!] pare]
sesenão :x < resposta [anuncie [Eu pensei num número menor]] [
anuncie [Eu pensei num número maior]]

adivinha
fim
Imagine

 aprender adivinha
atr "palpite primeiro ( lercaixa [Que número você acha que eu pensei?][] )
se :x = :palpite [( caixa [Parabéns!][Acertou] ) parar]
seNão :x < :palpite [( caixa [Eu pensei num número menor][Não foi dessa vez] )]
[( caixa [Eu pensei num número maior][Tente de novo!] )]

adivinha
fim

   Note que o procedimento adivinha será repetido até que a pessoa consiga acertar o número sorteado. Ele é interrompido pela primitiva pare (quando a variável x é igual à variável :palpite). O procedimento é repetido porque escrevi no seu final a palavra adivinha.

Há outras formas de criar esse laço. Sabe como?

Um desafio maior para esse jogo de adivinhações é criar um contador para registrar quantas tentativas foram necessárias até conseguir acertar o número.