Programação II Estruturas, uniões e enumerações

Slides:



Advertisements
Apresentações semelhantes
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 5 Criado por Frederick H. Colclough, Colorado Technical University Vetores.
Advertisements

Linguagem de Programação VI Tipos de Dados Compostos - structs
Construção de Algoritmos AULA 07
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Programação II Estruturas de Dados
Programação II Estruturas de Dados
Algoritmos e Estrutura de Dados I
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
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
AULA – Linguagem C – Vetores, Ponteiros Estruturas
Linguagem de Programação 1
Algoritmos Escher.
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
LPG-I: Tipos Complexos - Estruturas
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo Programação II Estruturas Professora: Norminda Luiza.
Análise Léxica Supondo o trecho de programa abaixo:
Construção de Compiladores
Universidade de Brasília
PROGRAMAÇÃO ou LINGUAGEM C?
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Ponteiros.
Escola Secundária c/ 3º CEB da Batalha
Revisão da Linguagem C.
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Aula prática 12 Listas Encadeadas
Registros.
Ponteiros Variáveis do tipo “ponteiro” armazenam endereços de memória
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 8 Ponteiros Monitoria de Introdução à Programação.
Curso de Nivelamento LCG
1 Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa.
PROGRAMAÇÃO ESTRUTURADA II
Linguagem de Programação II Parte VII
Definição de Tipos Estruturas e Ponteiros
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Estrutura de Dados Avançada
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Prof. Ricardo Santos PONTEIROS
Leandro Almeida  Parâmetros são utilizados em computação para possibilitar a construção de subprogramas genéricos.
Algoritmos e Estruturas de Dados Linguagem C - Estruturas - Prof. Me. Claudio Benossi
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Oficinas de Desenvolvimento de Software
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
Estruturas de Dados Aula 17: Estruturas Genéricas
Estruturas de Dados Aula 7: Tipos Estruturados 23/04/2014.
Joaquim José Hangalo  Podemos entender a memória do computador como um conjunto de células que armazenam informações.  Cada célula.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Estruturas Revisando: tipos de dados simples
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
1 Programação em C Aula Considere que um banco armazena em arquivo as seguintes informações de seus clientes: número da conta (int), nome do cliente.
Programação de Computadores I – Ponteiros Profa. Mercedes Gonzales Márquez.
Ponteiros em C Prof. Kariston Pereira
Linguagem de Programação II
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
Estrutura de Dados Aula 3 - Listas
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Funções.
Linguagem de Programação
Programação em C Aula 9.
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
FUNDAMENTO DE PROGRAMAÇÃO PROF. WELLINGTON FRANCO
Transcrição da apresentação:

Programação II Estruturas, uniões e enumerações Ricardo de Sousa Britto nephlinvocals@yahoo.com.br

Tipo Estrutura: Motivação Manipulação de dados compostos ou estruturados Exemplos: ponto no espaço bidimensional representado por duas coordenadas (x e y), mas tratado como um único objeto (ou tipo) dados associados a aluno: aluno representado pelo seu nome, número de matrícula, endereço, etc ..., estruturados em um único objeto (ou tipo)

Tipo Estrutura: declaração e uso Tipo de dado com campos compostos de tipos mais simples Elementos acessados através do operador de acesso “ponto” (.)

Tipo Estrutura: declaração e uso

Tipo Estrutura: Exemplo

Ponteiro de estruturas Acesso ao valor de um campo x de uma variável estrutura p: p.x Acesso ao valor de um campo x de uma variável ponteiro pp: pp->x Acesso ao endereço do campo x de uma variável ponteiro pp: &(pp->x)

Ponteiro de estruturas

Ponteiro de estruturas

Passagem de estruturas por valor para funções Análoga à passagem de variáveis simples Função recebe toda a estrutura como parâmetro: função acessa a cópia da estrutura na pilha função não altera os valores dos campos da estrutura original operação pode ser uma custosa se a estrutura for muito grande

Passagem de estruturas por valor para funções

Estruturas como valor de retorno

Passagem de estruturas por referência para função Apenas o ponteiro da estrutura é passado, mesmo que não seja necessário alterar os valores dos campos dentro da função.

Definição de Novos Tipos typedef Permite criar nomes de tipos. Útil para abreviar nomes de tipos e para tratar tipos complexos.

Definição de Novos Tipos Definição de nomes de tipos para as estruturas. struct ponto representa uma estrutura com 2 campos do tipo float Ponto representa a estrutura ponto PPonto representa o tipo ponteiro para a estrutura ponto

Aninhamento de Estruturas Campos de uma estrutura podem ser outras estruturas. Exemplo: Definição de Círculo usando Ponto

Aninhamento de Estruturas

Aninhamento de Estruturas

Vetores de Estruturas Exemplo: função para calcular o centro geométrico de conjunto de pontos entrada: vetor de estruturas definindo o conjunto de pontos saída: centro geométrico, dado por:

Vetores de Estruturas

Vetores de Ponteiros para Estruturas Exemplo: tabela com dados de alunos, organizada em um vetor. Dados de cada aluno: matrícula: número inteiro nome: cadeia com até 80 caracteres endereço: cadeia com até 120 caracteres telefone: cadeia com até 20 caracteres

Vetores de Ponteiros para Estruturas

Tipo União union Localização de memória compartilhada por diferentes variáveis, que podem ser de tipos diferentes. Uniões usadas para armazenar valores heterogêneos em um mesmo espaço de memória.

Tipo União

Tipo União Acesso aos campos: Operador ponto (.) para acessar os campos diretamente Operador seta (->) para acessar os campos através de ponteiro

Tipo União

Tipo União Armazenamento: Apenasum único elemento de uma união pode estar armazenado num determinado instante. A atribuição a um campo da união sobrescreve o valor anteriormente atribuído a qualquer outro campo

Tipo Enumeração enum Declara uma enumeração, ou seja, um conjunto de constantes inteiras com nomes que especifica os valores legais que uma variável daquele tipo pode ter. Oferece uma forma mais elegante de organizar valores constantes.

Tipo Enumeração Exemplo – tipo Booleano:

Resumo