APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Ateno aos Temas Principais dessa Aula APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Contedo Programtico desta aula O conceito de Estruturas de Dados; O conceito de TAD; Apresentar o conceito de funes; Apresentar o conceito de struct; Apresentar os conceitos de ordenao e pesquisa; Apresentar o conceito de Lista, Pilha e Fila Esttica; Apresentar o conceito de Ponteiro; Apresentar o conceito de Alocao Dinmica; Reviso de Matrizes APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Direto ao Assunto APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Estruturas de Dados so construes de uma linguagem de programao que agregam um ou mais elementos de dados para formar um tipo de dado que armazena uma quantidade maior de informaes.(OLIVEIRA, R., TAVEIRA, G., BOTTINI, J., 2003, p.11) Conceito de Estrutura de Dados APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS O campo da Estruturas de Dados concebido para construir ferramentas para serem incorporadas e usadas pelos programas de aplicao e para encontrar Estruturas de Dados que possam realizar certas operaes rapidamente sem impor muita carga memria do computador.(DROZDEK, A, 2002, P.31) Estruturas de Dados so construes de uma linguagem de programao que agregam um ou mais elementos de dados para formar um tipo de dado que armazena uma quantidade maior de informaes.(OLIVEIRA, R., TAVEIRA, G., BOTTINI, J., 2003, p.11) Conceito de Estrutura de Dados APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Armazenamento da Informao APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Armazenamento da Informao Construo de Algoritmos APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Armazenamento da Informao Construo de Algoritmos Caractersticas das ED APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Armazenamento da Informao Construo de Algoritmos Caractersticas das ED C O N H E C I M E N T O S
S
L I D O S O
(PREISS, B. R., 2000, p.1) APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Um tipo de dado abstrato pode ser definido como um conjunto de valores e uma coleo de operaes que atuam sobre esses valores. As operaes devem ser consistentes com os tipos de valores. (MORAES, C.R., 2001, p.5) Tipo de Dados Abstratos(TDA) APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS FAZER APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS FAZER Exemplos 1 Gravar um vetor em um arquivo binrio 2 Usar o TDA int APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS FAZER APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS FAZER Exemplo Como se processa o comando de atribuio? APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS muito extenso, mas apaixonante. Procurei desmistificar, abusando de figuras, cores e exemplos clssicos bem escolhidos. Sei que um grande desafio, mas ns, professores, estaremos com vocs o tempo todo para que, ao final do curso, possamos dizer: conseguimos. Contedo da Disciplina APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS void asterisco() { int x; for(x=1: x<=50; x++) cout<<*; } 2 a AULA - FUNES APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 3 a AULA - STRUCT APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 3 a AULA - STRUCT struct cadastro { char nome[30], e-mail[20], plano[20], end [40], tel1[15], tel2[15]; int idade; }; APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 4 a AULA - ORDENAO / PESQUISA APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 5 a AULA - LISTAS LINEARES APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 6 a AULA PILHA(LIFO) APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 7 a AULA FILA(FIFO) APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 8 a AULA ALOCAO DINMICA LISTA ENCADEADA APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 8 a AULA ALOCAO DINMICA LISTA ENCADEADA APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 9 a AULA LISTAS LINEARES PILHA DINMICA FILA DINMICA APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 10 a AULA LISTAS DUPLAMENTE ENCADEADAS APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS No acumule aulas porque elas esto muito extensas . Lembre-se de que Algoritmos e Estruturas de Dados formam uma parceria perfeita, contribuindo para seu aperfeioamento como desenvolvedor. Reveja todos os conceitos da aula. Aprimore seus conhecimentos pesquisando no material didtico e na bibliografia recomendada (procure na Biblioteca Virtual/ SIA ou na Biblioteca do campus). METODOLOGIA DE ESTUDO APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Assista aos filmes, se estiverem disponveis na aula, ou ento, pesquise na Internet. Esteja sempre em contato com seu professor on-line. Assista a esta aula quantas vezes for necessrio.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS SER? Que tal pesquisar o que significa APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS SER? Que tal pesquisar o que significa E, o mais importante: ns, professores de Estrutura de Dados, vamos fazer de tudo para que isso se torne real porque j abstramos muito nesta primeira aula. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 33 DROZDEK, A. Estruturas de Dados e Algoritmos em C++. So Paulo: Pioneira Thomson, 2002. MORAES, C. R. Estruturas de Dados e Algoritmos. So Paulo: Berkley Brasil, 2001. PREISS, B. R. Estruturas de Dados e Algoritmos. Rio de Janeiro: Campus, 2000. SENAC.DN. Estruturas de Dados. OLIVEIRA, R.S., TAVEIRA, G. A.,BOTINI, J. Ed. Senac Nacional, 1999. Referncias Bibliogrficas APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 34 REVISO - MATRIZES APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS MATRIZES 2 3 1 13 A 4x1
2 3 1 13 A 1x4
a 11 a 12 a 13 ... a 1n a 21 a 22 a 23 ... a 3n a 31 a 32 a 33 ... a 3n ... ... ... ... ... a m1 a m1 a m2 ... a mn A mxn
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS unidimensional bidimensional MATRIZES 2 3 1 13 A 4x1
2 3 1 13 A 1x4
a 11 a 12 a 13 ... a 1n a 21 a 22 a 23 ... a 3n a 31 a 32 a 33 ... a 3n ... ... ... ... ... a m1 a m1 a m2 ... a mn A mxn
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Operao Multiplicar por um escalar 4 6 2 26 D 4x1
2 3 1 13 A 4x1
X 2 = APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Operao Somar duas matrizes 2 3 1 13 A 6 9 3 39 S + = 4 6 2 26 B APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Operao: calcular mdia aritmtica 4 5 6 10 A 6 6 7.5 7 M + / 2 = 8 7 9 4 B APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Operao: somar os elementos da matriz 4 5 6 10 A Soma = 25 APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Dimensionando Matrizes APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Dimensionando Matrizes APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Dimensionando Matrizes int float double char long long int ... APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 2) Duas notas e a mdia de 50 alunos. 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 2) Duas notas e a mdia de 50 alunos. 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 2) Duas notas e a mdia de 50 alunos. 1) Guardar 10 idades. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 3) Matrcula e CR de 60 alunos. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 3) Matrcula e CR de 60 alunos. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 4) Sexo de 30 pessoas. 3) Matrcula e CR de 60 alunos. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 4) Sexo de 30 pessoas. 3) Matrcula e CR de 60 alunos. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 5) Nome de uma pessoa. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 5) Nome de uma pessoa. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 5) Nome de uma pessoa. 6) Nomes de 10 pessoas. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 5) Nome de uma pessoa. 6) Nomes de 10 pessoas. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Vetor de tamanho 5 e do tipo inteiro de quatro bytes Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Vetor idades Vetor de tamanho 5 e do tipo inteiro de quatro bytes Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Vetor idades Vetor de tamanho 5 e do tipo inteiro de quatro bytes Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Por que a primeira varivel tem deslocamento 0? Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS endereo-base + deslocamento * tamanho do tipo O nome de uma matriz corresponde ao primeiro endereo do conjunto de endereos da Memria Principal. Para localizarmos um elemento da matriz, usamos a frmula abaixo.
Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 10000 endereo-base + deslocamento * tamanho do tipo endereo-base Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 10000 endereo-base + deslocamento * tamanho do tipo Armazenamento na Memria Principal endereo-base + 2 * 4 = 1008 APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 10000 endereo-base + deslocamento * tamanho do tipo Armazenamento na Memria Principal endereo-base + 2 * 4 = 1008 10008 APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 10000 endereo-base + deslocamento * tamanho do tipo Armazenamento na Memria Principal endereo-base 10012 10016 10004 10008 APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Armazenamento na Memria Principal Conclui-se que 0 significa que no existe deslocamento em relao ao endereo-base. APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS E onde indicamos isso? Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Observe o vetor idades[5]. Ele formado por cinco variveis todas com nome, idades. Dentro de um par de colchetes, fica o deslocamento.
Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Vetor de char Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Vetor de char Armazenamento na Memria Principal nome[1] = toupper(nome[1]); REnato APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS O \0 serve para finalizar o vetor de char. Dessa forma, no se esquea de acrescentar mais uma posio quando dimensionar um vetor de char.
Vetor de char Armazenamento na Memria Principal APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Numrico ou vetor de char unidimensional DECLARAO / ATRIBUIO APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Numrico ou vetor de char unidimensional DECLARAO / ATRIBUIO APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Numrico ou vetor de char unidimensional DECLARAO / ATRIBUIO APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Numrico ou vetor de char Bidimensional DECLARAO / ATRIBUIO APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Numrico ou vetor de char Bidimensional DECLARAO / ATRIBUIO APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS ATRIBUIO Numrico Bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Numrico ou char de um caracter unidimensional TRECHO de ENTRADA APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Numrico ou char de um caracter unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Vetor de char unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Vetor de char unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Numrico bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA Numrico bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA char bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de ENTRADA char bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de SADA Numrico ou char (Matriz Coluna) unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de SADA Numrico ou char (Matriz Linha) unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de SADA Vetor de char unidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de SADA Numrico bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS TRECHO de SADA char bidimensional APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Vamos ao Bate Pronto APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS 1) APRESENTANDO AS ESTRUTURAS DE DADOS AulA1 ESTRUTURA DE DADOS Resumindo