



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Material sobre Estrutura de Dados, O porque estuda-la!!
Tipologia: Manuais, Projetos, Pesquisas
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Dados (^) Processamento Informação
Controle e Avaliação Retroalimentação (feed-back)
1- Por que estudar Estrutura de Dados?
Uma questão básica de um bom profissional é dominar as ferramentas que utiliza para realizar suas tarefas. Nesse sentido, compreender a forma como um computador e nesse século XXI, como vários outros componentes eletrônicos tratam os dados em seu funcionamento é fator relevante, senão imprescindível para qualquer profissional da área da computação. Trata-se então de perceber que um computador é uma máquina, basicamente representada pela Figura 1, que processa dados em informações.
Figura 1 - Modelo de processamento informação Estudar computação passa pela compreensão da forma como essas máquinas organizam, manipulam e utilizam essas informações. Assim, torna-se determinante entender primeiramente, os conceitos de dado e informação, o que explicita a importância e necessidade do estudo das estruturas que os dados podem assumir durante esse processo.
1.1 - Informação
Considerando que a informação é algo que possa ser compreendido em termos de ter um significado que permita reduzir o nível de incerteza sobre um determinado fato, conceito, fenômeno ou situação de tomada de decisão, pode-se identificar a informação como um conjunto organizado de dados que compõem uma mensagem que possui significado relevante para aquele que a recebe. Embora haja esforços no sentido de se definir “Informação”, pode-se considerar as definições elaboradas como sendo, de certa forma, intuitivas. Tenenbaum, Langsam e Augenstein (1995) explicam que embora o conceito de informação seja a base para
todos os campos de estudo nessa área, não se pode defini-la com exatidão embora seja possível fazer afirmações sobre tal conceito. Essa percepção leva à constatação da dificuldade existente em termos de se definir, de maneira exata, os conceitos de dado, informação e conhecimento. Liew (2007) concorda com Alavi e Leidner (2001) ao considerar que existe uma falha lógica ao se tentar definir dados em termos de informação, informação em termos de dados, conhecimento em termos de informação e assim sucessivamente. Liew (2007) argumenta que tentar estabelecer uma definição desta maneira acaba gerando definições circulares e argumentativas que descrevem os relacionamentos, mas que não definem os conceitos. Apesar de toda essa discussão conceitual ser extremamente interessante, ela foge um pouco ao foco fundamental da disciplina de Estrutura de Dado. Uma das formas de percepção sobre dados, informação, conhecimento e inclusive inteligência, segue a estrutura sequencial apresentada na Figura 2, que os considera de maneira crescente e evolutiva, colocando como base e ponto inicial a existência dos dados. É esta perspectiva que norteará a proposta de estudo da disciplina de Estrutura de Dados.
Figura 2 - Dos dados à inteligência
1.2 - Dados
A forma “clássica” do posicionamento dos dados em relação à informação apresentada na Figura 2 os colocam como as unidades básicas que compõe a informação. Especificamente do contexto da área da computação, que é onde se insere a disciplina de Estrutura de dados, eles constituem o conjunto de valores ou caracteres representados por dígitos binários ( binary digit ).
Dados
Conhecimento
Informação Processamento
Análise
exemplo, os oferecidos pela linguagem C++: int para armazenagem de um valor numérico inteiro e boo l para um valor lógico (verdadeiro ou falso). Na prática da programação, a criação de uma “ variável” definirá o tipo de valor que poderá ser armazenado. Uma variável é uma localização, uma posição ou um conjunto delas, normalmente alocada na memória do computador capaz de armazenar uma certa quantidade de dados para representar um valor ou expressão. O tipo de dado associado à variável especificará ainda: O conjunto de valores que ela pode assumir (ex: apenas um caracter; conjunto de caracteres; um número inteiro; um número com casas decimais); O conjunto de operações que se pode realizar; A quantidade de bytes que deve ser reservada para seu armazenamento; Como o dados representado pela variável deve ser interpretado (ex: número inteiro; número real). Em função dessas características, um tipo de dado pode ser compreendido como uma forma de interpretar o conteúdo existente no hardware (memória, arquivo, etc...) mas não em termos do que o computador pode fazer (interpretar bits ) mas sim pelo ponto de vista do que o usuário deseja fazer como executar a soma de números inteiros ou classificar em ordem alfabética uma lista de nomes de produtos. Os tipos oferecidos de maneira padronizada pelas linguagens são chamados de “ Tipos Primitivos ” ou “ Tipos de Dados Básicos ”, cuja característica é não possuir uma estrutura sobre seus valores, o que significa que eles não podem ser decompostos em partes menores. Uma variável do tipo inteiro, por exemplo, não pode armazenar um valor que contenha casas decimais e uma variável do tipo lógico só poderá conter valores indicando verdadeiro ou falso. Normalmente as linguagens de programação emitem uma mensagem de erro quando uma operação tenta atribuir um valor diferente do tipo da variável que foi criada. Ao longo do tempo, o avanço das Linguagens de Programação propiciou o surgimente de linguagens conhecidas como “fracamente tipadas” que, de certa forma, “ajustam automaticamente” os tipo de váriavel aos valores que lhes está sendo atribuído para armazenagem. As linguagens de programação também permitem que seja incorporado mais de um tipo de dado à uma variável, criando uma relação estrutural entre seus elementos. Em outras palavras, pode ser criado um “ Tipo de Dado Estruturado ” capaz de armazenar dados compostos por diversos campos. Um campo representa uma característica
particular do dado estruturado. Em uma ficha para catalogar um livro, o campo nome do livro, o nome da editora e o ano de publicação são campos distintos que indicam particularidade de um determinado livro. Os principais tipos de dados estruturados fornecidos pelas linguagens de programação são: Arranjo : também chamados de vetores e matrizes. Tecnicamente chamados de arrays, são utilizados para incorporação de campos de um mesmo tipo e que possuem um tamanho predefinido de quantidade de elementos; Registro: permitem que sejam combinados campos de diferentes tipos de dados;
Além dos tipos básico e estruturado, o programador pode ainda criar estruturas próprias que não haviam sido inicialmente previstas pelas linguagens de programação. Essas estruturas de armazenagem de dados recebem o nome de “ Tipo Abstrato de Dados ” (TAD). A Estrutura de Dados (ED) consiste nos métodos de implementação desses tipos de dados. Sua operação primeira é a escolha de uma estrutura (ED) para criação desses dados mas, uma vez determinada tal estrutura, podem ser realizadas as operações de inclusão e remoção de dados, além do percurso e também a busca por valores nesses dados. Em linguagens de programação com características de Orientação à Objetos, o mecanismo básico para implementação de TADs é a definição de classes. Por fim, percebe-se que a Estrutura de dados trata da organização dos dados e da implementação da solução computacional para um problema. Isso resulta da elaboração de estrutura de dados adequada para representar o problema e da construção de algorítmos que resultarão nos próprios programas de computador. Compreender esses conceitos são então requisitos básicos para boas práticas de programação. A Figura 3 representa esse processo de relacionamento entre Estrutura de dados e a solução computacional para o problema.