28.02.2023 Views

Logica_de_Programacao_3_Edicao_Livro

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 5 Arquivos 1 115

Observamos que:

• após a execução do coma11do posicione, o regisu·o que está apto a ser n1anipulado

é o inclicado pela chave númeroA l uno fornecida ante1iormente;

• utilizamos t.ambérn na saída de dados o norne do aluno, possibilidade gerada porque,

quando se copia um ref,>istro, oco1,·e a passagem de todos os ca1npos (no caso

do arquivo, diário, para a variável auxiliar de registro, aux);

• não foi necessário fazer uma pesquisa por todos os registros do arquivo (também co-

11hecida co1110 busca exausúva ou seqüencial), uma vez que o regisu·o desejado pôde

ser acessaclo direta1nente, ou sl'.:ja, se1n que nenhtnn outro registro fosse acessaclo.

Outsa possibilidade ele utilização do arquivo de notas de aluno é a alteração de algurna

nota ou a inclusão de u1na nova nota, realizada sobre os registsos ante1ior1nente gravados:

ALGORITMO 5.8

Alteração no arquivo de acesso direto

~

~

~

~

1. inicio

2. tipo aluno= registro

3.

4.

5.

caracter: nome;

inteiro: número;

real: Nl, N2, N3, N4;

6.

fimregistro;

7. tipo sala= arquivo composto de aluno;

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

aluno: aux;

sala: diário;

inteiro: númeroAluno, qualNota;

real: nota;

abra (diário);

leia (númeroAluno, qua lNota);

posicione (diário, númeroAluno);

copie (diário, aux);

escolha qualNota

caso 1: nota~ aux.Nl;

caso 2: nota~ aux.N2;

caso 3: nota~ aux.N3;

caso 4: nota~ aux.N4;

21. fimescolha;

22. escreva (aux.nome, "possui nota", qualNota,

23. escreva (''Nova nota:'');

24.

25.

26.

leia (nota);

escolha qualNota

caso 1: aux.Nl nota;

27. caso 2: aux.N2 nota;

28. caso 3: aux.N3 nota;

29. caso 4: aux.N4 nota;

30. fimescolha;

31. guarde (diário, aux);

32. feche (diário);

33. fim.

"-", nota);

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

Saved successfully!

Ooh no, something went wrong!