Terceiro Exercício-Programa

Ordenação de Arquivos de Texto

Entrega: 04 de dezembro

Os objetivos deste exercício-programa são:

Você escreverá um programa que lê um arquivo de texto, ordena as linhas desse arquivo de texto e escreve na saída padrão o arquivo ordenado. Seu programa, chamado ordena, deve ler a entrada padrão, caso ele tenha sido ativado sem nenhum argumento na linha comando, ou o arquivo cujo nome foi passado como argumento na linha de comando. Assim, no Linux, a linha de comando

    ./ordena

faz o programa tomar como arquivo de entrada a entrada padrão, que neste caso é o teclado. Já a linha de comando

    ./ordena arq_entrada

faz o programa tomar como entrada o arquivo arq_entrada. Finalmente, a linha de comando

    ./ordena < arq_entrada

faz o programa tomar como arquivo de entrada a entrada padrão redirecionada, que neste caso é o arquivo arq_entrada.

O programa ordena deve reconhecer as seguintes opções:

Exemplo: a linha de comando

    ./ordena -r -f -aM arq_entrada

faz ordenação reversa (decrescente) do arquivo arq_entrada, considerando as letras minúsculas como maiúsculas e usando o algoritmo Mergesort.

Requisitos

Experimentos

Efetue uma série de experimentos com seu programa, com o objetivo de comparar os tempos de execução dos diferentes algoritmos de ordenação para arquivos de vários tamanhos e características (arquivos já em ordem crescente ou decrescente, arquivos parcialmente ordenados, arquivos não ordenados). Verifique se as complexidades teóricas dos algoritmos são confirmadas pelos seus experimentos. Entregue, juntamente com seu programa, um relatório com os resultados dos experimentos.

Avisos

Este trabalho deve ser entregue até 04/12, através do sistema Paca/Moodle.


Valid CSS! Valid XHTML 1.0! Last modified: Sat Nov 8 18:18:20 BRST 2008