1 / 29

Linguagem PASCAL

Linguagem PASCAL. Módulo 3 Estrutura de Dados. Arrays (“Variáveis compostas homogêneas”). Arrays unidimensionais: identificador: array [inicial..final] of tipo; ex : var Nota: array [1..10] of integer;. 7,2. 4,8. 6,4. 5,1. 2,2. 9,2. 8,3. 7,4. 5,9. 8,9. 1. 2. 3. 4. 5. 6.

dalila
Télécharger la présentation

Linguagem PASCAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linguagem PASCAL Módulo 3 Estrutura de Dados. Linguagem PASCAL

  2. Arrays (“Variáveis compostas homogêneas”) • Arrays unidimensionais: identificador: array [inicial..final] of tipo; ex: var Nota: array [1..10] of integer; 7,2 4,8 6,4 5,1 2,2 9,2 8,3 7,4 5,9 8,9 1 2 3 4 5 6 7 8 9 10 X:=Nota[3]; { X  6,4 } Linguagem PASCAL

  3. Arrays (“Variáveis compostas homogêneas”) • Exr: Leia cinco elementos e imprima program Le; var a: array[1..5] of integer; i: integer; begin for i:=1 to 5 do read (a[i]); for i:=1 to 5 do writeln (a[i]); end. Linguagem PASCAL

  4. Arrays (“Variáveis compostas homogêneas”) • Exr: Ler e ordenar uma lista de N números Idéia: Para inserir um número aj supõe-se a1, a2, ..., aj-1 já ordenados, então compara-se aj com aj-1, aj-2, ... até se descobrir que ele deve ser inserido entre ai e ai+1. Move-se então ai+1 e os elementos seguintes, já ordenados, atribuindo-se a ai+1 o valor original de aj. Linguagem PASCAL

  5. Arrays (“Variáveis compostas homogêneas”) • Arrays multidimensionais: identificador: array [i1..f1, i2..f2, ..., in..fn] of tipo; ex: var Matriz: array [1..4, 1..4] of integer; 1 2 3 4 1 X:=Matriz[3,2]; { X10 } 5 6 7 8 2 9 10 11 12 3 13 14 15 16 4 1 2 3 4 Linguagem PASCAL

  6. Exercício • Implementar um programa em PASCAL que leia duas matrizes A4x4 e B4x4 e imprima a matriz resultado C = A*B. Linguagem PASCAL

  7. Registros (“Variáveis compostas heterogêneas”) • São conjuntos de dados logicamente relacionados, mas de tipos diferentes. Linguagem PASCAL

  8. Registros Identificador: record componentes; end; Var cadastro: record nome: string[40]; endereco: string[100]; bairro: string[40]; cidade: string[40]; uf: string[2]; dia_nasc, mes_nasc, ano_nasc: integer; profissao: string[40]; end; Ex: Writeln(´Nome: ´, cadastro.nome); Linguagem PASCAL

  9. Registros dentro de Registros Var cadastro: record nome: string[40]; endereco: record rua: string[100]; bairro: string[40]; cidade: string[40]; uf: string[2]; end; dia_nasc, mes_nasc, ano_nasc: integer; profissao: string[40]; end; Ex: Writeln(´Estado: ´, cadastro.endereco.uf); Linguagem PASCAL

  10. Conjunto de Registros • identificador: array [i1..f1, i2..f2, ..., in..fn] of tipo; Var camisas: record descricao: string[100]; preco: real; estoque: real; end; mercadorias: array[1..100] of camisas; Writeln(´Estoque da camisa cod.55: ´, mercadorias[55].camisas.estoque); Linguagem PASCAL

  11. Registros Exr: Implementar um programa em PASCAL que leia uma tabela de profissões composta de código, nome e descrição da profissão. A tabela comporta no máximo 100 profissões. Para terminar o cadastro digite -1 no campo código. Então, você informa um código e o programa informa o nome e a descricao da profissão. Linguagem PASCAL

  12. Arquivos • São estruturas de dados armazenadas fora da memória principal do computador => memória secundária (HD, disquete, CD-ROM, etc.) • Principais vantagens: • quando a quantidade de informação é muito grande para ficar em memória; • armazenar para uso futuro. • Tipos de arquivos: • Binários: usam códigos binários para gravar os caracteres • Texto: armazena o código ASCII (arquivo fica maior!) Linguagem PASCAL

  13. Arquivo binário • Organização sequêncial em registros (compostos de campos), mas o acesso pode ser direto através do número do registro. Linguagem PASCAL

  14. Arquivo binário • Declaração: var identificador: file of tipo; • Ex1: var Notas: FILE OF integer; • Ex2: type Pessoa = record nome: string[40]; telefone: string[30]; endereco_completo: string[200]; end; var Agenda: file of Pessoa; Linguagem PASCAL

  15. Arquivo binário • Associação do identificador (nome interno) ao nome do arquivo (nome externo): assign (identificador, ´arquivo.ext´); • Cada arquivo possui um ponteiro para a posição do registro. Para abrir o arquivo e apontar para o início use: reset (identificador); • Para criar um arquivo novo (ou apagar um já existente), abrir e apontar para o início use: rewrite (identificador); • E para fechar após o uso: close (identificador); Linguagem PASCAL

  16. Arquivo binário Linguagem PASCAL

  17. Arquivo binário • Leitura de arquivo: read (identificador, lista-de-registros); • Escrita em arquivo: write (identificador, lista-de-registros); • Fim de arquivo EOF (identificador); EOF - “End of File” = “Fim de arquivo” Retorna: true, se atingiu o fim do arquivo false, cc. Linguagem PASCAL

  18. Arquivo binário Linguagem PASCAL

  19. Arquivo binário • Acesso direto a um registro, sem a procura sequencial: seek (identificador, numero-do-registro); obs: o primeiro registro é o 0 (zero). • Função que retorna o número total de registros em um arquivo: FileSize (identificador); obs: seek (identificador, FileSize(identificador); posiciona o arquivo logo após o último registro gravado, corresponde ao comando append. Linguagem PASCAL

  20. Arquivo binário • Exr1: Faça um programa que crie uma base de dados com 10 alunos. O arquivo em disco deve conter: • matrícula do aluno; • nome do aluno; • nota VEsp; • nota VC. • Exr2: Faça um programa que, dado a matrícula do aluno, retorne seu nome e média. • Exr3: Faça um programa que, dado a matrícula do aluno, altere suas notas. Linguagem PASCAL

  21. Linguagem PASCAL

  22. Linguagem PASCAL

  23. Linguagem PASCAL

  24. Arquivo texto • A organização de um arquivo texto também é sequêncial, mas não permite acesso direto. • Declaração: var identificador: text; • ex: var documento: text; • Associação com o arquivo: assign (identificador, ‘ARQ.TXT’); • ex: assign (documento, ‘docs.txt’); Linguagem PASCAL

  25. Arquivo texto • Abertura de um arquivo • Exclusivamente para leitura de um arquivo já existente (erro de execução caso não exista): reset (identificador); • Exclusivamente para escrita. Cria um novo. Se já existe apaga e cria de novo: rewrite (identificador); • Exclusivamente para escrita em um arquivo já existente. Grava a partir do último registro (erro de execução caso não exista): append (identificador); Linguagem PASCAL

  26. Arquivo texto • Fechamento do arquivo close (identificador); • Comandos de leitura read (identificador, variáveis); readln (identificador, variáveis); • Comandos de escrita write (identificador, variáveis); writeln (identificador, variáveis); • Fim de arquivo EOLn (identificador); Linguagem PASCAL

  27. Arquivo texto • Em PASCAL, os dispositivos periféricos são tratados como arquivos texto: CON: vídeo (console) LPT1, LPT2, LPT3: impressoras PRN: mesmo que LPT1 program VideoImpressora; var dispositivo: text; k: char; begin write (´Vídeo ou impressora (V ou I) ? ´); readln(k); if (k=´V´) then assign (dispositivo, ´CON´); else assign (dispositivo, ´LPT1´); rewrite (dispositivo); writeln (´Olá !!!!´); close (dispositivo); end. Linguagem PASCAL

  28. Arquivo texto • Exr: Implemente um sistema criptográfico que leia um arquivo texto escrito por você e embaralhe as letras de acordo com uma senha N. Essa senha irá deslocar o alfabeto de N posições. Use A-Z, a-z e 0-9. A B C D E ........................................................Z N = - 4 ...W X Y Z A B C D E ........................................... Linguagem PASCAL

  29. Trabalho #5 • Implementar um “Sistema de Agenda” • Requisitos do sistema: • o sistema deverá ter um menu de inserção, alteração e deleção de cadastros; • deverá permitir também consulta aos dados por nome, cidade ou estado; • os dados ficarão gravados em disco; • os cadastros deverão conter: nome, endereço, bairro, cidade, estado, cep, telefone e celular. Linguagem PASCAL

More Related