A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagem PASCAL1 Módulo 3 Estrutura de Dados.. Linguagem PASCAL2 Arrays (“Variáveis compostas homogêneas”) n Arrays unidimensionais: identificador: array.

Apresentações semelhantes


Apresentação em tema: "Linguagem PASCAL1 Módulo 3 Estrutura de Dados.. Linguagem PASCAL2 Arrays (“Variáveis compostas homogêneas”) n Arrays unidimensionais: identificador: array."— Transcrição da apresentação:

1 Linguagem PASCAL1 Módulo 3 Estrutura de Dados.

2 Linguagem PASCAL2 Arrays (“Variáveis compostas homogêneas”) n Arrays unidimensionais: identificador: array [inicial..final] of tipo; ex: var Nota: array [1..10] of integer; 4,86,45,17,22,28,37,45,99,28,9 12345678910 X:=Nota[3]; { X  6,4 }

3 Linguagem PASCAL3 Arrays (“Variáveis compostas homogêneas”) n 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.

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

5 Linguagem PASCAL5 Arrays (“Variáveis compostas homogêneas”) n Arrays multidimensionais: identificador: array [i 1..f 1, i 2..f 2,..., i n..f n ] of tipo; ex: var Matriz: array [1..4, 1..4] of integer; 14151613 1234 1011129 6785 2341 1 2 3 4 X:=Matriz[3,2]; { X  10 }

6 Linguagem PASCAL6 Exercício n Implementar um programa em PASCAL que leia duas matrizes A 4x4 e B 4x4 e imprima a matriz resultado C = A*B.

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

8 Linguagem PASCAL8 Registros 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; Identificador: record componentes; end; Ex: Writeln(´Nome: ´, cadastro.nome);

9 Linguagem PASCAL9 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);

10 Linguagem PASCAL10 Conjunto de Registros Var camisas: record descricao: string[100]; preco: real; estoque: real; end; mercadorias: array[1..100] of camisas; identificador: array [i 1..f 1, i 2..f 2,..., i n..f n ] of tipo; Writeln(´Estoque da camisa cod.55: ´, mercadorias[55].camisas.estoque);

11 Linguagem PASCAL11 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.

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

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

14 Linguagem PASCAL14 Arquivo binário n Declaração: var identificador: file of tipo; n Ex 1 : var Notas: FILE OF integer; n Ex 2 : type Pessoa = record nome: string[40]; telefone: string[30]; endereco_completo: string[200]; end; var Agenda: file of Pessoa;

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

16 Linguagem PASCAL16 Arquivo binário

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

18 Linguagem PASCAL18 Arquivo binário

19 Linguagem PASCAL19 Arquivo binário n Acesso direto a um registro, sem a procura sequencial: seek (identificador, numero-do-registro); obs: o primeiro registro é o 0 (zero). n 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.

20 Linguagem PASCAL20 Arquivo binário n Exr 1 : 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. n Exr 2 : Faça um programa que, dado a matrícula do aluno, retorne seu nome e média. n Exr 3 : Faça um programa que, dado a matrícula do aluno, altere suas notas.

21 Linguagem PASCAL21

22 Linguagem PASCAL22

23 Linguagem PASCAL23

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

25 Linguagem PASCAL25 Arquivo texto n 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);

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

27 Linguagem PASCAL27 Arquivo texto n 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.

28 Linguagem PASCAL28 Arquivo texto n 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 A B C D E..............................................W X Y Z N = - 4

29 Linguagem PASCAL29 Trabalho #5 n Implementar um “Sistema de Agenda” n 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.


Carregar ppt "Linguagem PASCAL1 Módulo 3 Estrutura de Dados.. Linguagem PASCAL2 Arrays (“Variáveis compostas homogêneas”) n Arrays unidimensionais: identificador: array."

Apresentações semelhantes


Anúncios Google