Introdução à Programação
This presentation is the property of its rightful owner.
Sponsored Links
1 / 14

Estrutura PowerPoint PPT Presentation


  • 54 Views
  • Uploaded on
  • Presentation posted in: General

Introdução à Programação Tipos de Estruturas de Dados: Array de Estruturas 1º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes ([email protected]). Estrutura. Estruturas devem encarradas como sendo um tipo de variável, como uma definição de tipo de variável .

Download Presentation

Estrutura

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Estrutura

Introdução à ProgramaçãoTipos de Estruturasde Dados: Array de Estruturas1º ano - ESI e IGE (2011/2012)Engenheiro Anilton Silva Fernandes([email protected])


Estrutura

Estrutura

Estruturas devem encarradas como sendo um tipo de variável, como uma definição de tipo de variável.

Isto significa que, quando os tipos existentes não nos satisfazem, nos recorremos ao nosso próprio tipo

Um tipo definido por nós.

É claro que estrutura e muito mais do que apenas um tipo,

Mas continua sendo nossa definição de um tipo de variável

Mais importante, é a delaração de vários tipos de variáveis, dentro duma mesma variável.

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


Estrutura1

Estrutura

Assim...

Uma estrutura é uma compilação de vários tipos em uma única variável

Quando é que usamos?

Sempre que precisamos de guardar um conjunto de dados de tipo diferente (int, char, float, etc) dentro de uma única varíavel

E quando é que vamos precisar disso?

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


Estrutura2

Estrutura

Quando for necessário trabalhar com com objectos, onde objectos são entidades que têm conjunto de atributos

Exemplo. PESSOA

Pessoa é um objecto ou uma entidade.

Seus atributos seriam:

Nome, BI, Sexo, altura, telefone, etc

Assim, a representação de pessoa devia ser

pessoa(Nome, BI, Sexo, altura, telefone)

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


Estrutura3

Estrutura

Para que essa representação seja possível, nos precisamos de usar estrutura, onde vamos criar uma variável pessoa, e vamos dizer que essa variavel tem esses campos.

A definição da estrutura, é apenas o dizer dos campos e seus tipos que constam de uma determinada variável

A definição de uma estrutura é sempre a mesma, variando apenas, o nome da estrutura e seus campos,

Essa definição é dada por

typedef struct → significa definição de tipo estrutura

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


Estrutura defini o

Estrutura - Definição

Assim, a criação de uma estrutura para pessoa seria:

typedef struct _E

{

int BI;// bilhete de identidade

char nome[40];// nome da pessoa

char sexo;// sexo da pessoa em M/F

float altura;// altura em cm da pessoa

int telefone;// tel de contacto da pessoa

}E;

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


Estrutura defini o1

Estrutura - Definição

Explicação

É obrigatório colocar typedef struct;

O valor circulado a vermelho, é um nome temporário que se dá à estrutura, mas que em caso de estruturas para variáveis simples ou array, não é obrigatório;

As variáveis pertencentes à estrutura, devem sempre vir entre chavetas, indicando bloco de instruções da estrutura;

As variáveis da estrutura são declaras normalmente como em outras situações;

No final, da estrutura, feicha-se chavetas e, OBRIGATORIAMENTE, logo a frente coloca-se o nome da estrutura.

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


Estrutura defini o2

Estrutura - Definição

Explicação

O nome da estrutura é o elemento que depois vai ser usado para declarar uma variável do tipo da estrutura

Assim, a variável pessoa seria declarada:

Uma declaração dessa natureza, faz com que pessoa, herde todos os campos da estrutura E, e que tenhamos:

E pessoa// declaração da variável pessoa do tipo da estrutura E

pessoa.bi;

pessoa.nome;

pessoa.sexo;

pessoa.altura;

pessoa.telefone;

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


Estrutura defini o3

Estrutura - Definição

É possível:

typedef struct

{

int BI;

char nome[40];

char sexo;

float altura;

int telefone;

}E;

typedef struct _E

{

int BI;

char nome[40];

char sexo;

float altura;

int telefone;

}E;

typedef struct

{

int BI, telefone;

char nome[40], sexo, morada[50];

}E;

typedef struct

{

int BI, telefone;

char nome[40], sexo, morada[50];

}

E;

Possível, mas não aconcelhável

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


D vidas

DÚVIDAS?

a diante...


Manusear vari veis do tipo estrutura

Manusear variáveis do tipo estrutura

Depois da definição de uma estrutura, depois da declaração de uma variavel do tipo da estrutura, o manusear desta variável é muito simples.

O acesso aos campos da variável, que são os mesmos da estrutura é dada pelo nome da variável, ponto, nome do campo;

pessoa.bi; ou pessoa.nome;

Assim, tanto para alterar quanto para mostrar:

printf(“BI: %d”, pessoa.bi)

pessoa.altura = 1,87;

printf(“Altura: %f”, pessoa.altura)

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


Exerc cio

Exercício

Tendo em conta a estrutura anterior, E, faz um função, Mostrar(), que percore o array de 20 posições e mostra cada campo.

mostrar()

{

int i;

for(i=0;i<20;i++)

printf(“%d, %s, %f, %d\n”, pessoa[i].bi, pessoa[i].nome, pessoa[i].altura, pessoa[i].telefone)

}

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


D vidas1

DÚVIDAS?

a diante...


Array de estruturas

Array de estruturas

Se vamos guardar dados de 20 pessoas, então precisaremos de um array de 20 posições.

Assim, só precisamos de declarar um array de 20 posições do tipo da estrutura

Em caso de arrays, o acesso aos campos é feita de forma igual, mas...

É preciso indicar a posições

E pessoa[20]; // array pessoa de 20 posições

pessoa[0].altura = 1,87;

printf(“Altura: %f”, pessoa[0].altura)

UniPiaget – 2011/ INF002(2011.2012) – Engenheiro Anilton Silva Fernandes


  • Login