Alguem Pode ajudar? (Visualg)1. Em um jogo de adivinhação, o jogador deve descobrir um número entre 1 e 10 usando até três tentativas. A cada tentativa o jogador é informado se o número foi descoberto, ou se ele é maior ou menor do que a tentativa. Se após três tentativas o jogador não descobrir o número, então ele perde o jogo. Faça um algoritmo que implemente esse jogo.2. Faça um algoritmo que mostre um triângulo composto por caracteres “#”. O tamanho da base deve ser informado pelo teclado, e deve ser no mínimo 5 e no máximo 15.
isabelabborges:
Em linguagem C ?
Respostas
respondido por:
20
O VisuAlg tem uma função chamada rand. Ela retorna um valor maior ou igual a zero e menor que um: 0 ≤ x < 1. Exemplo de valores possíveis de serem gerados:
0,00000001...
0,10474885...
0,21545784...
...
0,99985422...
Se multiplicarmos esses valores por 10, teremos:
0,0000001...
1,0474885...
2,1545784...
...
9,9985422...
Mas queremos um número inteiro, não é verdade? Para isso podemos usar uma outra função chamada int() que retorna a parte inteira de um número.
int(0,0000001...) = 0
int(1,0474885...) = 1
int(2,1545784...) = 2
...
int(9,9985422...) = 9
Como o valor máximo será 9 ao multiplicarmos por 10, devemos multiplicar por 11 o número aleatório que foi gerado, assim o maior valor possível será 10 e não 9. Algoritmo:
algoritmo "ExBrainly"
var
n: inteiro //numero a ser gerado
x: inteiro // tentativas do usuario
i: inteiro //contador
inicio
n <- int(rand * 11)
x <- -1 //se X for 0 e N for 0 o usuário pode acertar, por isso -1
i <- 1
escrevaL("Tente advinhar um numero entre 1 e 10. Voce tem 3 tentativas.")
enquanto (i <= 3) e (x <> n) faca
escreva(i, " tentativa: ")
leia(x)
se (x = n) entao
escrevaL("ACERTOU")
senao
se (x > n) entao
escrevaL("O numero e menor")
senao
escrevaL("O numero e maior")
fimse
fimse
i <- i + 1
fimenquanto
se (x <> n) entao
escrevaL("Tentativas esgotadas")
fimse
fimalgoritmo
0,00000001...
0,10474885...
0,21545784...
...
0,99985422...
Se multiplicarmos esses valores por 10, teremos:
0,0000001...
1,0474885...
2,1545784...
...
9,9985422...
Mas queremos um número inteiro, não é verdade? Para isso podemos usar uma outra função chamada int() que retorna a parte inteira de um número.
int(0,0000001...) = 0
int(1,0474885...) = 1
int(2,1545784...) = 2
...
int(9,9985422...) = 9
Como o valor máximo será 9 ao multiplicarmos por 10, devemos multiplicar por 11 o número aleatório que foi gerado, assim o maior valor possível será 10 e não 9. Algoritmo:
algoritmo "ExBrainly"
var
n: inteiro //numero a ser gerado
x: inteiro // tentativas do usuario
i: inteiro //contador
inicio
n <- int(rand * 11)
x <- -1 //se X for 0 e N for 0 o usuário pode acertar, por isso -1
i <- 1
escrevaL("Tente advinhar um numero entre 1 e 10. Voce tem 3 tentativas.")
enquanto (i <= 3) e (x <> n) faca
escreva(i, " tentativa: ")
leia(x)
se (x = n) entao
escrevaL("ACERTOU")
senao
se (x > n) entao
escrevaL("O numero e menor")
senao
escrevaL("O numero e maior")
fimse
fimse
i <- i + 1
fimenquanto
se (x <> n) entao
escrevaL("Tentativas esgotadas")
fimse
fimalgoritmo
Perguntas similares
6 anos atrás
6 anos atrás
6 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás