·

Ciência da Computação ·

Análise de Algoritmos

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Projeto da Disciplina Projeto e Análise de Algoritmos I 1 DescriçãoO quebracabeça do ladrilho é formado por uma matriz n n de ladrilhos Existem n2 1 ladrilhos na matriz e uma posição vazia Os ladrilhos são numerados com os números 1 2 3 n2 1 Veja a Figura 1 Figura 1 Quebracabeça 4 4 O quebracabeça é solucionado quando todos os ladrilhos estão ordenados como ilustrado na Figura 2 Figura 2 Quebracabeça 4 4 solucionado Os movimentos possíveis para um ladrilho são os seguintes para cima para baixo para a esquerda e para a direita desde que a posição que ele ocupar esteja vaga Quando um ladrilho é movimentado então ele preenche a posição vazia da tabela e sua posição anterior fica vaga Sua tarefa é implementar um programa em linguagem C que Leia os dados de uma matriz n n com ladrilhos não ordenados e uma sequência de movimentos a serem executados na matriz Executar um movimento de cada vez mostrando a matriz resultante e informar a cada movimento se a matriz está ou não ordenada Observação alguns movimentos podem não ser válidos Entrada Os dados de entrada devem ser lidos de um arquivo chamado ladrilhotxt O arquivo possui o seguinte formato A ordem da matriz n Uma sequência de números indicando a ordem em que os ladrilhos estão dispostos na matriz Observação o número 0 zero indica a posição vazia da matriz Número de movimentos a serem executados A descrição de cada movimento onde cada movimento é representado pelo número do ladrilho a ser movimentado e o tipo de movimento c cima b baixo d direita e esquerda Exemplo de entrada ladrilhotxt 4 5 1 3 4 2 0 6 8 9 10 7 11 13 14 15 12 8 2 d 5 b 1 e 2 c 6 e 7 c 11 e 12 c Saída A saída do programa consiste na impressão do quebracabeça sendo que ele deve ser impresso após cada movimento e sempre no mesmo local da tela Outras informações como números de movimentos restantes ou o próximo movimento podem ser impressas Sejam criativos O que entregar O trabalho pode ser feito individual ou em dupla e deve seguir os seguintes requisitos O códigofonte em linguagem C Listagem do códigofonte devidamente indentado e comentado Todos os fontes devem necessariamente conter os nomes dos programadores Avaliação A avaliação do trabalho pode ficar comprometida e não receber ponto algum nos seguintes casos se o projeto não for apresentado em aula eou se um dos integrantes do grupo não estiver presente se o programa não compila e não gera o executável se o programa exige algum arquivo adicional que não está presente Os critérios de avaliações são os seguintes Atendimento às especificações funcionamento correto e manipulação adequada de erros Clareza do códigofonte indentação nomenclatura adequada de variáveis e funções bem distribuídas comentários pertinentes etc Implementação coerente com o objetivo do programa soluções práticas para resolver o problema proposto uso correto de algoritmo e estrutura de dados