14.03.2015 Views

ILA - Unisinos

ILA - Unisinos

ILA - Unisinos

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (<strong>ILA</strong>) - Página 11<br />

No exemplo anterior, para se definir qual seria a primeira instrução, como existem apenas três<br />

possibilidades, verifica-se o que aconteceria ao se escolher determinada instrução. Foi o que, de<br />

passagem, foi feito acima: se o homem atravessasse primeiro o milho, a raposa devoraria as<br />

galinhas; se o homem atravessasse primeiro a raposa, as galinhas comeriam o milho. Neste caso,<br />

podemos dizer que foi utilizada a técnica da exaustão: como o número de alternativas era pequeno,<br />

analisamos todas elas, uma a uma.<br />

Esta técnica pode ser utilizada também na solução do seguinte problema: dispõe-se de três<br />

esferas idênticas na forma, sendo duas delas de mesmo peso e a terceira de peso maior. A questão é<br />

descobrir qual a esfera de peso diferente, realizando-se apenas uma pesagem numa balança de dois<br />

pratos. Para isto chamemos de A e B as esferas de mesmo peso e de C a de maior peso. Se optarmos<br />

por colocar duas esferas num dos pratos (indicando por X + Y, o fato de colocarmos as esferas X e<br />

Y num mesmo prato da balança) e a outra esfera no outro, temos as seguintes possibilidades:<br />

a) (A+B, C).<br />

b) (A+C, B).<br />

c) (B+C, A).<br />

No primeiro caso, pode acontecer qualquer coisa: a balança pode ficar equilibrada, se<br />

Peso(C) = Peso(A+B); ficar inclinada para o lado esquerdo, se Peso(C) > Peso(A+B) ou ficar<br />

inclinada para o lado direito se Peso(C) < Peso(A+B). Observe que nada pode distinguir a esfera C.<br />

Nos dois últimos casos, a balança se inclinará para a esquerda, mas, outra vez, nada distingue a<br />

esfera C. Por exaustão, resta então escolhermos duas esferas e colocarmos cada uma delas num dos<br />

pratos da balança. Agora os casos possíveis são:<br />

a) (A, B).<br />

b) (A, C).<br />

c) (B, C).<br />

No primeiro caso, a balança ficará equilibrada, o que indica que a mais pesada é aquela não<br />

escolhida; nos outros dois casos, a balança se inclinará para a direita, indicando que a esfera mais<br />

pesada é aquela que ocupa o prato respectivo. Temos então o seguinte algoritmo:<br />

1. Escolha duas esferas.<br />

2. Coloque cada uma das esferas escolhidas num dos pratos da balança.<br />

3. Se a balança ficar equilibrada, forneça como resposta a esfera não escolhida; caso contrário,<br />

forneça como resposta a esfera do prato que está num nível mais baixo.<br />

Uma outra técnica de resolução de problemas consiste em se tentar resolver casos particulares<br />

da questão ou resolver a questão para dados menores do que os dados que foram fixados. Para<br />

exemplificar, consideremos a seguinte questão: como obter exatamente 4 litros de água dispondo de<br />

dois recipientes com capacidades de 3 litros e 5 litros 1 ? Como 4 = 3 + 1 ou<br />

4 = 5 – 1 conseguiremos resolver a questão se conseguirmos obter 1 litro. Mas isto é fácil, pois<br />

1 = 3 + 3 – 5! Temos então o seguinte algoritmo:<br />

1. Encha o recipiente de 3 litros.<br />

2. Transfira o conteúdo do recipiente de 3 litros para o recipiente de 5 litros.<br />

3. Encha o recipiente de 3 litros.<br />

4. Com o conteúdo do recipiente de 3 litros, complete o recipiente de 5 litros.<br />

5. Esvazie o recipiente de 5 litros.<br />

6. Transfira o conteúdo do recipiente de três litros para o recipiente de 5 litros.<br />

7. Encha o recipiente de 3 litros.<br />

8. Transfira o conteúdo do recipiente de 3 litros para o recipiente de 5 litros.<br />

Para compreender o algoritmo, sejam A e B os recipientes de 3 litros e de 5 litros,<br />

respectivamente, e indiquemos por (X, n) o fato de o recipiente X conter n litros de água. No início<br />

1<br />

A solução desta questão foi necessária num filme da série Duro de Matar para o protagonista desativar uma bomba.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!