terça-feira, 28 de dezembro de 2021

BASIC Apascalado #4: Recursividade (Torres de Hanoi) (type-in)


No suplemento número 62 do MicroSe7e, saiu mais um type-in da responsabilidade do Zé Oliveira. Este pequeno programa (apenas na aparência), permitia de uma forma muito rápida calcular o número de iteracções necessárias para se resolver a problemática do jogo Torres de Hanoi. Assim, se para um número pequeno de discos, encontrar a solução será mais ou menos simples, imaginem quando o número de discos é grande. Por exemplo, para 10 discos, já são necessários 1.023 movimentos. Segundo a lenda, os monges usavam 64 discos - o que demoraria mais tempo do que a existência do nosso planeta.

O programa, além de calcular o número de iteracções, ainda indica todos os movimentos que têm que ser efectuados. Espantoso!

Esta série de artigos tinha como objectivo informar os programadores de que havia melhores maneiras de programar. Isto é importante especialmente em programas grandes. Por exemplo, com esta técnica não é necessário usar o comando GOTO e isso pode tornar-se numa grande vantagem em reduzir os erros dos programas.

Poderão aqui descarregar as duas versões deste programa, disponibilizadas pelo próprio autor, ou então, poderão aqui carregar online a versão 1 e aqui a versão 2. E para quem não conhece o jogo e pretender uma versão mais moderna, pode vir aqui experimentar uma versão em Javascript no browser, desenvolvida pelo David Magalhães (que já nos tinha trazido História de Portugal).

Sem comentários:

Enviar um comentário