O que é um jogo digital? Programa de Computador Dados Algoritmos
Para que estudar Estrutura de Dados? Para manipular os dados dos programas usamos os ALGORITMOS e para organizar os dados da melhor forma possível de modo a melhorar o desempenho do programa (jogo) usamos a ESTRUTURA DE DADOS
Armazenando Dados! Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador, representados pelos números 0 ou 1, ou seja, podemos armazenar apenas 2 informações diferentes; Byte é a união de 8 bits capaz de representar 256 informações diferentes (2^8)
Tipos de Dados Definem o tipo de informação que será armazenado na memória ou o tipo de manipulação ou interpretação que esses dados devem ter. São divididos em 3 tipos Tipos Primitivos Tipos Estruturados Tipos Abstratos
Tipos Primitivos Dependem da característica do sistema Já são implementados nas linguagens São a base para os outros tipos de dados Inteiro Real Caracteres Lógico Ponteiro Podem ter subtipos ou modificadores de tipo dependendo da linguagem.
Tipos Estruturados São estruturas criadas a partir dos tipos primitivos, alguns exemplos são: Arranjos Matrizes Vetores Estruturas
Tipos Abstratos de Dados (TAD) Estruturas criadas usando Tipos Primitivos e Tipos Estruturados Definem um conjunto de valores e um conjunto de operações que atuam sobre esses valores Em POO, classes implementam TADs com atributos e métodos
Variáveis Para a criação de uma variável usamos um identificador, que é o nome da variável Não deve começar com número, apenas letras, cifrão ou _ Após o primeiro caractere, letras, números e _ (sem espaços) Sem uso de palavras reservadas Sem caracteres especiais como!, @, #, -, +, *, etc Nota: Muitas linguagens modernas provenientes de C são case-sensitive (diferenciam maiúsculas de minúsculas) como C++, Java, C#, etc.
Listas Lineares É um TAD que representa uma coleção de elementos cuja característica é a posição relativa entre seus elementos. Sabemos onde começa e termina a lista; Não existe nenhum elemento antes do primeiro e nem depois do último; Existe uma ordem entre os elementos, assim sabemos que o 5º elemento está entre o 4º e o 6º.
Alocação de Memória Estática x Dinâmica Alocação Estática Quantidade de memória usada para os dados é prédeterminada; Não é possível usar mais do que o alocado e desperdiça se não usar tudo; Fácil implementação; Alocação Dinâmica Quantidade de memória é solicitada em tempo de execução à medida que é necessária e desalocada quando não é mais usada; Não existe desperdício e o limite de memória é o limite da máquina;
Alocação de Memória Sequencial x Encadeada Alocação Sequencial Os elementos são armazenados na sequência física de memória; Como sabemos onde estão e o tamanho de cada um, a busca de um elemento é mais rápida; Alocação Encadeada Cada elemento precisa armazenar o endereço do próximo elemento, já que eles não estão na sequencia física da memória; Para a busca de um elemento precisamos percorrer toda a estrutura, já que a informação de onde está o elemento sempre está no seu antecessor;
Alocação de memória Alocação Estática Alocação Sequencial Alocação Dinâmica Alocação Encadeada A alocação Estática Sequencial é muito utilizada baseando-se em Tipos Estruturados como vetores, já que são pré-alocados; A alocação Estática Encadeada é inviável já que tem a desvantagem de desperdício de memória e tempo de busca A alocação Dinâmica Sequencial não é possível já que devemos solicitar memória dinamicamente e não garantimos a sequencia de memória disponível; A alocação Dinâmica Encadeada é o melhor modelo para implementação
OBRIGADO... www.cruzeirodosulvirtual.com.br Campus Liberdade R. Galvão Bueno, 868 01506-000 São Paulo SP Brasil Tel: (55 11) 3385-3000