\documentclass[11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[brazil]{babel}
\usepackage{pifont}
\setlength{\textheight}{8.5in}
\setlength{\textwidth}{6.5in}
\setlength{\evensidemargin}{0pt}
\setlength{\oddsidemargin}{0pt}
\setlength{\topmargin}{-30pt}

\def\risonho{{$\bigcirc\!\!\!\!\!\lower.02cm\hbox{\vbox{\offinterlineskip\hbox{$\>\!..$}\vskip.07cm\hbox{$\scriptscriptstyle\smile$}}}$}}
\def\tristonho{{$\bigcirc\!\!\!\!\!\lower.02cm\hbox{\vbox{\offinterlineskip\hbox{$\>\!..$}\vskip.07cm\hbox{$\scriptscriptstyle\frown$}}}$}}


\begin{document}
\noindent
{\footnotesize {\sc MAC--IME--USP}} \hfill {\footnotesize {\sc Carlos Eduardo Ferreira}}

\vspace{-1mm}
\hfill {\footnotesize {\sc Sala 297A Tel.: 818 6140}}

\vspace{-1mm}
\hfill {\footnotesize {\sc e-mail} cef@ime.usp.br}

\vspace{1cm}

\begin{center}
{\large\bf MAC 323 -- Estruturas de Dados}
\end{center}

\begin{center}
{\bf Primeiro semestre de 1998}
\end{center}

\begin{center}
{\large  Exercício-Programa 4 -- Entrega: {\bf 9 de junho}}

\vspace{0.3cm}
Uma máquina de busca 
\end{center}

Falar hoje da importância da internet é desnecessário. Todos estão ligados a
essa rede mundial e a utilizam para diversos usos: educação, cultura,
entretenimento, compras, etc. O grande problema é como encontrar as
informações que você deseja na quantidade quase infinita disponível. 

Para esse fim existem as máquinas de busca, como, por exemplo, a
altavista (os nomes dados a este tipo de software são ``robôs na internet'', 
{\it Softbots, Wanderers} ou {\it Spiders}). Neste exercício-programa 
implementaremos uma máquina de busca
semelhante, a fim de resolver o problema. A idéia é receber como entrada uma
URL (como, por exemplo, o site www.linux.ime.usp.br/$\sim$cef) e o programa
monta em uma primeira fase uma estrutura de busca rápida (B-árvore) com todas
as palavras encontradas em documentos da URL dado. Então, o programa permite
que diversas consultas possam ser feitas a essa estrutura, dizendo, para cada
palavra buscada, quais os arquivos onde essa palavra ocorre. Você pode
considerar que uma palavra tem pelo menos 3 letras. 

Com isso, o exercício terá duas fases. Inicialmente todos os arquivos da
URL são varridos e é montada uma tabela de índice remissivo com, para
cada palavra que ocorre nos arquivos, a lista dos arquivos onde essa palavra é
encontrada. Essa tabela deverá ser organizada como uma B-árvore. Depois, seu
programa deverá permitir ao usuário buscas nesta URL, apresentando, para cada
palavra dada, a lista dos arquivos que a contém (que é simplesmente percorrer
a tabela de índices remissivos). 
\end{document}