Curso de ScriptVox Intermediário - Aula 10 - Prof. Oswaldo Vernet - iNCE/UFRJ

Exercício de avaliação (enviar para scriptvox@gmail.com até o meio-dia de 23 de fevereiro de 2012)

Faça um script que lê um arquivo chamado "AGENDA.TXT", contendo nomes de pessoas 
e números de telefone. O formato do arquivo é o seguinte: para cada pessoa, 
o nome aparece numa linha e o telefone na linha seguinte.

Guarde os nomes lidos numa lista de nomes e os telefones numa lista de telefones,
na ordem em que foram lidos do arquivo. Trate telefones como cadeias, não como números.
Trate os nomes sempre em maiúsculas. As duas listas começam vazias e vão ganhando
elementos à medida que o arquivo é lido.

As listas estão emparelhadas, ou seja, o nome armazenado na posição "p" da lista de 
nomes corresponde ao telefone armazenado na posição "p" da lista de telefones.
Portanto, as duas listas devem ter a mesma cardinalidade. 

Agora, implemente uma agenda eletrônica, em que o usuário pode digitar
o nome da pessoa e o script informará o telefone ou pode também digitar o telefone 
e o script informará o nome. 

Quando estiver funcionando, faça uma melhoria: não permita repetições de nomes. 
Quando houver nomes repetidos, o script deve informar ao usuário e considerar 
apenas o nome que apareceu primeiro. As repetições não devem nem ser incluídas nas
listas. Mas cuidado: telefones podem estar repetidos; não há problema algum em
duas pessoas terem o mesmo telefone.

Melhore ainda mais a sua agenda eletrônica: o usuário quando digita um
nome não precisa digitar o nome completo da pessoa. Assim, se houver dois nomes na
lista, um deles sendo "Joãozinho Trinta" e o outro sendo "Joãozinho Quarenta", e o usuário
digitar apenas "Joãozinho", o script deverá mostrar os dois nomes completos e os dois telefones.

O formato da interação com o usuário está livre de propósito. Quero analisar como 
cada um vai fazer a entrada de dados e dar as respostas.

Assim como fizemos para o monte de cartas nas aulas anteriores, procure identificar
as operações que serão realizadas sobre a agenda. Para cada operação que você julgar necessária, 
escreva uma função que a implementa, avaliando com cuidado quais serão os parâmetros, 
que variáveis devem ser globais e que variáveis devem ser locais.

Bom estudo! Ou bom Carnaval!

Oswaldo Vernet
