Atividade Aberta
Por: Juliana2017 • 1/4/2018 • 3.247 Palavras (13 Páginas) • 285 Visualizações
...
- Desenvolva o algoritmo para Inserção, Pesquisa e Remoção no Arquivo Sequencial. Justifique a escolha da chave.
Inserção:
procedimento atualizarArquivoSequencial (cadastro dados[])
{
abrir Arquivo Sequencial Original (ponteiro de leitura no início do arquivo);
criar Arquivo de Atualização (ponteiro de escrita no início do arquivo);
enquanto (não for o final do Arquivo Sequencial Original e não for o final do vetor)
{
se (dados.chave do registro do Arquivo Sequencial Original //processo de intercalação
{
gravar dados do Registro do Arquivo Sequencial Original no Arquivo de Atualização);
ler próximo registro do Arquivo Sequencial Original);
}
senão
{
gravar dados do Registro do Vetor no Arquivo de Atualização);
ler próximo registro do Vetor);
}
}
se (ainda não for o final do Arquivo Sequencial Original)
{
enquanto (não for o final do Arquivo Sequencial Original)
{
gravar dados do Registro do Arquivo Sequencial Original no Arquivo de Atualização);
ler próximo registro do Arquivo Sequencial Original);
}
}
se (ainda não for o final do vetor)
{
enquanto (não for o final do Vetor)
{
gravar dados do Registro do Vetor no Arquivo de Atualização);
ler próximo registro do Vetor);
}
}
fechar Arquivo Sequencial Original;
fechar Arquivo de Atualização;
deletar Arquivo Sequencial Original;
renomeiar Arquivo de Atualização para Arquivo Sequencial Original.
}
Remoção:
procedimento fazerMarca (cadastro exclusão)
{
abrir Arquivo Sequencial (ponteiro de leitura e escrita para início do arquivo);
enquanto (não for o final do Arquivo Sequencial)
{
se (dados.chave do registro do Arquivo Sequencial == exclusão.chave) //processo de pesquisa no Arquivo Sequencial
{
dados.marca = 1; //inserção da marca no arquivo excluído
gravar alteração do Registro no Arquivo Sequencial;
}
ler próximo Registro do Arquivo Sequencial;
}
}
procedimento atualizarArquivo ()
{
abrir Arquivo Sequencial Original (ponteiro de leitura para início do arquivo);
abrir Arquivo de Atualização (ponteiro de escrita para início do arquivo);
enquanto (não for o final do Arquivo Sequencial)
{
se (dados.marca ==0) //processo de verificação, se registro sem marca de exclusão
{
gravar dados desse Registro do Arquivo Sequencial Original no Arquivo de Atualização);
}
ler próximo Registro do Arquivo Sequencial;
}
fechar Arquivo Sequencial Original;
fechar Arquivo de Atualização;
deletar Arquivo Sequencial Original;
renomeiar Arquivo de Atualização para Arquivo Sequencial Original.
}
Pesquisa:
Procedimento procura(char vetor[], inteiro tamanho, char elementoProcurado) {
inteiro i;
faça de i = 0 até i
{ se (vetor[i] == elementoProcurado) {
retorna i; }
}
retorna -1;
}
- Desenvolva o algoritmo para Inserção, Pesquisa e Remoção no Arquivo Indexado. Explique e justifique o formato de índice utilizado.
Inserção:
posição do registro.
void inserirArquivoIndexado(tipoEstrutura registro)
{
Abrir arquivo como escrita apontando para o final do arquivo;
Gravar registro no arquivo;
Identificar posição de inserção do registro;
posicaoArquivo
...