Prévia do material em texto
1 Estrutura de Dados 2 ESTRUTURA DE DADOS Mauricio Tanizaka (Mauricio.Tanizaka@italo.edu.br) Área: Negócios Curso: ADS – Análise e Desenvolvimento de Sistemas Módulo: 3 2020.1 Conceitos Básicos Mauricio Tanizaka 3 Conceitos Básicos 4 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores Binary digIT - Dígito Binário: é uma posição elementar de memória ou a menor unidade de informação do computador. Ex.: 0 = bit Zero 1 = bit Um 1.1. Definições 1.1.1. Bit. Conceitos Básicos 5 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições BinarY TErm - Termo Binário: é a unidade básica de tratamento de informação. Ex.: 0 = BYTE Numérico F, f = BYTE Caracter %, /, ? = BYTE Símbolo 1.1.2. Byte. Conceitos Básicos 6 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições É o valor que o algarismo tem por sí, independente da posição que ocupa. Ex.: 2037 2 = Dois 3 = Três 1.1.3. Sistemas de Numeração. 1.1.3.1. Valor Absoluto. Conceitos Básicos 7 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições É o valor que o algarismo tem em relação a posição que ele ocupa. Ex.: 2037 2 = Dois Mil 3 = Trinta 1.1.3. Sistemas de Numeração. 1.1.3.2. Valor Relativo. Conceitos Básicos 8 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Espaços reservados aos diferentes dados que, relacionados, compõem um registro. É o conjunto de caracteres (dados) que contém uma característica. Um campo para ser definido precisa ter um nome, um tamanho e um formato. Ex.: Azul = Cor São Paulo = Cidade 1Kg = Peso 1.1.4. Estrutura da Informação. 1.1.4.1. Campo (Field). Conceitos Básicos 9 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Corresponde a um conjunto de bytes. Constitui uma unidade básica representativa de informação, identificável e possível de definir quanto ao tamanho e formato. Um item de dado descreve um determinado atributo referente a uma entidade específica. 1.1.4. Estrutura da Informação. 1.1.4.1. Item de Dado ou Campo (Data Item ou Field). Conceitos Básicos 10 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Entidade Atributos (itens de dados) Funcionário Nome Endereço Salário Estado Civil Ex. : 1.1.4. Estrutura da Informação. 1.1.4.1. Item de Dado ou Campo (Data Item ou Field). Conceitos Básicos 11 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições É interessante observar que "campo" está mais ligado a uma determinada porção física da memória de armazenagem, enquanto que item de dado tem significado mais lógico, independente de posições físicas. 1.1.4. Estrutura da Informação. 1.1.4.1. Item de Dado ou Campo (Data Item ou Field). Conceitos Básicos 12 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Corresponde a um agrupamento de itens de dados ao qual pode ser referenciado como um conjunto único. Podemos distinguir 2 formações de grupo de dados: 1.1.4. Estrutura da Informação. 1.1.4.2. Grupo de Dados ou Agregado de Dados (Data Group ou Data Aggregate). Conceitos Básicos 13 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições a) Vetor: Um vetor é um conjunto unidimensional de itens de dados relacionados entre sí. Vetor Itens de Dados Data Dia, Mês, Ano Ex. : 1.1.4. Estrutura da Informação. 1.1.4.2. Grupo de Dados ou Agregado de Dados (Data Group ou Data Aggregate). Conceitos Básicos 14 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições b) Grupo Repetitivo: Corresponde à ocorrência múltipla de 1 conjunto de itens de dados. Um grupo repetitivo pode ocorrer com item de dados, com vetores ou mesmo grupos repetitivos. 1.1.4. Estrutura da Informação. 1.1.4.2. Grupo de Dados ou Agregado de Dados (Data Group ou Data Aggregate). Conceitos Básicos 15 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições b) Grupo Repetitivo: Exemplo: 1) Histórico de Salário: Data, Salário 2) Horas Apropriadas: Nro. do item, divisão, local, projeto, tarefa, horas em projetos 1.1.4. Estrutura da Informação. 1.1.4.2. Grupo de Dados ou Agregado de Dados (Data Group ou Data Aggregate). Conceitos Básicos 16 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições b) Grupo Repetitivo: Histórico de Salário Data, Salário Horas Apropriadas Nro. do item, divisão, local, projeto, tarefa, horas em projetos Ex. : 1.1.4. Estrutura da Informação. 1.1.4.2. Grupo de Dados ou Agregado de Dados (Data Group ou Data Aggregate). Conceitos Básicos 17 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Conjunto de campos relacionados a uma determinada da entidade (assunto ou coisa). Conjunto de dados que devem ser tratados como uma unidade de informação. Ex.: Veículo = Marca, Modelo, Ano de Fabricação, etc. Pessoa = Nome, Data de Nascimento, Sexo, etc. Aluno = ID, Nome, Curso, Módulo, etc. 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). Conceitos Básicos 18 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Um registro consiste num conjunto de itens de dados e/ou grupos de dados, reunidos de forma a caracterizar uma ocorrência de um conjunto de atributos, de uma determinada entidade. No processamento de arquivos mais convencionais como seqüencial, direto ou indexado seqüencial, cada registro fica caracterizado por uma chave identificadora do registro. 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). Conceitos Básicos 19 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Registro funcionário Chave: número de funcionário Registro peça Chave: número da peça Registro pedido de compra Registro conta-corrente Chave: número do pedido Chave: número da conta Exemplo: 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). Conceitos Básicos 20 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Com o desenvolvimento de técnicas mais modernas no armazenamento e recuperação de informações como: recuperação através de múltiplas chaves, banco de dados, sistemas com listas invertidas etc; não se pode mais associar o conceito de 1 chave por registro. 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). ConceitosBásicos 21 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Um registro em Banco de Dados não é necessariamente linear, como acontece com métodos de arquivamento convencional. Podemos obter diversas disposições entre os seus componentes de forma a obter hierarquias, relações mestre- detalhes etc. Assim, um registro também não possui um tamanho necessariamente fixo, pela simples existência de grupos repetitivos. 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). Conceitos Básicos 22 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições O registro componente de um arquivo em que todos os registros tem o mesmo comprimento (ocupam o mesmo número de bytes na memória). 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). 1.1.4.3.1. Tamanho do Registro. ❖ Registro de Tamanho Fixo. Conceitos Básicos 23 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Vantagem Facilidade de programação, menor número de instruções Desvantagem Maior espaço de armazenamento, maior tempo de acesso, (entrada / saída) Ex.: Registro de Cursos 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). 1.1.4.3.1. Tamanho do Registro. ❖ Registro de Tamanho Fixo. Conceitos Básicos 24 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Os registros do arquivo variam de tamanhos dentro de limites especificados. Normalmente o registro de tamanho variável possui uma parte fixa e uma parte variável. 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). 1.1.4.3.1. Tamanho do Registro. ❖ Registro de Tamanho Variável. Conceitos Básicos 25 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Vantagem Otimização da ocupação do espaço físico, processamento e tempo de acesso mais rápido. Desvantagem Lógica do programa mais difícil, variar definições para um mesmo registro. Ex.: Registro de Alunos 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). 1.1.4.3.1. Tamanho do Registro. ❖ Registro de Tamanho Variável. Conceitos Básicos 26 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Vantagem Melhor aproveitamento de memória principal ocupada pelos dados utilizados para aplicações quando não se conhece tamanho dos dados a serem processados. Desvantagem Lógica complexa controle de I/O pelo programador. Ex.: Registro de Ocorrências e Anotações 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). 1.1.4.3.1. Tamanho do Registro. ❖ Registro de Tamanho Indefinido. Conceitos Básicos 27 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições É cada um dos elementos bem definidos de um Arquivo, por exemplo, em um sistema que controla transações bancárias, cada registro pode ser constituído pelo número da conta, data da transação, código da transação, valor da transação e saldo. 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). 1.1.4.3.2. Tipo de Registro. ❖ Registro Lógico. Conceitos Básicos 28 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições • Sequência de itens, sendo cada item campo ou atributo. • Cada campo representa uma característica ou propriedade, possui nome, tipo e comprimento. • Comprimento pode ser constante ou variável. Ex.: Registro de um Aluno 1.1.4. Estrutura da Informação. 1.1.4.3. Registro (Record - Reg=Register). 1.1.4.3.2. Tipo de Registro. ❖ Registro Lógico. Conceitos Básicos 29 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições É o registro que diz respeito à quantidade de informação transmitida à memória ou retirada dela em consequência de uma única instrução. 1.1.4. Estrutura da Informação. 1.1.4.3.2. Tipo de Registro. ❖ Registro Físico. 1.1.4.3. Registro (Record - Reg=Register). Conceitos Básicos 30 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições • Armazenamento do arquivo em bloco de registros lógicos chamado registro físico (leitura/gravação) • Tamanho do bloco coincide com uma unidade de armazenamento do meio físico (Ex.: setor, trilha) • Cada bloco armazena um número inteiro de registros Ex.: Registro de lido de um Setor do Disco 1.1.4. Estrutura da Informação. 1.1.4.3.2. Tipo de Registro. ❖ Registro Físico. 1.1.4.3. Registro (Record - Reg=Register). Conceitos Básicos 31 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Conjunto de registros Lógicos sobre um determinado assunto, cada um representando um objeto ou entidade. Ex.: Arquivo de Cursos Arquivo de Alunos Arquivo de Profesores 1.1.4. Estrutura da Informação. 1.1.4.4. Arquivo (File). Conceitos Básicos 32 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Um arquivo é (normalmente) uma coleção de registros de um mesmo tipo. Este conceito de arquivo tem origem no processamento de arquivos convencionais. 1.1.4. Estrutura da Informação. 1.1.4.4. Arquivo (File). Conceitos Básicos 33 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Campo, que abriga valores que individualizam cada registro; isto é, cada valor desse item identifica univocamente um registro. Ex.: CPF CNPJ Placa Veicular 1.1.4. Estrutura da Informação. 1.1.4.5. Chave ou Índice (Key ou Index). Conceitos Básicos 34 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições É uma Chave que apresenta um valor diferente para cada Registro do Arquivo. Ex.: CPF CNPJ Placa Veicular 1.1.4. Estrutura da Informação. 1.1.4.5. Chave ou Índice (Key ou Index). 1.1.4.5.1. Chave Primária (Primary Key). Conceitos Básicos 35 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Difere de uma chave primária pela possibilidade de ter seu valor repetido em diferentes registros. Usado para criar Grupamentos de Registros. Ex.: Agência de uma Conta Corrente Turma de um Curso 1.1.4.5. Chave ou Índice (Key ou Index). 1.1.4.5.2. Chave Secundária (Secondary Key). 1.1.4. Estrutura da Informação. Conceitos Básicos 36 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições É uma chave utilizada para identificar o(s) registro(s) desejado(s) em uma operação de acesso a um arquivo. Ex.: CNPJ Agência e Conta Corrente 1.1.4.5. Chave ou Índice (Key ou Index). 1.1.4.5.2. Chave de Acesso (Access Key). 1.1.4. Estrutura da Informação.Conceitos Básicos 37 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Valor da chave de acesso em uma operação. Ex.: Placa Veicula = FGH-2897 1.1.4.6. Argumento de Pesquisa. 1.1.4. Estrutura da Informação. Conceitos Básicos 38 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições Valor de uma chave primária em um registro. Ex.: CNPJ = 20.123.456/0001-78 CPF = 20.456.458-15 1.1.4.7. Chave de Registro. 1.1.4. Estrutura da Informação. Conceitos Básicos 39 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos ► 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.1. Definições É a chave primária utilizada para estabelecer a sequência na qual devem ser dispostos (física ou logicamente) os registros de um arquivo. Ex.: Nome 1.1.4.8. Chave de Ordenação. 1.1.4. Estrutura da Informação. Conceitos Básicos 40 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos • Armazenamento de pequeno volume de dados o Distribuição simples dos registros em um arquivo. o Armazenamento eficiente. ▪ Frequência de acessos aleatórios não deve ser elevada. • Armazenamento de grande volume de dados e/ou aumento da complexidade dos acessos o Problemas de eficiência no armazenamento dos arquivos e dos acessos aos registros. o Solução: Técnicas sofisticadas de armazenamento e recuperação de dados. 1.2.1.1. Tipos de Armazenamento. 1.2.1. Armazenamento. Conceitos Básicos 41 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos • Arquivo Sequencial Simples • Arquivo Sequencial Ordenado • Arquivo Sequencial-Indexado • Arquivo Indexado • Arquivo Direto • Arquivo Invertido 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. Conceitos Básicos 42 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Nesse tipo de arquivo, os registros são gravados em ordem arbitrária sequencial por suas respectivas chaves, havendo pois uma perfeita ordenação, tanto lógica quanto física. A chave de cada registro é um atributo comum a todos eles e, em princípio, capaz de individualizar cada um. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.1. Arquivo Sequencial Simples. Conceitos Básicos 43 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Características • Registros são distribuídos em uma ordem arbitrária, um após o outro, dentro da área. • Ordem pode ser a mesma da geração dos registros. Vantagem Simplicidade. Desvantagem Busca de registro através de acesso sequencial. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.1. Arquivo Sequencial Simples. Conceitos Básicos 44 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Os registros estão dispostos ordenadamente, obedecendo à sequência determinada por uma chave primária, chamada de chave de ordenação. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Ordenado. Conceitos Básicos 45 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos EMPREGADO Matricula Nome Idade Salário 1000 Ademar 32 5000 1010 Roberto 25 7500 1020 Gerson 43 6000 1030 Yeda 23 9000 1040 Bernardo 21 4500 1050 Ângela 29 5000 Chave de ordenação Chave de pesquisa: 1030 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Ordenado. Conceitos Básicos 46 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos 1 2 4 5 (Endereço Físico) 3 Dados 5 dados 10 dados 12 dados ... 3 (Endereço Lógico - Chave) 1.2.1. Armazenamento. Conceitos Básicos 47 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Características • Neste tipo de arquivo, os registros são gravados em ordem sequencial por suas respectivas chaves, havendo uma organização perfeita, tanto lógica quanto física. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Ordenado. Conceitos Básicos 48 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Características • Os registros possuem o mesmo formato, assim cada valor de atributo está associado ao nome do atributo pela sua posição relativa no registro. A descrição do formato de registro, denominada layout do registro é externa aos dados que ela descreve. Esta descrição vem declarada nos programas através de declarações de tipos e tamanhos. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Ordenado. Conceitos Básicos 49 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Características • Como o formato é único para todas as ocorrências do registro, campos alfanuméricos são dimensionados pelo tamanho máximo ocorrendo, portanto, desperdício de posições de armazenamento. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Ordenado. Conceitos Básicos 50 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Vantagens • Acesso sequencial eficiente o Operações de acesso a um registro onde a chave de acesso coincide com a chave de ordenação. o Operação de exibição dos registros do arquivo na sequência da chave de ordenação. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Ordenado. Conceitos Básicos 51 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Desvantagens • Operações de acesso a um registro onde a chave de acesso não coincide com a chave de ordenação. • Operações de modificação no arquivo: inserção, alteração e remoção de registros. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Ordenado. Conceitos Básicos 52 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Operações • Acesso a um Registro • Inserção de um Registro • Exclusão de um Registro • Alteração de um Registro • Leitura Exaustiva dos Registros • Reorganização do Arquivo 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Ordenado. Conceitos Básicos 53 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Motivação • Em um arquivo sequencial, quando o volume de acessos aleatórios torna-se muito grande, é necessário um estruturade acesso mais eficiente. Definição • Um arquivo sequencial-indexado é um arquivo sequencial acrescido de um índice. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.2. Arquivo Sequencial Indexado. Conceitos Básicos 54 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Um arquivo consta de 3 áreas: • Área de índices o Arquivo sequencial criado pelo sistema, no qual cada registro estabelece uma divisão na área primária e contém o endereço do início do segmento e a chave mais alta do mesmo. o Desta maneira, o sistema acessa de maneira direta um segmento da área de índices, de forma semelhante a procura de um capítulo de um livro a partir de seu índice. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.3. Arquivo Sequencial Indexado. Conceitos Básicos 55 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Um arquivo consta de 3 áreas: • Área primária (principal) o Reservada para os registros de dados, classificados em ordem ascendente pelo seu campo chave. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.3. Arquivo Sequencial Indexado. Conceitos Básicos 56 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Um arquivo consta de 3 áreas: • Área de excedentes (overflow) o Reservada para o acréscimo de novos registros que não podem ser colocados na área principal quando se produz uma inserção no arquivo. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.3. Arquivo Sequencial Indexo. Conceitos Básicos 57 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Motivação • Nos arquivos sequenciais ordenados manter os registros fisicamente ordenados, com o objetivo de prover acesso serial eficiente, dificulta a inserção de um registro exigindo a utilização de áreas de extensão e da efetivação de reorganizações periódicas. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.4. Arquivo Indexado. Conceitos Básicos 58 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Motivação • À medida que decresce a frequência de acessos seriais e cresce os acessos aleatórios, a manutenção da sequencialidade é inviável. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.4. Arquivo Indexado. Conceitos Básicos 59 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Definição • Existência de um ou mais índices para acesso aos registros, não havendo qualquer compromisso com a ordem física de instalação dos registros. • Considera a possibilidade de acesso por qualquer campo do registro! 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.4. Arquivo Indexado. Conceitos Básicos 60 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Vantagens • Operação de inserção mais eficiente. • Possibilidade de acessos aleatórios via índices. Desvantagens • Acesso serial ineficiente. • Necessidade de manutenção de índice (inserções ou alterações envolvendo atributos associados aos índices). 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.4. Arquivo Indexado. Conceitos Básicos 61 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Motivação • Acesso rápido aos registros especificados por argumentos de pesquisa, sem percorrer uma estrutura auxiliar (índice). Definição • Em um arquivo direto, ao invés de um índice é utilizada uma função (hashing) que calcula o endereço do registro a partir do valor da chave do registro. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.5. Arquivo Direto. Conceitos Básicos 62 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos • Semelhança com o Arquivo Indexado o O acesso aleatório é eficiente. • Diferenças para o Arquivo Indexado o No indexado, o endereço é independente do valor da chave. o Não são previstos, no arquivo direto, acessos seriais. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.5. Arquivo Direto. Conceitos Básicos 63 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Motivação • As organizações de arquivos vistas até aqui foram voltadas para a chave primária. • Existem, entretanto, organização de arquivos voltada para chaves secundárias que visam resolver o problema de um conjunto de registros. • A cada um dos valores da chave de acesso é associada uma lista de identificação de registros, chamada lista invertida. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.6. Arquivo Invertido. Conceitos Básicos 64 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos • Estrutura de um arquivo invertido o Inversão: é o conjunto de listas invertidas associadas a uma chave de acesso. o Um arquivo pode ter uma ou mais inversões. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.6. Arquivo Invertido. Conceitos Básicos 65 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Vantagens • Permite o acesso direto a um conjunto de registros 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.6. Arquivo Invertido. Conceitos Básicos 66 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos Desvantagens • As listas só são válidas para aquela disposição física o Se o arquivo sofrer uma reorganização, as inversões terão que ser regeradas • Para superar esta desvantagem, pode-se implementar as listas por chaves primárias. o Tem-se uma perda de eficiência. 1.2.1.2. Estratégias de Organização de Arquivos. 1.2.1. Armazenamento. 1.2.1.2.6. Arquivo Invertido. Conceitos Básicos 67 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos o Estrutura de um Arquivo Invertido ▪ Ex.: Arquivo com uma Inversão associada a IDADE EMPREGADO Matr Nome Idade Salário 1000 ANTÔNIO 25 5000 1050 AFONSO 20 7000 2400 CRISTIAN 25 5500 1850 EDSON 21 5500 1440 YEDA 22 5000 3150 SANDRA 22 7000 2000 FLÁVIA 20 5500 1900 ROBERTO 20 10000 1 2 3 4 5 6 7 8 Conceitos Básicos 68 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos o Estrutura de um Arquivo Invertido ▪ Ex.: Arquivo com uma Inversão associada a IDADE Inversão IDADE ENDEREÇO 20 2 7 8 21 4 22 5 6 25 1 3 Conceitos Básicos 69 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1.Definições ► 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.2. Arquivos o Estrutura de um Arquivo Invertido ▪ Ex2.: Inversão associada a SALÁRIO, por chave primária da Entidade Empregado SALÁRIO NÚMEROS 5000 1000 1440 5500 1850 2000 2400 7000 1050 3150 10000 1900 Conceitos Básicos 70 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). Uma Base de Dados é constituída de um conjunto de arquivos relacionados entre si. Alguns autores consideram Banco de Dados como um conjunto de Base de Dados, principalmente tendo como idéia principal a constituição de 1 conjunto de dados que refletisse todo o empreendimento ou a empresa. Neste estudo no entanto, vamos considerar os 2 termos equivalentes, passando a utilizar tanto um como outro. Conceitos Básicos 71 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). Corresponde a um conjunto de programas para administrar o Banco de Dados. Assim os programas de aplicação não têm acesso aos dados do Banco de Dados diretamente. Todas as chamadas passam através do SGBD. É o software responsável pelo gerenciamento (armazenamento e recuperação) dos dados no Banco de Dados. 1.3.1. SGBD - SISTEMAS DE GERÊNCIA DE BANCO DE DADOS (DBMS - Data Base Management System). Conceitos Básicos 72 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). Corresponde ao conjunto composto de: a) Base de Dados / Banco de Dados b) SGBD 1.3.2. SISTEMA DE BANCO DE DADOS. Conceitos Básicos 73 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). O ambiente de Banco de Dados pode ser considerado como composto pelos seguintes elementos: a) Dados de fonte b) SGBD 1.3.3. AMBIENTE DE BANCO DE DADOS. c) Banco de Dados (armazenado) d) Administrador do Banco de Dados (e instrumentos) Conceitos Básicos 74 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). e) Modelo de dados f) Submodelos de dados 1.3.3. AMBIENTE DE BANCO DE DADOS. g) Comunidade de usuários h) Normas e procedimentos de operação Conceitos Básicos 75 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). "Um Banco de Dados é um conjunto de dados estruturado de maneira adequada de forma que pode ser utilizado com eficiência por uma diversidade de aplicações dentro de uma organização". Conceitos Básicos 76 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). Um arquivo convencional, seja seqüencial, indexado-seqüencial ou direto, normalmente é constituído por um conjunto de registros lineares que não possuem informações de relação entre si. O acesso individual às informações contidas nos registros é feito com base na chave do registro. Nos casos seqüenciais, a relação entre registros reside somente na ordem classificada da chave. Conceitos Básicos 77 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). Assim quando dizemos um conjunto estruturado de dados, significa a existência de informações de relação entre os dados, além dos próprios dados de interesse ao usuário. O conjunto estruturado de dados constitui um modelo simbólico de dados do conjunto de informações que representa de forma simbólica e descritiva do sistema físico constituído por entidades e suas propriedades. Conceitos Básicos 78 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). É o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para consulta e atualização pelo usuário. Conceitos Básicos 79 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). a) VISÃO INTERNA - É aquela vista pelo responsável pela manutenção e desenvolvimento do SGBD. Existe a preocupação com a forma de recuperação e manipulação dos dados dentro do Banco de Dados. 1.3.4. VISÕES DO BANCO DE DADOS. Conceitos Básicos 80 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). b) VISÃO CONCEITUAL - É aquela vista pelo analista de desenvolvimento e pelo administrador das bases de dados. Existe a preocupação na definição de normas e procedimentos para manipulação dos dados, para garantir a sua segurança e confiabilidade, o desenvolvimento de sistemas e programas aplicativos e a definição no banco de dados de novos arquivos e campos. Na visão conceitual, existem 2 (duas) linguagens de operação que são: 1.3.4. VISÕES DO BANCO DE DADOS. Conceitos Básicos 81 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). b) VISÃO CONCEITUAL 1.3.4. VISÕES DO BANCO DE DADOS. I. Linguagem de definição dos dados (DDL) - Linguagem que define as aplicações, arquivos e campos que irão compor o banco de dados (comandos de criação e atualização da estrutura dos campos dos arquivos). Conceitos Básicos 82 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). b) VISÃO CONCEITUAL 1.3.4. VISÕES DO BANCO DE DADOS. II. Linguagem de manipulação dos dados (DML) - Linguagem que define os comandos de manipulação e operação dos dados (comandos de consulta e atualização dos dados dos arquivos). Conceitos Básicos 83 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). c) VISÃO EXTERNA - É aquela vista pelo usuário que opera os sistemas aplicativos, através de interfaces desenvolvidas pelo analista (programas), buscando o atendimento de suas necessidades. 1.3.4. VISÕES DO BANCO DE DADOS. Conceitos Básicos 84 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos ► 1.3. Banco de dados 1.4. Funções 1.5. Vetores 1.3. BASE DE DADOS/BANCO DE DADOS (Data Base ou Data Bank). 1.3.4. VISÕES DO BANCO DE DADOS. UTILIZAÇÃO DAS APLICAÇÕES DESENVOLVIDAS VISÃO EXTERNA DESENVOLVIMENTO DE APLICAÇÕES UTILIZANDO RECURSOS DO S.G.B.D VISÃO CONCEITUAL DESENVOLVIMENTO DO S.G.B.D VISÃO INTERNA Conceitos Básicos 85 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções1.5. Vetores 1.4. FUNÇÕES. Dividir o programa em subprogramas é útil para deixar mais fácil de depurá-lo e de se reutilizar código. Temos dois tipos de subprogramas: o Procedimentos o Funções Conceitos Básicos 86 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. Procedimentos e funções são trechos de código que são separados do fluxo principal do programa e podem ser chamadas uma ou mais vezes. O funcionamento de um procedimento e uma função é muito similar. A diferença entre procedimento e função está no fato de que a função retorna explicitamente um valor e a procedimento não. Conceitos Básicos 87 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. Quando um procedimento ou uma função é chamada durante a execução de um programa: a) A execução do programa desvia para o subprograma (procedimento ou função). b) Executa o subprograma (procedimento ou função) chamado. c) E recomeça a execução do programa na linha após a chamada do subprograma (procedimento ou função). Conceitos Básicos 88 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. inicio … … escreva; a=a+1; ....... fimalgoritmo subprograma inicio 1a. instrução 2a. instrução ... última instrução fimsubprograma 1ª última Conceitos Básicos 89 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. o Vantagens na utilização de procedimentos e funções. ▪ Melhorar a clareza e compreensão do programa; ▪ Diminui o tamanho do código; ▪ Facilita a alteração; ▪ Diminui a quantidade de erros; ▪ Diminui a complexidade; ▪ Facilita o gerenciamento; ▪ Independência; ▪ Reutilização; etc. Conceitos Básicos 90 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.1. Procedimento. ▪ É um subprograma que não retorna nenhum valor (corresponde ao procedure do Pascal). ▪ Deve ser definido após a declaração das variáveis. ▪ É ativado ao ser chamado no programa principal. ▪ Pode ou não ter parâmetros. Conceitos Básicos 91 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.1. Procedimento. 1.4.1.1. Sintaxe. procedimento <identificador> ([var] <parâmetros>) var <declaração de variáveis locais> inicio <lista de comandos> fimprocedimento Conceitos Básicos 92 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.1. Procedimento. 1.4.1.1. Sintaxe. ❑ Identificador: nome do procedimento também tratado como identificador. ❑ Passagem de parâmetros por referência: utiliza-se a construção VAR antes dos identificadores para indicar a passagem por referência. Os identificadores são separados por vírgula. Conceitos Básicos 93 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.1. Procedimento. 1.4.1.1. Sintaxe. ❑ Parâmetros: Entre um mesmo tipo de dados são separados por vírgula. Entre tipos de dados a separação é feita com ponto-e-vírgulas ';'. ❑ Toda vez que precisarmos chamar o procedimento devemos chamar por esse nome/identificador. Conceitos Básicos 94 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.1. Procedimento. 1.4.1.1. Sintaxe. ❑ As declarações de variáveis dentro do bloco do procedimento, são opcionais. ❑ O nome do procedimento obedece as mesmas regras de nomenclatura das variáveis. Conceitos Básicos 95 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.1. Procedimento. 1.4.1.2. Parâmetro. ❑ Parâmetro é um valor que é fornecido à função quando ela é chamada. ❑ É passado um valor para que a função execute um determinado cálculo. ❑ A lista de parâmetros e tipos, delimitada pelos parênteses no cabeçalho do procedimento, também é opcional. Conceitos Básicos 96 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.1. Procedimento. 1.4.1.2. Parâmetro. ❑ A declaração de parâmetros é feita de maneira semelhante à declaração de variáveis. Conceitos Básicos 97 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.1. Procedimento. 1.4.1.3. Exemplo 1. Algoritmo“Ola” var nome:literal procedimento elogio inicio Escreva("Bom dia “ , nome , " seja bemvindo!") fimprocedimento //Programa Principal inicio Escreva(" Informe o seu nome: ") Leia(nome) elogio fimalgoritmo Conceitos Básicos 98 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.2. Funções. ▪ A estrutura de uma função é muito parecida com um procedimento. ▪ Pode-se imaginar que uma função é um procedimento com características especiais quanto ao retorno de valores. ▪ A função é um subprograma que pode agir sobre os dados e retornar um único valor para o programa principal. Conceitos Básicos 99 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.2. Funções. ▪ Uma característica que distingue uma função de um procedimento é que a função pode ser impressa, atribuída ou participar de cálculos como se fosse uma variável qualquer. ▪ Isso por que ela tem um valor retorno. Conceitos Básicos 100 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.2. Funções. 1.4.2.1. Sintaxe. funcao <identificador> ([var] <parâmetros>) <tipo de retorno> var <declaração de variáveis locais> inicio <lista de comandos> retorne <variável de retorno> fimfuncao Conceitos Básicos 101 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.2. Funções. 1.4.2.2. Exemplo 1. Algoritmo"Soma" var a,b, result: inteiro funcao ImprimeSoma(x:inteiro;y:inteiro):inteiro Var soma:inteiro inicio soma <- x + y retorne soma fimfuncao {Programa Principal} inicio Escreva("Entre com o primeiro valor:" ) Leia(a) Escreva("Entre com o segundo valor:" ) Leia(b) result <- ImprimeSoma(a,b) Escreval("A soma dos valores é igual a: ", result) fimalgoritmo x e y: argumentos de entrada da Função Soma: variável local, armazena o valor que será retornado pela função Como o valor calculado retorna para o algoritmo principal? result ImprimeSoma Retorne a e b: são variáveis de entrada do Programa ImprimeSoma: é a Função que será chamada pelo Programa a recebe o valor de x, b recebe o valor de y soma retorna o Resultado de x + Y para ImprimeSoma Conceitos Básicos 102 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.2. Funções. 1.4.2.2. Exemplo1. Algoritmo "Produto" Var A,B,C: real Funcao PROD(X,Y : real): real inicio retorne X * Y fimfuncao {--* PROGRAMA PRINCIPAL *--} Inicio A <- 2 B <- 10 C <- PROD(A,B) Escreva("O produto de A e B é: ", C) Fimalgoritmo Conceitos Básicos 103 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.3. Variáveis Locais e Globais. ▪ Quando declaramos as variáveis, nós podemos fazê-las; a) Local - declaradas dentro de um procedimento ou função - só têm validade dentro do escopo ao qual foram declaradas. b) Global - são as variáveis do programa principal. São acessíveis a todos os subprogramas e ao programa principal. ▪ Obs: Parâmetros são variáveis locais. Conceitos Básicos 104 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.3. Variáveis Locais e Globais. 1.4.3.1. Exemplo 1. Algoritmo "Variaveis Locais“ procedimento valores Var a, b, c: inteiro // Variáveis locais Inicio a <- 1 b <- 2 c <- 3 Escreva("a = ", a, " b = ", b," c = ", c) fimprocedimento Inicio valores Fimalgoritmo Conceitos Básicos 105 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.3. Variáveis Locais e Globais. 1.4.3.1. Exemplo 2. Algoritmo "Variaveis Globais" Var a, b, c: inteiro // Variaveis globais Procedimento valores(a: inteiro; b: inteiro; c: inteiro) Inicio Escreva("a = ", a, " b = ", b," c = ", c) Fimprocedimento Inicio a <- 1 b <- 2 c <- 3 valores(a,b,c) Fimalgoritmo Conceitos Básicos 106 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.4. Passagem de Parâmetros. ▪ SABEMOS QUE: Os programas passam informações para procedimentos e funções usando parâmetros. ▪ Essa passagem de parâmetros podem ser feita de 2 formas: a) Por valor b) Por referência Conceitos Básicos 107 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.5. Passagem de Parâmetros por Valor. ▪ Fornece uma cópia dos valores dos parâmetros para a função chamada. ▪ Quaisquer modificações que a função fizer nos valores ocorrerá apenas dentro da função. ▪ Ou seja, não são alterados os valores dos parâmetros fora da função. Conceitos Básicos 108 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.5. Passagem de Parâmetros por Valor. Resultado do código Valor original: 1 2 Valor alterado: 101 102 Valor final: 1 2 Algoritmo "Parametros por Valor" Var a, b: inteiro procedimento exibe_altera(x: inteiro; y:inteiro) Inicio Escreval("Valor original: ", x, " ", y) x <- x + 100 y <- y + 100 Escreval("Valor alterado: ", x, " ", y) Fimprocedimento {Programa Principal} Inicio a <- 1 b <- 2 exibe_altera(a,b) Escreval("Valor final: ", a, " ", b) Finalalgoritmo Conceitos Básicos 109 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.6. Passagem de Parâmetros por Referência. ▪ Na chamada do subprograma é passado o endereço de uma variável, onde se pode dar um nome alternativo a variável no subprograma. ▪ Obs: deve-se utilizar o nome var na frente do identificador do parâmetro ▪ Exemplos: Procedimento soma (var x,y : integer) funcao imprime (var aluno: literal) Conceitos Básicos 110 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados ► 1.4. Funções 1.5. Vetores 1.4. FUNÇÕES. 1.4.6. Passagem de Parâmetros por Referência. ▪ Quando a função termina, as variáveis dentro do programa principal estão alteradas. Algoritmo "Parametros por Referencia" var a, b: inteiro Procedimento troca(var a: inteiro; var b:inteiro) Var aux: inteiro Inicio aux <- a a <- b b <- aux Fimprocedimento {Programa Principal} Inicio a <- 10 b <- 20 Escreval("Antes da troca: a = ", a, " b = ", b) troca(a,b) Escreval("Depois da troca: a = ", a, " b = ", b) Fimalgoritmo Resultado do código Antes da troca: a = 10 b =20 Depois da troca: a = 20 b =10 Conceitos Básicos 111 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. Vetores e Matrizes são estruturas de dados muito simples que podem nos ajudar muito quando temos muitas variáveis do mesmo tipo em um algoritmo. Imagine o seguinte problema: Você precisa criar um algoritmo que lê o nome e as 4 notas de 50 alunos, calcular a média de cada aluno e informar quais foram aprovados e quais foram reprovados. Conceitos Básicos 112 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. Conseguiu imaginar quantas variáveis você vai precisar? Muitas né? Vamos fazer uma conta rápida: 50 variáveis para armazenar os nomes dos alunos, (4 * 50 =) 200 variáveis para armazenar as 4 notas de cada aluno e por fim, 50 variáveis para armazenar as médias de cada aluno. 300 variáveis no total, sem contar a quantidade de linhas de código que você vai precisar para ler todos os dados do usuário, calcular as médias e apresentar os resultados. Mas temos uma boa notícia pra você. Nós não precisamos criar 300 variáveis! Podemos utilizar Vetores e Matrizes (também conhecidos como ARRAYs)! Conceitos Básicos 113 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.1. O que são Vetores e Matrizes? Vetor (array uni-dimensional) é uma variável que armazena várias variáveis do mesmo tipo. No problema apresentado anteriormente, nós podemos utilizar um Vetor de 50 posições para armazenar os nomes dos 50 alunos. Conceitos Básicos 114 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.1. O que são Vetores e Matrizes? Matriz (array multi-dimensional) é um Vetor de Vetores. No nosso problema, imagine uma Matriz para armazenar as 4 notas de cada um dos 50 alunos. Ou seja, um Vetor de 50 posições, e em cada posição do Vetor, há outro Vetor com 4 posições. Isso é uma Matriz. Conceitos Básicos 115 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.1. O que são Vetores e Matrizes? Cada item do Vetor (ou Matriz) é acessado por um número chamado de índice. Vamos representar os Vetores e Matrizes graficamente para facilitar o entendimento do conceito. Conceitos Básicos 116 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.1. O que são Vetores e Matrizes? Vetor de nomes dos alunos 1 2 3 ... 4 5 João Pedro Carlos ... José Maria Conceitos Básicos 117 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.1. O que são Vetores e Matrizes? Matriz das notas dos alunos 1 2 3 4 1 9,5 10,0 8,0 7,5 2 10,0 9,0 9,0 5,5 3 9,0 8,5 9,5 7,0 ... ... 49 7,0 10,0 10,0 9,0 50 7,0 8,5 5,5 4,0 ConceitosBásicos 118 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.1. O que são Vetores e Matrizes? Podemos ver na imagem acima que cada posição do Vetor é identificado por um número (chamado de índice), no caso da Matriz são dois números (um na vertical e um na horizontal). Conceitos Básicos 119 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! Tomando o exemplo apresentado, vamos implementar o algoritmo utilizando o Visualg. Nele, vamos usar algumas estruturas básicas, tais como A estrutura de repetição PARA e a estrutura de decisão SE-ENTÃO-SENÃO. (Neste algoritmo vamos reduzir o número de alunos de 50 para 5, para facilitar a visualização do resultado.) Preste muita atenção no modo como é criado o Vetor e a Matriz e também a forma como é acessada cada posição. Conceitos Básicos 120 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! algoritmo "MediaDe5Alunos" // Função : Calcular a média das notas de 10 alunos e apresentar quem foi aprovado ou reprovado // Autor : Gustavo // Seção de Declarações var nomes: vetor [1..5] de caractere notas: vetor [1..5,1..4] de real medias: vetor [1..5] de real contadorLoop1, contadorLoop2: inteiro Conceitos Básicos 121 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! inicio //Leitura dos nomes e as notas de cada aluno PARA contadorLoop1 DE 1 ATE 5 FACA ESCREVA("Digite o nome do aluno(a) número ", contadorLoop1, " de 5: ") LEIA(nomes[contadorLoop1]) PARA contadorLoop2 DE 1 ATE 4 FACA ESCREVA("Digite a nota ", contadorLoop2, " do aluno(a) ", nomes[contadorLoop1], ": ") LEIA(notas[contadorLoop1, contadorLoop2]) FIMPARA //CÁLCULO DAS MÉDIAS medias[contadorLoop1] := (notas[contadorLoop1, 1] + notas[contadorLoop1, 2] + notas[contadorLoop1, 3] + notas[contadorLoop1, 4]) / 4 FIMPARA Conceitos Básicos 122 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! //APRESENTAÇÃO DOS RESULTADOS PARA contadorLoop1 DE 1 ATE 5 FACA SE medias[contadorLoop1] >= 6 ENTAO ESCREVAL("O aluno(a) ", nomes[contadorLoop1], " foi aprovado com as notas (", notas[contadorLoop1, 1], ", ", notas[contadorLoop1, 2], ", ", notas[contadorLoop1, 3], ", ", notas[contadorLoop1, 4], ") e média: ", medias[contadorLoop1]) SENAO ESCREVAL("O aluno(a) ", nomes[contadorLoop1], " foi reprovado com as notas (", notas[contadorLoop1, 1], ", ", notas[contadorLoop1, 2], ", ", notas[contadorLoop1, 3], ", ", notas[contadorLoop1, 4], ") e média: ", medias[contadorLoop1]) FIMSE FIMPARA fimalgoritmo Conceitos Básicos 123 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! Repare que os Arrays (Vetores ou Matrizes) aliados a estrutura de repetição PARA é um ótimo recurso para algoritmos que precisam de muitas variáveis do mesmo tipo. Um resultado do algoritmo acima pode ser observado a seguir: Conceitos Básicos 124 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! Digite o nome do aluno(a) número 1 de 5: Gustavo Digite a nota 1 do aluno(a) Gustavo: 9 Digite a nota 2 do aluno(a) Gustavo: 10 Digite a nota 3 do aluno(a) Gustavo: 9,5 Digite a nota 4 do aluno(a) Gustavo: 8 Digite o nome do aluno(a) número 2 de 5: João Digite a nota 1 do aluno(a) João: 5 Digite a nota 2 do aluno(a) João: 6 Digite a nota 3 do aluno(a) João: 4,5 Digite a nota 4 do aluno(a) João: 7 Digite o nome do aluno(a) número 3 de 5: Pedro Digite a nota 1 do aluno(a) Pedro: 7 Digite a nota 2 do aluno(a) Pedro: 8,5 Digite a nota 3 do aluno(a) Pedro: 6 Digite a nota 4 do aluno(a) Pedro: 7 Conceitos Básicos 125 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! Digite o nome do aluno(a) número 3 de 5: Pedro Digite a nota 1 do aluno(a) Pedro: 7 Digite a nota 2 do aluno(a) Pedro: 8,5 Digite a nota 3 do aluno(a) Pedro: 6 Digite a nota 4 do aluno(a) Pedro: 7 Digite o nome do aluno(a) número 4 de 5: Luciana Digite a nota 1 do aluno(a) Luciana: 10 Digite a nota 2 do aluno(a) Luciana: 7 Digite a nota 3 do aluno(a) Luciana: 7,5 Digite a nota 4 do aluno(a) Luciana: 8 Digite o nome do aluno(a) número 5 de 5: Augusto Digite a nota 1 do aluno(a) Augusto: 5 Digite a nota 2 do aluno(a) Augusto: 5,5 Digite a nota 3 do aluno(a) Augusto: 7,5 Digite a nota 4 do aluno(a) Augusto: 6 Conceitos Básicos 126 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! O aluno(a) Gustavo foi aprovado com as notas (9, 10, 9.5, 8) e média: 9.125 O aluno(a) João foi reprovado com as notas (5, 6, 4.5, 7) e média: 5.625 O aluno(a) Pedro foi aprovado com as notas (7, 8.5, 6, 7) e média: 7.125 O aluno(a) Luciana foi aprovado com as notas (10, 7, 7.5, 8) e média: 8.125 O aluno(a) Augusto foi aprovado com as notas (5, 5.5, 7.5, 6) e média: 6 *** Fim da execução.\ *** Feche esta janela para retornar ao Visualg. Conceitos Básicos 127 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! Como você pode perceber, Vetores e Matrizes são, na verdade, a mesma coisa: array. A diferença é que o Vetor é um array de apenas 1 dimensão e a Matriz é um array de 2 (ou mais) dimensões. Conceitos Básicos 128 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções ► 1.5. Vetores 1.5. VETORES E MATRIZES. 1.5.2. Vetores e Matrizes na prática! Array é uma das estruturas de dados mais simples que existe e uma das mais utilizadas também. Todas as linguagens de programação têm arrays, pelo menos ainda não conhecemos uma linguagem que não tem. Porém, os índices podem mudar dependendo da linguagem, algumas começam os índices do array com 1 e outras com 0, essa é a grande diferença que geralmente encontramos entre linguagens. No caso das linguagens que começam os arrays com o índice 0, o último elemento do array recebe o índice (<tamanho do array> - 1). Conceitos Básicos 129 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS. Estrutura de Dados? Hein?!?? Conceitos Básicos 130 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS. o Programa = o Resolução de Problema: abstração o Cadastro de Clientes ▪ Quais dados são importantes? ❑ A idade do cliente é importante? ❑ A cor do cabelo do cliente é importante? ▪ Qual o algoritmo usar? ❑ Como encontrar um cliente?❑ Como inserir um novo cliente? Algoritmo + Dados Conceitos Básicos 131 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS. o O que é um “dado digital”? o O que o diferencia de “lixo digital”? o Sua organização ▪ Sabemos como encontrá-los o E isso permite... ▪ Busca ▪ Remoção ▪ Inserção... o Organização → Desempenho Conceitos Básicos 132 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS. Conceitos Básicos 133 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS. No Dia-a-Dia Conceitos Básicos 134 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS NO DIA-A-DIA. o Representar a organização de uma empresa ▪ 1 presidente, 1 vice-presidente, 1 diretor de vendas e 1 de criação, este último com 2 subdiretores? Vice- Presidente Diretor de Vendas Diretor de Criação Subdiretor 1 Subdiretor 2 Presidente Conceitos Básicos 135 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS NO DIA-A-DIA. o Como representar a bibliografia do curso? ▪ Estrutura de Dados: algoritmos, análise da complexidade e implementações em Java e C/C++ ▪ Lógica de Programação: a construção de algoritmos e estruturas de dados ▪ Estrutura de Dados – Série Livros Didáticos Informática da USP, Volume 18 Conceitos Básicos 136 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS NO DIA-A-DIA. o Como o motoboy organiza as pizzas? Conceitos Básicos 137 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS NO DIA-A-DIA. o Como as pessoas esperam no banco? Conceitos Básicos 138 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.6. ESTRUTURA DE DADOS NO DIA-A-DIA. o Como representar os trajetos possíveis em uma companhia aérea? Tipos de Estrutura de Dados Mauricio Tanizaka 139 Conceitos Básicos 140 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.7. TIPOS DE ESTRUTURA DE DADOS. o Lineares o Não-lineares Lineares x Não-lineares Conceitos Básicos 141 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.7. TIPOS DE ESTRUTURA DE DADOS. o Lineares o Não-lineares • 1º. Elemento bem definido • Último elemento bem definido • Elementos intermediários: um antecessor e um sucessor Conceitos Básicos 142 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.7. TIPOS DE ESTRUTURA DE DADOS. o Lineares o Não-lineares • Árvore: relação hierárquica • Grafo: relação qualquer É fundamental identificar a melhor estrutura para cada problema! Formas de Armazenamento e Manipulação de Estrutura de Dados Mauricio Tanizaka 143 Conceitos Básicos 144 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.8. ARMAZENAMENTO DE ESTRUTURAS. o Duas maneiras de armazenar ▪ Encadeada (ou ligada) ▪ Sequencial (ou contígua). ❑ Espaço pré-alocado. ❑ Tamanho pré-definido. ❑ Tamanho inicialmente desconhecido. ❑ Alocação à medida da necessidade. o Vamos analisar ▪ Estruturas lineares sequenciais e encadeadas. Conceitos Básicos 145 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.8. ARMAZENAMENTO DE ESTRUTURAS. o Iniciaremos com as sequenciais... o Qual o tipo de variável, que serve para guardar, sequencialmente, muitos dados iguais? ▪ Vetores. o Vamos começar com uma lista de números. ▪ Que operações vocês conseguem imaginar? ▪ O que gostaríamos de poder fazer com uma lista? Conceitos Básicos 146 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.9. MANIPULAÇÃO DE ESTRUTURAS. o Imagine uma lista de notas. o Inserir notas o Remover notas ▪ Inicialmente vazia. o Buscar notas... o Como realizar essas tarefas? o Existiria muita diferença se tivéssemos uma lista de alunos? Ou uma lista de rendimentos? Conceitos Básicos 147 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.9. MANIPULAÇÃO DE ESTRUTURAS. o Inserir, Remover e Buscar serão semelhantes para qualquer lista. o Sempre que precisarmos inserir, o código é o mesmo. o Que tal criarmos um algoritmo chamado inserir, por exemplo? ▪ Sempre que precisarmos inserir um valor, bastará solicitar que o computador execute o algoritmo inserir. Conceitos Básicos 148 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.9. MANIPULAÇÃO DE ESTRUTURAS. o Esses “algoritmos” com nome recebem o nome de funções. o Antes de estudarmos as estruturas em si... ▪ Vamos aprender a implementar funções! Funções Mauricio Tanizaka 149 Conceitos Básicos 150 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.10. FUNÇÕES. o Funções pré-definidas ▪ abs(x). ▪ O que fazer se a função abs(x) não existisse? int x; x = -4; cout << "O valor absoluto de "; cout << x << " = "; cout << abs(x) << endl; * cout = c out => significado em C++ seria console output = mostrar, display Conceitos Básicos 151 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.10. FUNÇÕES. o abs “na raça”: ▪ abs(x). ▪ Copiar e colar? int x; x = -4; cout << "O valor absoluto de "; cout << x << " = "; if (x >= 0) cout << x << endl; else cout << -x << endl; o Se tivéssemos de usar isso toda hora...? ▪ O que fazer? Que tal criar nosso próprio abs? Criando Nossas Próprias Funções Mauricio Tanizaka 152 Conceitos Básicos 153 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.11. CRIANDO FUNÇÕES. o Passo 1: criar um programa que calcule o perímetro de um círculo de raio 2. ▪ P = 2*∏*R ▪ ∏ = 3,141592 Conceitos Básicos 154 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.11. CRIANDO FUNÇÕES. o Passo 2: transformar ocálculo em uma função chamada calcula. ▪ As variáveis criadas dentro da função só existem dentro desta função. ▪ Elas são chamadas variáveis locais. ▪ Não é possível acessar uma variável local a não ser de dentro da própria função. ▪ Os valores das variáveis locais são destruídos quando a função finaliza. Conceitos Básicos 155 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.11. CRIANDO FUNÇÕES. o Passo 3: modificar a função calcula para que ela para que ela retorne o resultado, ao invés de imprimi-lo. ▪ return deve sempre retornar um valor do tipo correto. ▪ return pode ser usado sem nenhum valor em funções cujo retorno é do tipo “void”. * Void - função que nada devolve, apenas se executa e chega ao fim sem retornar (return) nada. Conceitos Básicos 156 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.11. CRIANDO FUNÇÕES. o Passo 4: modificar a função calcula para que ela receba o raio do círculo como parâmetro. ▪ Os parâmetros funcionam como variáveis locais. ▪ O valor fornecido como parâmetro (o raio) é copiado para essa “variável local”. Conceitos Básicos 157 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.11. CRIANDO FUNÇÕES. o Passo 5: modificar a função calcula para que ela retorne, além do perímetro da circunferência, também a área do círculo e o volume da esfera. ▪ A = ∏∙R2. ▪ V = (4/3) ∙∏∙R3. ▪ Parâmetros cujo nome é precedido por & são passados “por referência”, isto é, podem ser modificados na função. Conceitos Básicos 158 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.11. CRIANDO FUNÇÕES. o Passo 6: mova a função para o fim do arquivo. ▪ A declaração inicial é chamada “protótipo de função”. Variáveis Globais Mauricio Tanizaka 159 Conceitos Básicos 160 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.12. VARIÁVEIS GLOBAIS. o Variáveis das funções: locais o Passar dados: parâmetros. o Receber respostas: return, parâmetro por referência o Não há um jeito diferente? o Sim: Variáveis globais ▪ Declarar variável junto com os protótipos das funções. ▪ Cuidado! ▪ Problemas! Vetores Mauricio Tanizaka 161 Conceitos Básicos 162 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.13. VETORES. o Quantos valores se guardava em uma variável? ▪ int i; ▪ float nota; o Quantos valores posso guardar aqui? o E nessa variável aqui? Conceitos Básicos 163 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.13. VETORES. o Mas e se quiséssemos guardar as notas de todos os alunos da turma (10 alunos)? float nota1; float nota3; o Quantos valores posso guardar aqui? float nota2; (...) float nota10; Conceitos Básicos 164 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.13. VETORES. o Vamos ver uma forma diferente de declarar! float nota [10]; o Quantos valores acham que cabe aqui? o Muito mais simples, não? o Isso é um vetor, uma espécie de tabela: 0 1 2 3 4 5 6 7 8 9 nota Conceitos Básicos 165 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.13. VETORES. o Guardando valores... float nota [10]; 0 1 2 3 4 5 6 7 8 9 nota o nota [0] = 10; Conceitos Básicos 166 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.13. VETORES. o Guardando valores... float nota [10]; 0 1 2 3 4 5 6 7 8 9 10nota o nota [0] = 10; Conceitos Básicos 167 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.13. VETORES. o Guardando valores... float nota [10]; 0 1 2 3 4 5 6 7 8 9 10nota o nota [0] = 10; o nota [5] = 7; Conceitos Básicos 168 1. CONCEITOS BÁSICOS. ESTRUTURA DE DADOS 1. Conceitos Básicos 1.1. Definições 1.2. Arquivos 1.3. Banco de dados 1.4. Funções 1.5. Vetores ► 1.6. Estrutura de Dados 1.13. VETORES. o Guardando valores... float nota [10]; 0 1 2 3 4 5 6 7 8 9 10 7nota o nota [0] = 10; o nota [5] = 7; Lista Mauricio Tanizaka 169 Conceitos Básicos 170 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação Lista é definido como uma implementação de um tipo de dado abstrato (ADT - Abstract Data Type), formalizando o conceito de uma coleção ordenada de entidades. Uma lista trata-se de uma série finita de dados, cuja principal propriedade baseia-se na posição relativa dos elementos dispostos linearmente. • Listas são conjuntos de elementos, objetos, variáveis, tarefas, ou qualquer coisa que se possa enumerar e formar um conjunto. • As listas estão presentes em nossa vida, desde o nosso nascimento, por exemplo, com a lista de compras que nossos pais tiveram que fazer para nós. Conceitos Básicos 171 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Exemplo de Lista de Compras: o 5Kg de farinha; o 2Kg de açúcar; o 500g de carne moída; o 2Kg de arroz; o 4L de leite; o 1Kg de feijão; o Etc.. Conceitos Básicos 172 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: Vazia! ▪ Inserir “C” C Conceitos Básicos 173 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C ▪ Inserir “D” D Conceitos Básicos 174 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C D ▪ Inserir “B” B Conceitos Básicos 175 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C D B ▪ Inserir “F” F Conceitos Básicos 176 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C D B F ▪ Inserir “E” E Conceitos Básicos 177 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C D B F E Conceitos Básicos 178 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C D B F E ▪ Remover “B” Conceitos Básicos 179 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C D B F E ▪ Remover “B” Conceitos Básicos 180 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C D F E ▪ Remover “F” Conceitos Básicos 181 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1. Conceito de Lista 2.2. Aplicação • Comportamento de Lista de Compras: o Lista: C D F E ▪ Remover “F” Conceitos Básicos 182 2. LISTA. ESTRUTURA DE DADOS 2. Lista ► 2.1.