28.02.2023 Views

Logica_de_Programacao_3_Edicao_Livro

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 5 Arquivos 1 107

7. pessoa : aux;

8. pessoal: agenda;

9. abra (agenda);

10. repita

11. avance (agenda);

12. até fda (agenda} ;

13. leia (aux.nome, aux.fone};

14. guarde (agenda, aux);

15. feche (agenda) ;

16. fim.

Observa1nos que:

• sempre que o con1ando abra é executado, deparamos con1 o prilneiro conju11to

de inforrnações armazenadas, ou seja, a posição corrente do arquivo é o primeiro

registro;

• sarnente J)Odemos guardar o registro quando ele estiver cornpleta1nente preenchido,

o que nesse caso foi garantido com urn cornando de leitura sobre ambos os carnpos;

• o comando guarde armazenará todas as inforn1ações contidas no registro (registro

co1npleto) na posição corrente do arquivo, a qual foi intencionaln1ente selecio11acla

como a última posição do 1nesmo.

Supondo, agora, que nosso usuá1io precise descob1ir o telefone de alguén1 previamente

arrnazenado, novamente, por desconhecer a posição no arquivo da infor1nação procurada,

teremos de vasculhar o arquivo a partir do início, ern busca do registro que contérn o norne

da pessoa procurada, para descobrir seu respectivo telefone. Todavia, se todos os registros do

arquivo tiverem sido ve1ificados e, cl1egando ao fitn do arquivo, 11ão foi possível e11contrar o

nome procurado, concluímos que ele não existe, ou seja, não foi registrado anterio1mente.

ALGORITMO 5.2

1. inicio

2. tipo

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

Pesquisa no arquivo

pessoa - registro

caracter: nome;

inteiro: fo ne;

fimregistro;

tipo pessoal = arquivo composto de

pessoa: aux;

pessoal: agenda;

caracter: nomeProcurado;

abra (agenda};

leia (nomeProcurado};

repita

copie (agenda, aux};

avance (agenda);

até (aux.nome = nomeProcurado)

se (aux.nome = nomeProcurado}

então escreva (aux.fone};

senão escreva (''Telefone não

pessoa;

ou (fda (agenda});

registrado!");

(Continutt)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!