Informática, perguntado por MechDante, 11 meses atrás

Conforme Celes, Cerqueira, Rangel (2004), podemos utilizar um vetor para armazenar os elementos e implementarmos uma Fila em estrutura de dados, ou podemos utilizar uma alocação dinâmica de memória para armazenar os elementos, como utilizaremos em nosso exemplo de Fila.

A Torre de Hanói, é um jogo pedagógico onde os elementos inseridos em uma pilha, possuem uma sequência de inserção, sendo o primeiro elemento que entra na pilha só pode ser removido por último, após todos os outros elementos serem removidos. Assim, um elemento maior nunca pode ficar sobre um elemento menor.

Um programador apresentou o código abaixo como solução da Torre de Hanói.

Considerando o contexto apresentado, avalie as seguintes asserções e a relação proposta entre elas.

I. Aplica-se o algoritmo abaixo para solucionar o problema da Torre de Hanói:

#include
#include
#include /* Declaração das funções de horas */

#define N 10
struct filacirc {
int tam, ini, fim; int vet[N];
};
typedef struct filacirc FilaCirc;

void inicia_fila (FilaCirc *f){
f -> tam = 0; f -> ini = 1; f -> fim = 0;
}

void insere_fila (FilaCirc* f, char elem)
{
if (f -> tam == N - 1)
{
printf("A fila esta cheia\n");
} else
{
f -> fim = (f -> fim % (N - 1)) + 1;
f -> vet[f -> fim] = elem;
f -> tam++;
}
}

int fila_vazia (FilaCirc* f){
return (f -> tam == 0); }

int remove_fila (FilaCirc* f)
{
if (fila_vazia(f))
{
printf("Fila vazia\n");
} else {
f -> ini = (f -> ini % (N-1)) + 1; f -> tam--;
}
}

int main ( )
{
FilaCirc* f; char processo[20];
int tempo, tmpGasto;
clock_t tInicio, tFim; /* Declaração de variável do tipo hora */
printf(“\n Informe o tempo do processo em execução: \n”);
scanf(“%d”, &tempo);
tInicio = clock(); /* Inicia o relógio */
while (f -> tam < N - 1)
{
insere_fila(f, processo);
}
while (f -> tam <= N - 1)
{
tFim = clock(); /* Finaliza o relógio */
tmpGasto = ((int) (tFim – tInicio)); /* Calcula o tempo gasto */
if (tempo <= tmpGasto)
{ /* Se o tempo for menor ou igual ao tempo gasto, remove da fila */
remove_fila(f);
} else
{
printf("Processando...");
}
}
system(“Pause”);
}

PORQUE

II. A implementação do algoritmo em questão é uma das formas possíveis de solucionar o problema da Torre de Hanói através de Fila Circular.

A respeito dessas asserções, assinale a alternativa correta.

Escolha uma:
a. a asserção I é uma proposição falsa, e a II é uma proposição verdadeira.

b. as asserções I e II são proposições falsas.

c. a asserção I é uma proposição verdadeira, e a II é uma proposição falsa.

d. as asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Incorreto

e. as asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.

Soluções para a tarefa

Respondido por vadinei
41
b. as asserções I e II são proposições falsas.

MechDante: Correta, muito obrigado
Perguntas interessantes