|
Programação de Software Básico |
|
|
Trabalho I - 2007/II
Prof. Marcio Serolli Pinho
|
|
Referência Cruzada
Descrição (preliminar)
O objetivo deste trabalho é
criar uma referência cruzada das palavras existentes em um
arquoivo texto. O programa deve contar quantas vezes cada palavra, como
mais de 3 letras ocorre no texto, desconsiderando o fato das letras
serem maiúsculas ou minúsculas.
Ao final do processamento o
programa deverá gerar 2 outros arquivos. Um com as palavras
listadas por ordem de albética e outro com as palavras
litadas por ordem de freqüencia de ocorrência.
Requisitos da Implementação
A implementação, deverá respeitar os seguintes aspectos:
- O arquivo a ser processado deve ser informado na linha de comando que executa o programa
- A estrutura que armazena as palavras deve ser uma lista encadeada de objetos
- Não devem ser usadas variáveis globais
Programa Exemplo
// ************************************************************
//
// Aquivo exemplo para o trabalho de REFERÊNCIA CRUZADA
// ATENÇÃO: Para compilar este arquivo é necessário
// criar as seguintes classes:
// ArquivoTexto; LinhaTexto; ListaPalavras
//
// ************************************************************
#include <iostream>
using namespace std;
#include "ArquivoTexto.h"
#include "LinhaTexto.h"
#include "ListaPalavras.h"
int main()
{
int nLinha =0;
string Palavra;
ListaPalavras Lista(); // objeto que gerencia a lista
ArquivoTexto Arquivo(); // objeto que gerencia o arquivo
LinhaTexto Linha(); // objeto que gerencia uma linha
Arquivo.Open("AveMaria.txt");
do // laço que passa em cada linha do arquivo
{
fim = Arquivo.getNextLine(L);
if (fim==1)
break;
nLinha++; // conta mais uma linha lida do arquivo
Linha.setTexto(L); // define o texto da linha
do // laço que passa em cada palavra de uma linha
{
fimLinha =
Linha.getNextPal(Palavra); // obtém a próxima palavra da
linha
if (fimLinha==1)
break;
Lista.Insere(Palavra, nLinha); // coloca a palavra na lista
} while (1);
} while (1);
}
Data de Entrega
O trabalho, que poderá
ser desenvolvido em duplas, deverá ser entregue no dia 18/outubro/2007, durante o horário da aula.