AULA 09 PROGRAMAÇÃO I. Estruturas de Dados Heterogêneas 10/08/2010 Programação I 2 Objetivo: Estudar os tipos de dados heterogêneos:  Registros;  Arrays.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Linguagem de Programação I
Conteúdo: - Atribuição de Valores a Variáveis.
Paradigmas de Linguagens Tipos de Dados
ESTRUTURAS DO TIPO FILA
Estrutura de Dados I Profº.: ABC Sampaio
Adaptado de material da profa. Maria Aparecida Livi
Introdução a Programação
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
Alocação Dinâmica de Memória
Introdução à Programação Pascal - Começando Prof. Filipo Studzinski Perotto 2009.
Programação II Estruturas, uniões e enumerações
7 Abstração Genérica Unidades genéricas e instanciação.
Curso de Programação em C++
Algoritmos e Estruturas de Dados II
Aula 5 Tipos de Dados Universidade do Vale do Rio dos Sinos
Robson Godoi / Sandra Siebra
O Portal do Estudante de Computação
O Portal do Estudante de Computação
O Portal do Estudante de Computação
GAUSS COM PIVOTEAMENTO
Paradigmas de programação
João Lucas de Oliveira Torres
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Variáveis, Tipos de Dados e Constantes
Prof. Dr. Marcelo Duduchi
Registros.
MÉTODO JACOBI.
Sub-programas. Mecanismo de composição de programas Sub-programa está para peça de LEGO assim como um programa está para a construção.
Linguagem de Programação II Parte VII
Definição de Tipos Estruturas e Ponteiros
Introdução a Programação COM 100
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Estrutura de Dados Avançada
Introdução ao uso de vatores na linguagem PASCAL.
Aula 3 Igor Ebrahim (ies) if669 - Introdução à Programação Monitoria de IP.
Ambiente de Execução - Rotinas
Computação Eletrônica Subprograma. Função O que este programa faz? Program funcao; var n,x: real; begin write('Entre n: '); readln(n); x := cos(n); write(x);
Computação Eletrônica
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Linguagem Pascal Prof. Sérgio Rodrigues.
Linguagem PASCAL1 Módulo 3 Estrutura de Dados.. Linguagem PASCAL2 Arrays (“Variáveis compostas homogêneas”) n Arrays unidimensionais: identificador: array.
Algoritmos e Estruturas de Dados I – Registros
Banco de Dados Aplicado ao Desenvolvimento de Software
“Introdução a Computação” Capítulo II Estruturas de Dados
VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS (VETORES)
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Algoritmos e Estruturas de Dados I – Registros
Professor Ulisses Vasconcelos
Estruturas de Dados + Algoritmos = Programas
Computação Eletrônica Variáveis Reais e Booleanas.
VETORES.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
Prof. Marcos LABORATÓRIO DE PRÁTICA DE PROGRAMAÇÃO 06.
Arquivos. Motivação Imagine dar entrada (digitar), a cada execução do programa, em todos os dados de um sistema. por exemplo, todos os registro de livros.
Subprogramas : Procedimentos (procedures) em Pascal
Programação de Computadores - 1
Registros. Definição (por comparação) Tipo de dados estruturado como array Diferente de arrays – Elementos armazenados em um registro podem ser distintos.
Strings.
Computação Eletrônica Strings. Strings (Cadeias de Caracteres) Um string é um texto. Em Pascal, este texto deve ser delimitado por aspas simples. Exemplo:
Linguagem de Programação II
MODULARIZAÇÃO Existem dois tipos de sub-programas –Procedures (procedimentos).Não retorna valores –Functions (funçöes). Retorna valores.
Ponteiros. Programação II Professora: Mai-Ly vanessa horário: ter 9h-11h; sex 11h-13h Aula 1.
Array e ArrayList LPOO – 01/09/14.
MATA56 Tipos, Verificação de Tipos Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave – nomes.
Computação Eletrônica Variáveis Inteiras. A memória A memória pode ser vista como um imenso gaveteiro Em cada gaveta, guardamos uma informação. Por exemplo,
Programação e Sistemas da Informação 48 tempos IPTrans, Novembro 2009 Prof. Marisa Gomes.
Vetores de uma dimensão Nota Índice Posição identificando cada elemento Nome Comum para todos os elementos Valor Semelhante a uma variável.
SUB-ROTINAS EM PASCAL PROGRAMAÇÃO MODULARIZADA 252.
Vetores.
Transcrição da apresentação:

AULA 09 PROGRAMAÇÃO I

Estruturas de Dados Heterogêneas 10/08/2010 Programação I 2 Objetivo: Estudar os tipos de dados heterogêneos:  Registros;  Arrays de Registros;

Registros 10/08/2010 Programação I 3 Registros São tipos estruturados com vários componentes denominados de campos. Os campos podem ser de diferentes tipos de dados (inteiro, real, literal,...). Declaração de Registros : lista-de-identificadores : record componentes end; lista-de-identificadores - são os nomes de identificadores que serão associados aos registros que se deseja declarar. componentes - são as declarações das variáveis (campos) do registro, separadas por ponto-e-vírgula. Dentro de um registro, os nomes de campo devem ser únicos.

Registros: Declaração 10/08/2010 Programação I 4 Exemplo de declaração: registro pessoa contendo os campos nome, idade e altura var pessoa: record nome: string[20]; idade: integer; altura: real; end; var pessoa: record nome: string[20]; idade: integer; altura: real; end; nomeidadealtura pessoa

Registros: Declaração usando Type 10/08/2010 Programação I 5 É possível também declarar um registro através de um tipo definido pelo usuário. Exemplo: type Tpessoa= record nome: string[20]; idade: integer; altura: real; end; var pessoa:Tpessoa; type Tpessoa= record nome: string[20]; idade: integer; altura: real; end; var pessoa:Tpessoa; Primeiro definimos o tipo contendo a estrutura do registro (ex: Tpessoa contendo os campos nome, idade e altura ). Depois declaramos a variável do tipo registro (ex: pessoa do tipo Tpessoa ).

Registros: Acesso aos dados 10/08/2010 Programação I 6 Para acessar os campos de um registro, utiliza-se a seguinte notação (referência qualificada):. Exemplo: var p1, p2: record nome: string[20]; idade: integer; altura: real; end; p1.nome p1.idade p1.altura

Registros: Acesso aos dados 10/08/2010 Programação I 7 Atribuição: o valor deve ser do mesmo tipo do campo p1.nome: = ‘Rosa’; {string} p1.idade:= 12;{integer} p1.altura:= 1.54;{real} O valor de um registro pode ser atribuído a outro registro. Por exemplo, a atribuição: p2 := p1; É equivalente a: p2.nome := p1.nome; p2.idade := p1.idade; p2.altura := p1.altura;

Registros: acesso aos dados 10/08/2010 Programação I 8 Entrada/saida: write(‘Nome da pessoa?’); readln( pessoa.nome); writeln(‘Nome: ’, pessoa.nome);

Registros: referência with 10/08/2010 Programação I 9 Utiliza-se a referência WITH com o objetivo de reduzir a referência qualificada. with pessoa do begin nome: = ‘Rosa’; idade:= 12; altura:= 1.54; end ; pessoa.nome: = ‘Rosa’; pessoa.idade:= 12; pessoa.altura:= 1.54;

Tipos x variáveis 10/08/2010 Programação I 10 Tipo: descritor Variáveis: instâncias concretas de um tipo Exemplo em Pascal: type VetorL = array [1..3] of boolean; { instanciação } var Vet1, Vet2: VetorL; T/F [1] [2] [3] tipo VetorL [1] [2] [3]

Composição de tipos 10/08/2010 Programação I 11 Tipos primitivos ou estruturados podem ser usados para definir novos tipos: arrays como campos de registros; registros como campos de registros; arrays onde os elementos são registros (arrays de registros); etc.

Array como campo de um Registro 10/08/2010 Programação I 12 Exemplo : var estudante = record nome: string[20]; notas: array[1..3] of real; end; Acesso às notas do aluno: o campo notas é um array, portanto precisa de índice. estudante.notas[1]:=7.5; estudante.notas[2]:=8.0; estudante.notas[3]:=5.0

Registro como campo de um Registro 10/08/2010 Programação I 13 Exemplo : type Tendereco = record rua : string[40]; numero : integer; CEP : real; end; var cadastro : record nome : string[30]; ender : Tendereco; CPF: real; sexo : char; nascimento : real; rg : real; end; Definição da estrutura para o endereço

Registro como campo de um Registro 10/08/2010 Programação I 14 Acesso aos campos do cadastro : writeln(cadastro.nome); writeln(cadastro.ender.rua); writeln(cadastro.ender.numero); writeln(cadastro.ender.CEP); writeln(cadastro.CPF); writeln(cadastro.Sexo); writeln(cadastro.nascimento); writeln(cadastro.rg);

Arrays de Registros 10/08/2010 Programação I 15 Exemplo : const max=30; type Taluno=record nome: string[20]; idade: integer; altura: real; end; var turma: array [1..max] of Taluno;

Arrays de Registros 10/08/2010 Programação I 16 Cada elemento do array turma armazena todos os dados de um aluno. Acesso aos dados: turma é um array, necessita de índice Exemplo: imprimindo dados dos alunos, sendo n o número de alunos armazenados no vetor For i:=1 to n do Begin Writeln(‘Nome: ‘,turma[i].nome); Writeln(‘Idade: ‘, turma[i].idade); Writeln(‘Altura: ‘, turma[i].altura:5:2); End;