Adivinhar um número

De GNU Octave
Revisão em 14h44min de 14 de janeiro de 2013 por Jgrocha (Discussão | contribs) (Criou nova página com 'O computador pensa num número entre 1 e 100 e o utilizador tem que descobrir esse número no menor número de tentativas possíveis. ===Pensar num número=== Obviament...')

(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Ir para: navegação, pesquisa

O computador pensa num número entre 1 e 100 e o utilizador tem que descobrir esse número no menor número de tentativas possíveis.

Pensar num número

Obviamente que o computador não pensa, mas pode imitar esse processo gerando um número aleatório.

A função rand gera um número aleatório entre 0 e 1. Exemplo:

octave:15> rand(1)
ans =  0.61484

Para conseguirmos gerar um número entre 1 e 100 temos que usar alguma matemática. A expressão será:

numero = 1+round(rand(1)*99)

Ciclo para ver se o número do utilizador é o correto

numero = 1+round(rand(1)*99)
do
	tentativa = input('Papite? ');
until (tentativa == numero)

Programa completo

numero = 1+round(rand(1)*99);
do
	tentativa = input('Papite? ');
	if (tentativa < numero)
		disp('Está abaixo');
	endif
	if (tentativa > numero)
		disp('Está acima')
	endif
until (tentativa == numero)
printf('Acertou! Era mesmo o número %d que eu tinha pensado!\n', numero)

Exemplo de execução

>>> adivinhanumero
Papite?  50
Está acima
Papite?  25
Está abaixo
Papite?  37
Está acima
Papite?  31
Está acima
Papite?  28
Está acima
Papite?  27
Acertou! Era mesmo o número 27 que eu tinha pensado!
>>>