Existem ótimos exemplos de utilização de Pilhas em nosso cotidiano, nos brinquedos usados em sala de aula ou até mesmo numa simples pilha de livros, onde é possível se determinar qual o algoritmo (critério) utilizado para empilhá-los: tamanho, grossura, cor, tema, etc. Muitos professores usam estas artimanhas a fim de que os alunos possam desenvolver o raciocínio lógico. Pensando nisso, um programador desenvolveu o código abaixo, para que os professores possam informar a quantidade de discos e o sistema informasse a quantidade total de movimentos que serão realizados. Com esse algoritmo, eles poderiam criar gincanas e desafios entre os alunos para resolverem a ferramenta lógica que eles usam em sala de aula, com um número maior de discos. Abaixo apresenta-se o código desenvolvido pelo programador mencionado
Soluções para a tarefa
Resposta:
b)- Apenas as alternativas I, II e III são corretas
Explicação:
Resposta:
b) Apenas as alternativas I, II e III são corretas. (Conferido AVA)
Explicação:
Continuação da questão
#include <stdio.h>
#include <stdlib.h>
int contador = 0;
void algoritmo(int n, char a, char b, char c)
{
if (n == 1)
{
printf("Move o disco %d de %c para %c\n", n, a, b);
contador++;
} else
{
algoritmo(n - 1, a, c, b);
printf("Move o disco %d de %c para %c\n", n, a, b);
algoritmo(n - 1, c, b, a);
contador++;
}
}
int main(void)
{
int numDiscos;
printf("Informe o numero de discos: ");
scanf("%d", &numDiscos);
algoritmo(numDiscos, 'A', 'B', 'C');
printf("\n\nA quantidade de movimentos foi: %d", contador);
return 0;
}
Sobre o algoritmo apresentado acima, analise as seguintes afirmações:
I - O Algoritmo trata-se da solução da Torre de Hanói.
II - Para o desenvolvimento deste algoritmo foi necessário o uso da recursividade assim como o uso de Pilhas.
III - Foi necessário, um contador para realizar a contagem da quantidade de movimento.
IV - O algoritmo limita o numero de pilhas informadas em 10 unidades.
Agora, assinale a alternativa correta.