Linguagem PASCAL Tipos Estruturados

Slides:



Advertisements
Apresentações semelhantes
Computação Eletrônica
Advertisements

Arrays e Matrizes na Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Vetores de uma dimensão Nota Índice Posição identificando cada elemento Nome Comum para todos os elementos Valor Semelhante a uma variável.
1 Aula 08 Conteúdo de Suporte ao Trabalho 2 Prof. Filipe Mutz.
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Universidade Federal de Campina Grande – UFCG Centro de Ciências e Tecnologias – CCT Unidade Acadêmica de Engenharia Química - UAEQ Universidade Federal.
Introdução à Informática com Software Livre 11:37.
São memórias absolutamente indispensáveis ao funcionamento do sistema informático (ROM e RAM) Memória ROM Memória RAM Memórias Principais.
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
1 Aula 11 Matrizes Prof. Filipe Mutz. Matrizes São estruturas de dados usadas para armazenar informações multidimensionais (que possuem mais de uma dimensão).
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Introdução à Computação para Engenharia MAC2166
Tópicos Preliminares Algorítmos I.
Algoritmo e Lógica Programação Vetores e Matrizes
XVIII Escola de Verão IAG/USP Python Contêiner Marcelo Bianchi
Estruturas de Dados Tópicos Vetores Matrizes Registros
Márcio Soussa Estrutura de Dados Márcio Soussa
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Construção de Algoritmos AULA 04
Comandos da Linguagem C
Prof. Wellington Franco FUNDAMENTOS DE PROGRAMAÇÃO - T02
Algoritmos e Estruturas de Dados I
Prof. Wellington Franco
Introdução à Programação BCC 201 Aula
FUNDAMENTO DE PROGRAMAÇÃO
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Prof. Wellington Franco Manipulação de Arquivos em C
Prof. Wellington Franco
Estruturas de Dados Vetores.
Arquitetura de Computadores
PIT – PROGRAMA INTERNO DE TREINAMENTO 2015
LÓGICA DE PROGRAMAÇÃO Prof. Andrew Rodrigues.
FUNDAMENTO DE PROGRAMAÇÃO
INTRODUÇÃO À COMPUTAÇÃO PARALELA
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS
BANCO DE DADOS II.
Algoritmos e Programação MC102
Funções do Usuário em Matlab
Variáveis Compostas Homogêneas
Programação.
Algoritmos Prof.: Carlos Alberto _1:
Organização básica de arquivos
Complexidade de Algoritmos
BANG 734-X SISTEMA OPERACIONAL ANTES (CONSOLE) RUN DCC LD-128
Algorítmos e Técnicas de Programação
EDA - Prof. Paulemir Campos
Algoritmos Prof.: Carlos Alberto
Linguagem de Programação
Programação Funcional
Passo a passo – Instrutor
MEMORIAS RAUL DIAZ ROSAS.
Computação Eletrônica Vetores e Matrizes
PL/SQL Triggers e Procedures
Filas.
Arrays de caracteres: strings
ALGORITMOS.
Estruturas definidas pelo programador
Linguagem C Linguagem Imperativa
Matrizes.
Vetores.
Programação II Mateus Raeder.
Introdução a progrmação Comandos condicionais: if e switch
Aula 11 Professores: Conteúdo: Dante Corbucci Filho
Introdução às Tecnologias da Informação e Comunicação
Ponteiros.
RESULUÇÃO DOS EXERCÍCIOS E
Aula 10 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

Linguagem PASCAL Tipos Estruturados UFRPE – Deptº de Estatística e Informática Disciplina: Introdução à Computação Prof.: Paulemir G. Campos Linguagem PASCAL Tipos Estruturados 20/11/2018 UFRPE - Linguagem Pascal

Tipos Estruturados de Dados (1/2) Agrupamento de itens de dados relacionados entre si Cada item com acesso individual Possui mesmo identificador Podem ser homogêneos ou heterogêneos 20/11/2018 UFRPE - Linguagem Pascal

Tipos Estruturados de Dados (2/2) Estudaremos apenas os tipos estruturados homogêneos Isto é, constituídos por elementos do mesmo tipo. Tipos Estruturados Homogêneos Array unidimensional (vetor) Array bidimensional (matriz) 20/11/2018 UFRPE - Linguagem Pascal

Array Unidimensional Vetor (1/5) Variável composta homogênea ordenada finita Possui apenas um índice Ex.: Conteúdo Identificador Nota 6.0 7.0 9.0 5.5 9.1 10.0 4.7 7.4 9.6 1 2 3 4 5 6 7 8 9 10 Índice 20/11/2018 UFRPE - Linguagem Pascal

Array Unidimensional Vetor (2/5) Declaração type <identificador> = array [<tipo do subscrito>] of <tipo do elemento> ; ou var <identificadores>: onde: <tipo do subscrito>: Tipo do índice (boolean, char, enumeração e intervalo) <tipo do elemento>: Tipo dos elementos do array 20/11/2018 UFRPE - Linguagem Pascal

Array Unidimensional Vetor (3/5) Declaração (Exemplos) type tNota = array [1 .. 10] of real ; var nota: tNota; epoca: array [1 .. 4] of string; 20/11/2018 UFRPE - Linguagem Pascal

Array Unidimensional Vetor (4/5) Atribuição <identificador>[<indice>] := <conteudo> ; Exemplos: nota[4] := 6.8; epoca[4] := ‘INVERNO’; 20/11/2018 UFRPE - Linguagem Pascal

Array Unidimensional Vetor (5/5) Acessando o conteúdo <identificador> := <nome do vetor>[<indice>] ; Exemplos: nota1 := nota[1]; soma := soma + nota[ i ]; 20/11/2018 UFRPE - Linguagem Pascal

Array Bidimensional Matriz (1/6) Variável composta homogênea ordenada finita formada por linhas e colunas Possui dois índices Note que cada linha de uma Matriz pode ser um vetor 20/11/2018 UFRPE - Linguagem Pascal

Array Bidimensional Matriz (2/6) Identificador Colunas Exemplo: Notas_Alunos 9.5 8.5 10.0 8.0 7.0 6.0 9.0 7.5 5.5 Linhas 1 2 3 Conteúdo 1 2 3 4 Índices Índices 20/11/2018 UFRPE - Linguagem Pascal

Array Bidimensional Matriz (3/6) Declaração type <identificador> = array [<subscrito1>] of array [<subscrito2>] of <tipo do elemento> ; ou type <identificador> = array [<subscrito1>, <subscrito2>] of <tipo do elemento> ; onde: <subscritoN>: Tipo do índice da dimensão N (boolean, char, enumeração e intervalo) <tipo do elemento>: Tipo dos elementos do array 20/11/2018 UFRPE - Linguagem Pascal

Array Bidimensional Matriz (4/6) Declaração (Exemplos) type tArranjo = array [1 .. 3] of real; tArranjo1 = array [1 .. 5] of tArranjo; tArranjo2 = array [1 .. 5] of array [1 .. 3] of real ; tArranjo3 = array [1 .. 5, 1 .. 3] of real ; 20/11/2018 UFRPE - Linguagem Pascal

Array Bidimensional Matriz (5/6) Atribuição <identificador>[<indice1>,<indice2>] := <conteudo> ; Exemplos: arranjo1[2,3] := 6.8; arranjo2[5][3] := 9.1; 20/11/2018 UFRPE - Linguagem Pascal

Array Bidimensional Matriz (6/6) Acessando o conteúdo <identificador> := <nome da matriz>[<indice1>, <indice2>] ; Exemplos: elemento := matriz[1,1]; for i:=1 to 5 do for j:=1 to 3 do write(matriz[i,j],’ ‘); 20/11/2018 UFRPE - Linguagem Pascal

UFRPE - Linguagem Pascal Arquivos (1/9) Um arquivo é um conjunto de informações armazenadas em algum dispositivo de memória secundária ou auxiliar (Ex.: Winchester, disquete, etc). Sua manipulação é feita através do tipo file; 20/11/2018 UFRPE - Linguagem Pascal

UFRPE - Linguagem Pascal Arquivos (2/9) Este tipo (file) é caracterizado por ser uma estrutura formada por elementos do mesmo tipo dispostos de forma seqüencial; Tem por objetivo fazer a comunicação entre a memória principal (RAM) e a memória secundária (meios magnéticos ou ópticos). 20/11/2018 UFRPE - Linguagem Pascal

UFRPE - Linguagem Pascal Arquivos (3/9) Declaração: type <arquivo> = [ text ] [ file [ of <tipo> ] ]; var <variável>: <arquivo>; ou var <variável>: [ text ] [ file [ of <tipo> ] ]; Onde: <arquivo>: o nome do arquivo; <tipo>: o tipo do arquivo (text, string, real, etc.); <variável>: variável usada para representar o arquivo. 20/11/2018 UFRPE - Linguagem Pascal

Arquivos (4/9) Em Pascal, os arquivos podem ser caracterizados em três tipos: Texto; Tipo Definido (string, real, integer, etc); Sem Tipo Definido. (Estudaremos apenas os arquivos do tipo texto com acesso seqüencial.) 20/11/2018 UFRPE - Linguagem Pascal

UFRPE - Linguagem Pascal Arquivos (5/9) Por sua vez, há três formas de acesso: Seqüencial: Os processos de gravação e leitura são feitos de forma contínua, um após o outro; Direto ou Randômico: Ocorre através de um campo chave previamente definido. Ex.: Pode ser o n° da linha do arquivo. Indexado: Cria-se um arquivo de índice, pelo qual será usado para acessar o arquivo principal. 20/11/2018 UFRPE - Linguagem Pascal

UFRPE - Linguagem Pascal Arquivos (6/9) Operações Possíveis: assign(<variável>,<arquivo>): Associa o nome lógico do arquivo (<variável>) ao nome físico (<arquivo>); rewrite(<variável>): Cria um arquivo para uso através do parâmetro <variável>. Caso o arquivo já exista, esta instrução o apagará para criá-lo novamente; 20/11/2018 UFRPE - Linguagem Pascal

UFRPE - Linguagem Pascal Arquivos (7/9) Operações Possíveis: reset(<variável>): Abre um arquivo existente, disponibilizando-o para leitura e escrita através do parâmetro <variável>; write[ln](<variável>,<dado>): Escreve a informação <dado> no arquivo indicado pelo parâmetro <variável>; 20/11/2018 UFRPE - Linguagem Pascal

UFRPE - Linguagem Pascal Arquivos (8/9) Operações Possíveis: read[ln](<variável>,<dado>): Lê uma informação no arquivo indicado pelo parâmetro <variável> e armazena-a em <dado>; close(<variável>): Fecha um arquivo em uso dentro de um programa. Nenhum programa deve ser encerrado sem antes fechar os arquivos abertos. 20/11/2018 UFRPE - Linguagem Pascal

UFRPE - Linguagem Pascal Arquivos (9/9) Operações Possíveis: append(<variável>): Abre um arquivo através do parâmetro <variável> para a inclusão de dados, posicionando o ponteiro de controle do arquivo sempre no fim do arquivo. Há também uma função bastante usada: STATUS := eof(<variável>): STATUS será TRUE se o ponteiro de controle do arquivo indicado por <variável> estiver no fim do arquivo; e FALSE, caso contrário. 20/11/2018 UFRPE - Linguagem Pascal

Arquivos do Tipo Texto (1/4) Permitem armazenar linhas com tamanhos de dados diferentes; Cada linha é finalizada com uma seqüência CR/LF (Carriege Return – equivalente ao efeito da tecla <ENTER> e Line Feed – movimenta o ponteiro de linha para a próxima linha do arquivo). Podem armazenar palavras, frases e números. 20/11/2018 UFRPE - Linguagem Pascal

Arquivos do Tipo Texto (2/4) Criando um Arquivo Texto program cria_arq; var ARQUIVO_TXT: text; begin assign(ARQUIVO_TXT, ‘ARQTXT.TXT’); rewrite(ARQUIVO_TXT); close(ARQUIVO_TXT); end. 20/11/2018 UFRPE - Linguagem Pascal

Arquivos do Tipo Texto (3/4) Gravando Dados num Arquivo Texto program grava_arq; var ARQUIVO_TXT: text; Mensagem: string[50]; begin assign(ARQUIVO_TXT, ‘ARQTXT.TXT’); append(ARQUIVO_TXT); readln(Mensagem); writeln(ARQUIVO_TXT, Mensagem); close(ARQUIVO_TXT); end. 20/11/2018 UFRPE - Linguagem Pascal

Arquivos do Tipo Texto (4/4) Lendo Dados de um Arquivo Texto program le_arq; var ARQUIVO_TXT: text; Mensagem: string[50]; begin assign(ARQUIVO_TXT, ‘ARQTXT.TXT’); reset(ARQUIVO_TXT); readln(ARQUIVO_TXT, Mensagem); writeln(Mensagem); close(ARQUIVO_TXT); end. 20/11/2018 UFRPE - Linguagem Pascal

Referências Bibliográficas Farrer, H. et. al. Programação Estruturada de Computadores: Pascal Estruturado. Rio de Janeiro: Guanabara Dois, 1986. Manzano, J. A. N. G.; Yamatumi, W. Y. Programando em Turbo Pascal 7.0. São Paulo: Érica, 1996. 20/11/2018 UFRPE - Linguagem Pascal