Descobrir o número
De GNU Octave
Versão inicial
#programa em que o utilizador pensa num numero e o computador descobre inferior=1; superior=100; do numero=inferior+ floor((superior-inferior)/2) printf('Aposto no %d, ', numero); resposta=input ('que tal? (b/c/a)', 's') if (resposta(1)=='a') superior=numero; endif if (resposta(1)=='b') inferior=numero; endif if (resposta(1)=='c') endif until (resposta =='c') printf('Acertou! %d era o numero que tinha pensado\n', numero);
Versão mais robusta
# o aluno pensa num numero e o computador tenta adivinhar inferior = 1 superior = 100 do tentativa = inferior + floor((superior-inferior)/2) printf("Aposto no %d\n", tentativa); feedback = input("Que tal (Baixo/Certo/Alto)?", "s"); letra = lower(feedback(1)) switch letra case "b" inferior = tentativa+1; if (inferior == 100) superior = 101; endif case "a" if tentativa > 1 superior = tentativa-1; else inferior = tentativa superior = tentativa endif case "c" inferior = tentativa superior = tentativa otherwise disp("Nao te entendo") endswitch until (inferior == superior) if (letra != "c") disp("Esqueceu-se do numero?") endif