SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Estrutura de Dados 
Introduc~ao e Alocac~ao de Memoria 
Vilson Heck Junior 
Instituto Federal de Santa Catarina 
2014
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Sumario 
1 Sumario 
2 Introduc~ao 
3 Dados Compostos Heterog^eneos 
O Problema 
A Soluc~ao 
Objetos em Java 
Exerccio 
4 Alocac~ao de Memoria 
Alocac~ao Din^amica de Memoria 
5 Refer^encias Bibliogra
cas 
2 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Sumario 
1 Sumario 
2 Introduc~ao 
3 Dados Compostos Heterog^eneos 
O Problema 
A Soluc~ao 
Objetos em Java 
Exerccio 
4 Alocac~ao de Memoria 
Alocac~ao Din^amica de Memoria 
5 Refer^encias Bibliogra
cas 
3 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Introduc~ao as Estruturas de Dados 
Computac~ao x Dados 
Por de
nic~ao um computador e uma maquina capaz de trabalhar 
com uma grande quantidade de informac~oes em um tempo 
reduzido. Para que esse trabalho seja realizado as informac~oes 
envolvidas devem ser organizadas, para ent~ao poderem ser 
manipuladas e utilizadas de forma conveniente. 
Objetivo das Estruturas 
O objetivo maior das estruturas de dados e prover diferentes 
formas para organizar as informac~oes utilizadas por um programa 
de computador. Esse objetivo e circundado por tecnicas de 
manipulac~ao aplicadas as informac~oes organizadas, de forma a 
utiliza-las para a resoluc~ao de problemas diversos. 
(Alexandre Savaris, 2006) 
4 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Representac~ao de Dados 
Um computador e um dispositivo eletr^onico e, por isso, e 
composto por circuitos eletricos. A aus^encia ou presenca de tens~ao 
eletrica, em cada circuito, representa um valor para de bit: 0 (na 
aus^encia de tens~ao) ou 1 (na presenca de tens~ao). 
O bit, por sua vez, e o menor dado que pode ser representado por 
um computador e, quando arranjado com outros bit, comp~oem 
bytes, ou ainda conjuntos de bytes, que representam dados. Este 
arranjo e determinado por uma estrutura, ent~ao: Estrutura de 
Dados. 
5 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Representac~ao de Dados 
Um computador e um dispositivo eletr^onico e, por isso, e 
composto por circuitos eletricos. A aus^encia ou presenca de tens~ao 
eletrica, em cada circuito, representa um valor para de bit: 0 (na 
aus^encia de tens~ao) ou 1 (na presenca de tens~ao). 
O bit, por sua vez, e o menor dado que pode ser representado por 
um computador e, quando arranjado com outros bit, comp~oem 
bytes, ou ainda conjuntos de bytes, que representam dados. Este 
arranjo e determinado por uma estrutura, ent~ao: Estrutura de 
Dados. 
5 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Variaveis 
As estruturas de dados mais simples s~ao as variaveis. Cada variavel 
armazena um unico dado, referente a qualquer coisas do tipo de 
dado determinado. Mas e se precisarmos armazenar conjuntos de 
dados que s~ao de tipos diferentes, mas que s~ao relacionados a 
mesma coisa? 
Toda variavel possu um tipo de dado primitivo, que determina a 
sua estrutura. Esta estrutura limita o dado armazenado quanto ao 
seu valor. Por exemplo, um tipo de dado numerico n~ao e adequado 
para armazenar texto, ou vice-versa. Ainda, um mesmo tipo de 
dado numerico e capaz de armazenar valores numericos exclusivos 
de um determinado intervalo. 
6 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Variaveis 
As estruturas de dados mais simples s~ao as variaveis. Cada variavel 
armazena um unico dado, referente a qualquer coisas do tipo de 
dado determinado. Mas e se precisarmos armazenar conjuntos de 
dados que s~ao de tipos diferentes, mas que s~ao relacionados a 
mesma coisa? 
Toda variavel possu um tipo de dado primitivo, que determina a 
sua estrutura. Esta estrutura limita o dado armazenado quanto ao 
seu valor. Por exemplo, um tipo de dado numerico n~ao e adequado 
para armazenar texto, ou vice-versa. Ainda, um mesmo tipo de 
dado numerico e capaz de armazenar valores numericos exclusivos 
de um determinado intervalo. 
6 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Sumario 
1 Sumario 
2 Introduc~ao 
3 Dados Compostos Heterog^eneos 
O Problema 
A Soluc~ao 
Objetos em Java 
Exerccio 
4 Alocac~ao de Memoria 
Alocac~ao Din^amica de Memoria 
5 Refer^encias Bibliogra
cas 
7 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Dados Compostos Heterog^eneos 
Muitas Variaveis 
Se pensarmos em uma pessoa, ela pode ser descrita com diversos 
dados, por exemplo: Nome, Idade, Endereco, CPF, ... Ent~ao, 
utilizando variaveis, precisaramos declarar diversas variaveis para 
cada pessoa que gostaramos de armazenar, obtendo um enorme 
numero de variaveis. Uma forma de resolver esta multipla alocac~ao 
de variaveis e chamado de Dados Compostos Heterog^eneos, 
Registros ou, ainda, Estruturas. 
Dados Compostos Heterog^eneos 
Estruturar e/ou Agrupar, de forma organizada, os dados que s~ao 
relacionados a mesma tarefa ou elemento. 
8 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Dados Compostos Heterog^eneos 
Muitas Variaveis 
Se pensarmos em uma pessoa, ela pode ser descrita com diversos 
dados, por exemplo: Nome, Idade, Endereco, CPF, ... Ent~ao, 
utilizando variaveis, precisaramos declarar diversas variaveis para 
cada pessoa que gostaramos de armazenar, obtendo um enorme 
numero de variaveis. Uma forma de resolver esta multipla alocac~ao 
de variaveis e chamado de Dados Compostos Heterog^eneos, 
Registros ou, ainda, Estruturas. 
Dados Compostos Heterog^eneos 
Estruturar e/ou Agrupar, de forma organizada, os dados que s~ao 
relacionados a mesma tarefa ou elemento. 
8 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
O Problema: Numerosas Variaveis 
9 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
A Soluc~ao: Dados Compostos Heterog^eneos - Objetos 
10 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Criando uma Classe class em Java 
Como visto em slide anterior, uma class pode ser composta de 
varios campos de diferentes tipos de dados; 
A criac~ao desta class e feita em novo arquivo, dentro de um 
package e fora de qualquer outra class; 
Apos a declarac~ao class, devemos colocar um bloco f g; 
Dentro do bloco f g, devemos declarar os elementos que ir~ao 
compor a estrutura. A declarac~ao de cada elemento deve ser 
antecedida pela palavra: public. 
11 / 22
Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
cas 
Criando uma Classe class em Java 
Como visto em slide anterior, uma class pode ser composta de 
varios campos de diferentes tipos de dados; 
A criac~ao desta class e feita em novo arquivo, dentro de um 
package e fora de qualquer outra class; 
Apos a declarac~ao class, devemos colocar um bloco f g; 
Dentro do bloco f g, devemos declarar os elementos que ir~ao 
compor a estrutura. A declarac~ao de cada elemento deve ser 
antecedida pela palavra: public. 
11 / 22

Más contenido relacionado

Destacado

Inteligencias múltiples brian
Inteligencias múltiples brianInteligencias múltiples brian
Inteligencias múltiples brianBrian Daza
 
Ts 123401v100400p
Ts 123401v100400pTs 123401v100400p
Ts 123401v100400pMorg
 
Seguridad industrial
Seguridad industrialSeguridad industrial
Seguridad industrialkeydash
 
Capitulo iii raul bravo pdf
Capitulo iii raul bravo pdfCapitulo iii raul bravo pdf
Capitulo iii raul bravo pdfRaul Bravo
 
Measures of efficiency in the takaful industry of bangladesh a non-parametric...
Measures of efficiency in the takaful industry of bangladesh a non-parametric...Measures of efficiency in the takaful industry of bangladesh a non-parametric...
Measures of efficiency in the takaful industry of bangladesh a non-parametric...Alexander Decker
 
E book-plano de marketing-quarteldigital
E book-plano de marketing-quarteldigitalE book-plano de marketing-quarteldigital
E book-plano de marketing-quarteldigitalMyllandyson Freitas
 
DESERTEC Foundation - Kernaussagen von Dr. Knies beim Gründungstreffen der DE...
DESERTEC Foundation - Kernaussagen von Dr. Knies beim Gründungstreffen der DE...DESERTEC Foundation - Kernaussagen von Dr. Knies beim Gründungstreffen der DE...
DESERTEC Foundation - Kernaussagen von Dr. Knies beim Gründungstreffen der DE...DESERTEC
 
Como fomentar a função estar na praça
Como fomentar a função estar na praçaComo fomentar a função estar na praça
Como fomentar a função estar na praçaJoana Lopes
 
Sistemas i
Sistemas iSistemas i
Sistemas iyeta5
 
Ef diferenças e semelhanças 8º
Ef diferenças e semelhanças 8ºEf diferenças e semelhanças 8º
Ef diferenças e semelhanças 8ºprofgilvano
 
22 ) riba’ dan ancamannya noor hafiz bin abdul jalil
22 ) riba’ dan ancamannya noor hafiz bin abdul jalil22 ) riba’ dan ancamannya noor hafiz bin abdul jalil
22 ) riba’ dan ancamannya noor hafiz bin abdul jalilDania Azmy
 

Destacado (20)

Importancia aps 6 septiembre 2014.pptx
Importancia aps   6 septiembre 2014.pptxImportancia aps   6 septiembre 2014.pptx
Importancia aps 6 septiembre 2014.pptx
 
Inteligencias múltiples brian
Inteligencias múltiples brianInteligencias múltiples brian
Inteligencias múltiples brian
 
CLASE No 1.
CLASE No 1.CLASE No 1.
CLASE No 1.
 
Ts 123401v100400p
Ts 123401v100400pTs 123401v100400p
Ts 123401v100400p
 
Como elaborar un_proyecto
Como elaborar un_proyectoComo elaborar un_proyecto
Como elaborar un_proyecto
 
Seguridad industrial
Seguridad industrialSeguridad industrial
Seguridad industrial
 
Capitulo iii raul bravo pdf
Capitulo iii raul bravo pdfCapitulo iii raul bravo pdf
Capitulo iii raul bravo pdf
 
CAPITAL HUMANO Y CAPACIDAD HUMANA*
CAPITAL HUMANO Y CAPACIDAD HUMANA*CAPITAL HUMANO Y CAPACIDAD HUMANA*
CAPITAL HUMANO Y CAPACIDAD HUMANA*
 
Measures of efficiency in the takaful industry of bangladesh a non-parametric...
Measures of efficiency in the takaful industry of bangladesh a non-parametric...Measures of efficiency in the takaful industry of bangladesh a non-parametric...
Measures of efficiency in the takaful industry of bangladesh a non-parametric...
 
servlets
servletsservlets
servlets
 
E book-plano de marketing-quarteldigital
E book-plano de marketing-quarteldigitalE book-plano de marketing-quarteldigital
E book-plano de marketing-quarteldigital
 
Reseña de las noticias
Reseña de las noticiasReseña de las noticias
Reseña de las noticias
 
DESERTEC Foundation - Kernaussagen von Dr. Knies beim Gründungstreffen der DE...
DESERTEC Foundation - Kernaussagen von Dr. Knies beim Gründungstreffen der DE...DESERTEC Foundation - Kernaussagen von Dr. Knies beim Gründungstreffen der DE...
DESERTEC Foundation - Kernaussagen von Dr. Knies beim Gründungstreffen der DE...
 
Sistemas digitais 1
Sistemas digitais 1Sistemas digitais 1
Sistemas digitais 1
 
Como fomentar a função estar na praça
Como fomentar a função estar na praçaComo fomentar a função estar na praça
Como fomentar a função estar na praça
 
Sistemas i
Sistemas iSistemas i
Sistemas i
 
Temas vistos
Temas vistosTemas vistos
Temas vistos
 
Ef diferenças e semelhanças 8º
Ef diferenças e semelhanças 8ºEf diferenças e semelhanças 8º
Ef diferenças e semelhanças 8º
 
TRASTORNO TDAH
TRASTORNO TDAH TRASTORNO TDAH
TRASTORNO TDAH
 
22 ) riba’ dan ancamannya noor hafiz bin abdul jalil
22 ) riba’ dan ancamannya noor hafiz bin abdul jalil22 ) riba’ dan ancamannya noor hafiz bin abdul jalil
22 ) riba’ dan ancamannya noor hafiz bin abdul jalil
 

Similar a Estrutura de Dados: Introdução à Alocação de Memória

Similar a Estrutura de Dados: Introdução à Alocação de Memória (20)

Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotation
 
Java7
Java7Java7
Java7
 
Exercicios
ExerciciosExercicios
Exercicios
 
Introdução à Estrutura de Dados
Introdução à Estrutura de DadosIntrodução à Estrutura de Dados
Introdução à Estrutura de Dados
 
Introdução BD
Introdução BDIntrodução BD
Introdução BD
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Apostila de bd
Apostila de bdApostila de bd
Apostila de bd
 
1 exercicio funcoes com string e manipulacao com arquivo
1 exercicio  funcoes com string e manipulacao com arquivo1 exercicio  funcoes com string e manipulacao com arquivo
1 exercicio funcoes com string e manipulacao com arquivo
 
Java basico modulo_03
Java basico modulo_03Java basico modulo_03
Java basico modulo_03
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
módulo 6 - dados_estruturados LP.pptx
módulo 6 - dados_estruturados LP.pptxmódulo 6 - dados_estruturados LP.pptx
módulo 6 - dados_estruturados LP.pptx
 
Java 05
Java 05Java 05
Java 05
 
Course Hibernate 2008
Course Hibernate 2008Course Hibernate 2008
Course Hibernate 2008
 
Apostila de ext js com php e postgresql v0.5
Apostila de ext js com php e postgresql v0.5Apostila de ext js com php e postgresql v0.5
Apostila de ext js com php e postgresql v0.5
 
Java9
Java9Java9
Java9
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
Aula05 android persistencia
Aula05 android persistenciaAula05 android persistencia
Aula05 android persistencia
 

Estrutura de Dados: Introdução à Alocação de Memória

  • 1. Estrutura de Dados Introduc~ao e Alocac~ao de Memoria Vilson Heck Junior Instituto Federal de Santa Catarina 2014
  • 2. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 3. cas Sumario 1 Sumario 2 Introduc~ao 3 Dados Compostos Heterog^eneos O Problema A Soluc~ao Objetos em Java Exerccio 4 Alocac~ao de Memoria Alocac~ao Din^amica de Memoria 5 Refer^encias Bibliogra
  • 4. cas 2 / 22
  • 5. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 6. cas Sumario 1 Sumario 2 Introduc~ao 3 Dados Compostos Heterog^eneos O Problema A Soluc~ao Objetos em Java Exerccio 4 Alocac~ao de Memoria Alocac~ao Din^amica de Memoria 5 Refer^encias Bibliogra
  • 7. cas 3 / 22
  • 8. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 9. cas Introduc~ao as Estruturas de Dados Computac~ao x Dados Por de
  • 10. nic~ao um computador e uma maquina capaz de trabalhar com uma grande quantidade de informac~oes em um tempo reduzido. Para que esse trabalho seja realizado as informac~oes envolvidas devem ser organizadas, para ent~ao poderem ser manipuladas e utilizadas de forma conveniente. Objetivo das Estruturas O objetivo maior das estruturas de dados e prover diferentes formas para organizar as informac~oes utilizadas por um programa de computador. Esse objetivo e circundado por tecnicas de manipulac~ao aplicadas as informac~oes organizadas, de forma a utiliza-las para a resoluc~ao de problemas diversos. (Alexandre Savaris, 2006) 4 / 22
  • 11. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 12. cas Representac~ao de Dados Um computador e um dispositivo eletr^onico e, por isso, e composto por circuitos eletricos. A aus^encia ou presenca de tens~ao eletrica, em cada circuito, representa um valor para de bit: 0 (na aus^encia de tens~ao) ou 1 (na presenca de tens~ao). O bit, por sua vez, e o menor dado que pode ser representado por um computador e, quando arranjado com outros bit, comp~oem bytes, ou ainda conjuntos de bytes, que representam dados. Este arranjo e determinado por uma estrutura, ent~ao: Estrutura de Dados. 5 / 22
  • 13. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 14. cas Representac~ao de Dados Um computador e um dispositivo eletr^onico e, por isso, e composto por circuitos eletricos. A aus^encia ou presenca de tens~ao eletrica, em cada circuito, representa um valor para de bit: 0 (na aus^encia de tens~ao) ou 1 (na presenca de tens~ao). O bit, por sua vez, e o menor dado que pode ser representado por um computador e, quando arranjado com outros bit, comp~oem bytes, ou ainda conjuntos de bytes, que representam dados. Este arranjo e determinado por uma estrutura, ent~ao: Estrutura de Dados. 5 / 22
  • 15. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 16. cas Variaveis As estruturas de dados mais simples s~ao as variaveis. Cada variavel armazena um unico dado, referente a qualquer coisas do tipo de dado determinado. Mas e se precisarmos armazenar conjuntos de dados que s~ao de tipos diferentes, mas que s~ao relacionados a mesma coisa? Toda variavel possu um tipo de dado primitivo, que determina a sua estrutura. Esta estrutura limita o dado armazenado quanto ao seu valor. Por exemplo, um tipo de dado numerico n~ao e adequado para armazenar texto, ou vice-versa. Ainda, um mesmo tipo de dado numerico e capaz de armazenar valores numericos exclusivos de um determinado intervalo. 6 / 22
  • 17. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 18. cas Variaveis As estruturas de dados mais simples s~ao as variaveis. Cada variavel armazena um unico dado, referente a qualquer coisas do tipo de dado determinado. Mas e se precisarmos armazenar conjuntos de dados que s~ao de tipos diferentes, mas que s~ao relacionados a mesma coisa? Toda variavel possu um tipo de dado primitivo, que determina a sua estrutura. Esta estrutura limita o dado armazenado quanto ao seu valor. Por exemplo, um tipo de dado numerico n~ao e adequado para armazenar texto, ou vice-versa. Ainda, um mesmo tipo de dado numerico e capaz de armazenar valores numericos exclusivos de um determinado intervalo. 6 / 22
  • 19. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 20. cas Sumario 1 Sumario 2 Introduc~ao 3 Dados Compostos Heterog^eneos O Problema A Soluc~ao Objetos em Java Exerccio 4 Alocac~ao de Memoria Alocac~ao Din^amica de Memoria 5 Refer^encias Bibliogra
  • 21. cas 7 / 22
  • 22. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 23. cas Dados Compostos Heterog^eneos Muitas Variaveis Se pensarmos em uma pessoa, ela pode ser descrita com diversos dados, por exemplo: Nome, Idade, Endereco, CPF, ... Ent~ao, utilizando variaveis, precisaramos declarar diversas variaveis para cada pessoa que gostaramos de armazenar, obtendo um enorme numero de variaveis. Uma forma de resolver esta multipla alocac~ao de variaveis e chamado de Dados Compostos Heterog^eneos, Registros ou, ainda, Estruturas. Dados Compostos Heterog^eneos Estruturar e/ou Agrupar, de forma organizada, os dados que s~ao relacionados a mesma tarefa ou elemento. 8 / 22
  • 24. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 25. cas Dados Compostos Heterog^eneos Muitas Variaveis Se pensarmos em uma pessoa, ela pode ser descrita com diversos dados, por exemplo: Nome, Idade, Endereco, CPF, ... Ent~ao, utilizando variaveis, precisaramos declarar diversas variaveis para cada pessoa que gostaramos de armazenar, obtendo um enorme numero de variaveis. Uma forma de resolver esta multipla alocac~ao de variaveis e chamado de Dados Compostos Heterog^eneos, Registros ou, ainda, Estruturas. Dados Compostos Heterog^eneos Estruturar e/ou Agrupar, de forma organizada, os dados que s~ao relacionados a mesma tarefa ou elemento. 8 / 22
  • 26. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 27. cas O Problema: Numerosas Variaveis 9 / 22
  • 28. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 29. cas A Soluc~ao: Dados Compostos Heterog^eneos - Objetos 10 / 22
  • 30. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 31. cas Criando uma Classe class em Java Como visto em slide anterior, uma class pode ser composta de varios campos de diferentes tipos de dados; A criac~ao desta class e feita em novo arquivo, dentro de um package e fora de qualquer outra class; Apos a declarac~ao class, devemos colocar um bloco f g; Dentro do bloco f g, devemos declarar os elementos que ir~ao compor a estrutura. A declarac~ao de cada elemento deve ser antecedida pela palavra: public. 11 / 22
  • 32. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 33. cas Criando uma Classe class em Java Como visto em slide anterior, uma class pode ser composta de varios campos de diferentes tipos de dados; A criac~ao desta class e feita em novo arquivo, dentro de um package e fora de qualquer outra class; Apos a declarac~ao class, devemos colocar um bloco f g; Dentro do bloco f g, devemos declarar os elementos que ir~ao compor a estrutura. A declarac~ao de cada elemento deve ser antecedida pela palavra: public. 11 / 22
  • 34. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 35. cas Criando uma Classe class em Java Como visto em slide anterior, uma class pode ser composta de varios campos de diferentes tipos de dados; A criac~ao desta class e feita em novo arquivo, dentro de um package e fora de qualquer outra class; Apos a declarac~ao class, devemos colocar um bloco f g; Dentro do bloco f g, devemos declarar os elementos que ir~ao compor a estrutura. A declarac~ao de cada elemento deve ser antecedida pela palavra: public. 11 / 22
  • 36. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 37. cas Criando uma Classe class em Java Como visto em slide anterior, uma class pode ser composta de varios campos de diferentes tipos de dados; A criac~ao desta class e feita em novo arquivo, dentro de um package e fora de qualquer outra class; Apos a declarac~ao class, devemos colocar um bloco f g; Dentro do bloco f g, devemos declarar os elementos que ir~ao compor a estrutura. A declarac~ao de cada elemento deve ser antecedida pela palavra: public. 11 / 22
  • 38. 1 package MeuPrograma ; 2 class Pessoa { // Declarac~ao da classe Pessoa 3 public String Nome ; // Atributo Nome 4 public int Idade ; // Atributo Idade 5 public String Endereco ; // Atributo Endereco 6 public long CPF ; // Atributo CPF 7 } 8 public class Programa { 9 public static void main ( String [] args ) { 10 Pessoa p1 = new Pessoa (); 11 p1. Nome = Fulano de Tal ; 12 p1. Idade = 20; 13 p1. Endereco = Rua XYZ , 12; 14 p1.CPF = 1234567890; 15 } 16 } Criac~ao e Inicializac~ao de class em Java
  • 39. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 40. cas Aplicac~ao em Array Um bom exemplo de simpli
  • 41. cac~ao que obtemos ao usar a class Pessoa, que criamos anteriormente, e apresentada ao utilizarmos um array para armazenar um determinado numero de objetos Pessoa. Arrays e outras Estruturas de Dados, que ser~ao estudadas, passam a ter capacidade de armazenar elementos mais complexos, assim como uma Pessoa, que e composta por diversos dados diferentes. 1 // Array de 10 Pessoas 2 Pessoa [] pes = new Pessoa [10]; 3 pes [0] = new Pessoa (); 4 pes [0]. Nome = Fulano de Tal; 5 pes [0]. Idade = 20; 6 pes [1] = new Pessoa (); 7 pes [1]. Nome = Ciclano de Tal ; 8 pes [1]. Idade = 51; 9 String texto = pes [0]. Nome ; 10 int nro = pes [1]. Idade ; 13 / 22
  • 42. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 43. cas Aplicac~ao em Array Um bom exemplo de simpli
  • 44. cac~ao que obtemos ao usar a class Pessoa, que criamos anteriormente, e apresentada ao utilizarmos um array para armazenar um determinado numero de objetos Pessoa. Arrays e outras Estruturas de Dados, que ser~ao estudadas, passam a ter capacidade de armazenar elementos mais complexos, assim como uma Pessoa, que e composta por diversos dados diferentes. 1 // Array de 10 Pessoas 2 Pessoa [] pes = new Pessoa [10]; 3 pes [0] = new Pessoa (); 4 pes [0]. Nome = Fulano de Tal; 5 pes [0]. Idade = 20; 6 pes [1] = new Pessoa (); 7 pes [1]. Nome = Ciclano de Tal ; 8 pes [1]. Idade = 51; 9 String texto = pes [0]. Nome ; 10 int nro = pes [1]. Idade ; 13 / 22
  • 45. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 46. cas Exerccio 01 Primeira Etapa Faca um novo projeto para Console em Java; Crie uma class chamada Contato, contendo os atributos: String Nome; long Telefone; String Email; Segunda Etapa Dentro da func~ao main declare um array (de tamanho 10) do tipo Contato; e Crie uma aplicac~ao com um Menu(funcional) contendo: 1 - Cadastrar Contatos 2 - Listar Contatos 3 - Sair O Menu devera ser exibido ate a escolha da opc~ao Sair. 14 / 22
  • 47. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 48. cas Exerccio 01 Primeira Etapa Faca um novo projeto para Console em Java; Crie uma class chamada Contato, contendo os atributos: String Nome; long Telefone; String Email; Segunda Etapa Dentro da func~ao main declare um array (de tamanho 10) do tipo Contato; e Crie uma aplicac~ao com um Menu(funcional) contendo: 1 - Cadastrar Contatos 2 - Listar Contatos 3 - Sair O Menu devera ser exibido ate a escolha da opc~ao Sair. 14 / 22
  • 49. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 50. cas Sumario 1 Sumario 2 Introduc~ao 3 Dados Compostos Heterog^eneos O Problema A Soluc~ao Objetos em Java Exerccio 4 Alocac~ao de Memoria Alocac~ao Din^amica de Memoria 5 Refer^encias Bibliogra
  • 51. cas 15 / 22
  • 52. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 53. cas Alocac~ao de Memoria Estatico Ate agora, aprendemos a alocar memoria atraves da declarac~ao de variaveis e arrays. Vimos estrategias para resolver alguns problemas pontuais, tais como: Gerenciar um alto numero de variaveis (atraves de arrays); De
  • 54. nir uma class para associar dados heterog^eneos; O que falta? Mas e se precisarmos alocar memoria sob demanda? Por exemplo, imagine o exerccio feito anteriormente, onde criamos um array para armazenar 5 Contatos. O que aconteceria no caso do usuario precisar cadastrar um sexto Contato? 16 / 22
  • 55. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 56. cas Alocac~ao de Memoria Estatico Ate agora, aprendemos a alocar memoria atraves da declarac~ao de variaveis e arrays. Vimos estrategias para resolver alguns problemas pontuais, tais como: Gerenciar um alto numero de variaveis (atraves de arrays); De
  • 57. nir uma class para associar dados heterog^eneos; O que falta? Mas e se precisarmos alocar memoria sob demanda? Por exemplo, imagine o exerccio feito anteriormente, onde criamos um array para armazenar 5 Contatos. O que aconteceria no caso do usuario precisar cadastrar um sexto Contato? 16 / 22
  • 58. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 59. cas O Comando new Em varias situac~oes nos utilizamos o comando new, geralmente sem entender qual era sua real func~ao; 1 Pessoa [] pes = new Pessoa [10]; A partir de agora, devemos estudar melhor este comando, mas acima de tudo, entender os conceitos que est~ao por tras do seu funcionamento; Devemos lembrar que este tipo de func~ao existe em todas as linguagens de programac~ao, algumas vezes como mesmo nome, outras vezes com nomes diferentes, mas com a mesma aplicac~ao; 17 / 22
  • 60. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 61. cas O Comando new Em varias situac~oes nos utilizamos o comando new, geralmente sem entender qual era sua real func~ao; 1 Pessoa [] pes = new Pessoa [10]; A partir de agora, devemos estudar melhor este comando, mas acima de tudo, entender os conceitos que est~ao por tras do seu funcionamento; Devemos lembrar que este tipo de func~ao existe em todas as linguagens de programac~ao, algumas vezes como mesmo nome, outras vezes com nomes diferentes, mas com a mesma aplicac~ao; 17 / 22
  • 62. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 63. cas Uso do Comando new O comando new e utilizado para alocar memoria: 1 int [] pes = new int [10]; No exemplo acima, solicitamos ao Sistema Operacional que d^e ao nosso programa, espaco su
  • 64. ciente para armazenar 10 numeros inteiros, ou seja: 32bits 10 = 40bytes. Antes de armazenar qualquer dado, precisamos ter um espaco na memoria devidamente alocado. Isto e feito com o comando new. As excec~oes
  • 65. cam por conta das Variaveis de tipos de dados primitivos, que dispensam o uso deste comando, mas que fazem a alocac~ao de espaco na memoria no momento em que as declaramos. Segue exemplo de uso com tamanho informado pelo usuario. 18 / 22
  • 66. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 67. cas Uso do Comando new O comando new e utilizado para alocar memoria: 1 int [] pes = new int [10]; No exemplo acima, solicitamos ao Sistema Operacional que d^e ao nosso programa, espaco su
  • 68. ciente para armazenar 10 numeros inteiros, ou seja: 32bits 10 = 40bytes. Antes de armazenar qualquer dado, precisamos ter um espaco na memoria devidamente alocado. Isto e feito com o comando new. As excec~oes
  • 69. cam por conta das Variaveis de tipos de dados primitivos, que dispensam o uso deste comando, mas que fazem a alocac~ao de espaco na memoria no momento em que as declaramos. Segue exemplo de uso com tamanho informado pelo usuario. 18 / 22
  • 70. 1 package MeuPrograma ; 2 import java . util . Scanner ; 3 public class Programa { 4 public static void main ( String [] args ) { 5 Scanner entrada = new Scanner ( System .in); 6 int tamanho ; 7 String [] nomes ; 8 System . out. println ( Tamanho do array : ); 9 tamanho = entrada . nextInt (); 10 nomes = new String [ tamanho ]; 11 for ( int x = 0; x tamanho ; x ++) { 12 System .out. print ( Nome nro + x + : ); 13 nomes [x] = entrada . nextLine (); 14 } 15 System . out. println (Os + tamanho + nomes s~ao:); 16 for ( int x = 0; x tamanho ; x ++) 17 { 18 System .out. println ( nomes [x]); 19 } 20 } 21 } Usando new para alocar um array em Java
  • 71. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 72. cas A Memoria A Memoria Continua material sobre a memoria e a alocac~ao de memoria. 20 / 22
  • 73. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 74. cas Sumario 1 Sumario 2 Introduc~ao 3 Dados Compostos Heterog^eneos O Problema A Soluc~ao Objetos em Java Exerccio 4 Alocac~ao de Memoria Alocac~ao Din^amica de Memoria 5 Refer^encias Bibliogra
  • 75. cas 21 / 22
  • 76. Sumario Introduc~ao Dados Compostos Heterog^eneos Alocac~ao de Memoria Refer^encias Bibliogra
  • 78. cas Basicas GOODRICH, M. T.; TAMASSIA, R.; Estruturas de dados e algoritmos em Java. 4a Edic~ao. Porto Alegre, 2006 ZIVIANI, N.; Programac~ao de algoritmos com implementac~oes em Java e C++. 1a Edic~ao. Cengage Learning, 2006 Complementares CORMEN, T. H.; LEISERSON, C. E., et al.; Algoritmos - Teoria e Pratica. 4a Edic~ao. S~ao Paulo: Elsevier, 2009 PREISS, B. R.; Estrutura de Dados e Algoritmos. S~ao Paulo: Elsevier, 2001 22 / 22