32
Lógica e Fundamentos de Programação II 2º período / 2014 Gefferson Librelato [email protected] Prova P2/N2 Material de Apoio

Material_Apoio.pdf

  • Upload
    maycon

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

  • Lgica e Fundamentos de Programao II

    2 perodo / 2014

    Gefferson [email protected]

    Prova P2/N2Material de Apoio

  • ATENOProva P2 da N2 no dia 25/11/2014: Peso: P1+P2 = 80% da N2 Individual Sem o uso de internet, inclusive do moodle. Sem o uso de notebooks, smartphones, pen-drives,

    etc. Apenas os computadores da faculdade. No pode utilizar qualquer material auxiliar,

    inclusive apostila impressa. Apenas o material fornecido pelo professor.

  • UNITS

  • UNITS

  • UNITS

  • UNITS - CHAMADA

  • ARQUIVOS BINRIOS

    RECORDTYPE

  • RECORDTYPE Conjunto de dados logicamente relacionados,

    mas de tipos primitivos diferentes (integer, real, string, etc.)

    Os elementos so chamados de campos. Ex:

    Empregado ID Nome Idade Salario

  • ARQUIVOS BINRIOS

    EDIO DE REGISTROS

  • ARQUIVO BINRIO - EDIO

  • ARQUIVO BINRIO - ALTERAO Carrega-se o registro do arquivo:

    Abre o arquivo Move para a primeira posio (lembre-se de testar se abriu correto) Percorre todos os registros do arquivo procurando o registro correto (geralmente pelo

    chave primria). Se encontrar, carrega a varivel de retorno e finaliza o loop. Fecha o arquivo. Faz a funo retornar o registro.

    Altera-se a(s) propriedade(s) desejadas (Nome, Idade, Salario, etc...) Grava-se o registro alterado EM CIMA do registro ANTIGO.

    Abre-se o arquivo Move para a primeira posio (lembre-se de testar se abriu correto) Tem que criar um CONTADOR para salvar a posio do registro dentro do arquivo.Tem que criar um CONTADOR para salvar a posio do registro dentro do arquivo. Percorre todos os registros do arquivo procurando o registro correto (geralmente pela

    chave primria) e incrementado o contador de posio. Se encontrar o registro:

    Utilizando o comando SEEK, move o cursor para a posio salva no CONTADOR de posio. Grava o registro NA POSIO do registro que foi localizado. Finaliza o loop se encontrou.

    Fecha o arquivo

  • ARQUIVO BINRIO - ALTERAOPASSO 1 PROCEDURE QUE ATUALIZA O REGISTRO NO ARQUIVO BINRIO.

  • ARQUIVO BINRIO - ALTERAOPASSO 1 PROCEDURE QUE ATUALIZA O REGISTRO NO ARQUIVO BINRIO.

  • ARQUIVO BINRIO - ALTERAOPASSO 2 FUNCTION QUE RETORNAR UM REGISTRO DO ARQUIVO BINRIO.

  • ARQUIVO BINRIO - ALTERAOPASSO 3 PROCEDURE QUE SELECIONA O REGISTRO, ALTERA A(S) PROPRIEDADE(S) E ATUALIZA.

  • ARQUIVOS BINRIOS

    EXCLUSO DE REGISTROS

  • ARQUIVO BINRIO EXCLUSO

  • EXCLUSO LGICA Cria-se um campo 'Flag' no RECORDTYPE que

    ir sinalizar se aquele registro est deletado ou no

    Marca-se o flag como 'true', para os registros que se deseja deletar.

    Estes registros NO DEVEM mais aparecer nas consultas.

    Ter uma rotina chamada 'trunk' ou algo parecido que ir fazer a deleo fsica do registro.

  • EXCLUSO LGICAPASSO 1 ALTERAR O RECORDTYPE

  • EXCLUSO LGICAPASSO 2 PROCEDURE PARA ASSINALAR COMO EXCLUDO.

  • EXCLUSO LGICAPASSO 2 PROCEDURE PARA ASSINALAR COMO EXCLUDO.

  • EXCLUSO LGICAPASSO 3 PROCEDURE PARA ESCOLHER O REGISTRO A SER EXCLUDO.

  • EXCLUSO LGICAPASSO 3 PROCEDURE PARA ESCOLHER O REGISTRO A SER EXCLUDO.

  • EXCLUSO LGICAPASSO 4 ALTERAR AS ROTINAS QUE MOSTRAM REGISTROS.

  • EXCLUSO LGICAPASSO 4 ALTERAR AS ROTINAS QUE MOSTRAM REGISTROS.

  • EXCLUSO FSICA Gera um novo arquivo, temporrio, do mesmo

    RECORD TYPE. L, um-a-um, todos os registros do arquivo principal. Grava-se os registros, um-a-um, no arquivo

    temporrio, exceto os registros que esto marcados com o 'flag' de deleo.

    Deleta o arquivo antigo. Renomeia o arquivo temporrio com o nome do

    arquivo antigo.

  • EXCLUSO FSICA

  • EXCLUSO FSICA

  • Glossrio:: file of ; Cria um ponteiro para um arquivo binrio

    assign (, ); Associa um ponteiro com um arquivo fsico no disco, onde em dever ser passado o caminho fsico at o disco

    reset(); Move o cursor de registros para o primeiro registro do arquivo binrio (ou seja, primeira posio do arquivo). Normalmente este comando deve ficar ENTRE as diretivas {$I-} e {$I+} para no disparar erros de compilao caso o arquivo no exista. Se o comando reset for executado com SUCESSO, a varivel de sistema IOResult ir estar setada com o valor 0 indicando que a abertura do arquivo ocorreu sem problemas. Do contrrio a varivel de sistema estar setada com o nmero do erro que ocorreu.

    filesize() Retorna o tamanho do arquivo binrio, isto , quantos registros existem dentro do arquivo binrio. Lembre-se que cada registro equivale a uma posio do arquivo.

    seek(,) Move o cursor de registros para uma determinada posio do arquivo binrio.

    rewrite() Cria ou sobrescreve um arquivo binrio. Se o arquivo NO existe, o arquivo ser criado. Se existir, ser sobrescrito com uma estrutura vazia.

    write(,) Grava uma varivel do tipo no arquivo binrio.

    read(,) L um registro do tipo no arquivo binrio para uma varivel .

    eof () Retorna true se for o fim do arquivo. Do contrrio, retorna false.

    close() Fecha o arquivo binrio.

    erase() Deleta um arquivo do diretrio

    rename(,'novo_nome') Renomeia um arquivo no diretrio

  • Glossrio:Gravar um registro em um arquivo binrio Declarao de um type

    Record

    1. Criar uma varivel que ser o ponteiro para o arquivo.2. Associar o ponteiro com o arquivo fsico.3. Tentar mover o cursor para a primeira posio do arquivo.4. SE IOResult no retornar com erro, move o cursor para a ltima posio do arquivo.5. SENO, cria o arquivo novamente.6. Grava o registro.7. Fecha o arquivo.

    = Record : ; : ; ... end;

    Ler os registros de um arquivo binrio Estrutura de uma Unit

    1. Criar uma varivel que ser o ponteiro do arquivo.2. Associar o ponteiro com o arquivo fsico3. Tentar mover o cursor para a primeira posio do arquivo.4. SE IOResult retornar erro, recria o arquivo.5. Enquanto NO for o fim do arquivo, l os registros. Neste ponto que estaro quaisquer operaes necessrias que a serem efetuadas sobre cada registro.6. Fecha o arquivo.

    Unit interfaceimplementationend.

  • Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32