TP2 ENUNCIADO
Instituto de Ciências Exatas
Departamento de Ciência da Computação
Algoritmos e Estruturas de Dados II
2º Semestre de 2011
TP2 - Lero Lero Averiguator
Prazo de entrega: 25/11/2011 (improrrogável)
Valor: 15 pontos
Descrição do Problema
Você deve criar um programa para averiguar a qualidade de textos escritos em português, que será medida de acordo com três critérios: (a) o tamanho de parágrafos e frases, (b) a repetição de palavras e (desafio) a utilização de expressões incorretas.
Seu trabalho é ler um arquivo contendo texto não formatado e gravar, em um arquivo de saída algumas informações sobre o texto. Você deve considerar que frases são delimitadas por um caractere do grupo {“!”, “.”, “?”} e os parágrafos são delimitados por pelo menos uma linha em branco: “\n”. Algumas palavras, as “stop words”, devem ser desconsideradas na análise por não apresentarem sentido por si só: {“a”, “as”, “o”, “os”, “um”, “uns”, “uma”, “umas”, “e”, “ou”}.
Considere também que uma palavra é uma sequência de letras delimitada por um espaço em branco ou símbolos de pontuação.
(a) Para cada parágrafo do texto no arquivo de entrada, você deve imprimir:
1. O número da linha no arquivo de entrada onde começa o parágrafo (a primeira linha do arquivo é a linha 1);
2. O número de frases no parágrafo;
3. O número de palavras em cada frase, incluindo e não incluindo “stop words”
(b) Para cada palavra que não é stop word, em ordem alfabética, imprimir:
1. A quantidade de ocorrências
2. Os números das linhas no arquivo de entrada onde elas aparecem (separadas por vírgula e espaço).
3. Caso a palavra ocorra mais de uma vez no mesmo parágrafo, indicar o número do parágrafo (o primeiro parágrafo é o de número 1) e a distância (número de palavras entre elas considerando stop words) entre as ocorrências das palavras. Caso haja mais de duas ocorrências da mesma palavra no parágrafo deve-se listar a ocorrência com menor distância entre as palavras.
Outras