Você está na página 1de 15

Licenciatura em Informática

Estrutura de Dados

Profa. Andréa Guimarães


Ribeiro Ohashi
1 – Introdução e Conceitos Básicos
p  O que são Estruturas de Dados?
n  É um modo particular de armazenamento e organização
dos dados em um computador, para que os mesmos
possam ser acessados e manipulados de forma eficiente.

n  São dados armazenados de forma coerente, para que os


mesmos possam ser utilizados para um determinado
objetivo.
p  Benefícios
n  Organização da Informação
n  Melhora o desempenho
n  Proporciona o reuso de código
n  Proporciona a interoperabilidade
n  Diminui custos
2 – Modelo de um Computador
p  A memória do computador em um dado instante do tempo
é uma configuração de sinais elétricos que podem ser vistos
como uma sequência de zeros e uns (chamados de bits).
2 – Modelo de um Computador
p  CPU – Unidade Central de Processamento
n  É o principal componente de um sistema computacional
n  É o dispositivo que controla todos os componentes do
computador
p  Memória
n  Dispositivo capaz de armazenar dados e instruções de
forma que possa ocorrer o processamento acelerado
destes dados.
p  Memória RAM
p  Memória ROM

p  Armazenamento Secundário
n  Dispositivo de Armazenamento de Dados não volátil
3 – Armazenamento de Dados
p  Organização da Memória
p  Bits
n  Menor unidade
n  Valores 0 ou 1
p  Bytes
n  Sequência de 8 bits
p  Célula
n  Sequência de bits
n  Menor unidade de endereçamento
p  Palavras
n  Sequência de bytes
n  Varia conforme arquitetura
3 – Armazenamento de Dados
p  Imaginando a memória do computador como uma
tabela, onde os índices são os endereços e os
conteúdos são os dados deste endereço.

É importante perceber a
diferença entre o endereço
e o conteúdo do endereço.

Neste exemplo “p” é um


endereço e “[p]” é o
conteúdo deste endereço.
3 – Armazenamento de Dados
p  Espaço de memória finito
n  Ex. Espaço de 1 byte (8 bits), podemos representar apenas
2^8 (=256) valores distintos

p  Podemos representar texto


n  Associando valores aos caracteres
n  Exemplo. A(65) e B (66)

p  Representar um programa na memória


n  Programas são executados em linguagem de máquina
n  Programas executáveis são sequências de instruções (códigos
numéricos)
p  10110000 01100001 (MOV AL, 61h)
4 – Compilação de Programas
p  Compilação: “tradução” do código fonte (Pc) para
linguagem de máquina (Lm)
p  Compilador (Cm), escrito em LM: Lê o programa Pc e
traduz cada instrução para LM, escrevendo o Programa
Objeto (Pm)
5 – Ciclo de Desenvolvimento
p  Programas e Linguagens Orientada a Objetos, são divididos
em vários arquivos (blocos de execução).
p  Cada arquivo pode ser compilado separadamente.
p  Para gerar um executável, precisamos reunir os códigos
dos arquivos separados (juntamente com as bibliotecas
usadas): Ligador.
p  Bibliotecas: permitem que funções de interesse geral sejam
usadas por vários programas.
p  O ligador pode ser usado automaticamente pelo compilador
(biblioteca padrão), ou se necessário, deve ser
explicitamente acionado.
5 – Ciclo de Desenvolvimento

Editar Compilar Ligar Testar


6 – Tipos de Dados
p  Definição
n  Conjunto de valores (domínio)
n  Especificação de como o dado representado por cadeia de bits
é interpretado.
n  Possíveis operações

p  Exemplos:
§  Variáveis,
§  Constantes,
§  Expressões,
§  Funções, ...

n  Referem-se ao conjunto dos valores que estes podem assumir.


6 – Tipos de Dados
p  Tipos escalares de Dados
n  Incluem os números, valores lógicos, e o conjunto de
caracteres de impressão.
p  São caracterizados, por meio de identificadores:

§  Exemplo: inteiro
§  Domínio (conjunto dos números inteiros)
§  Operações (soma, subtração, multiplicação, etc.)
§  Exemplo: boolean
§  Domínio (true, false)
§  Operações (and, or, not)
6 – Tipos de Dados (2)
p  Tipos estruturados de dados
n  Alguns tipos de dados possuem organização, estrutura interna.
n  São os tipos construídos a partir de tipos simples.
p  Exemplo: Array
§  É uma estrutura matricial
§  Composta por elementos do mesmo tipo com índices variando
de a1 até an.
§  A variável utilizada como índice é do tipo simples e não real.

p  Pessoa/Registro (Record)
§  Nome:
§  Estado Civil:
§  Sexo:
6 – Tipos de Dados (3)
p  Podemos também definir o domínio de um tipo de dado
usando apenas o comportamento
n  Não impõe uma estrutura interna fixa
n  Usa operações para criar valores de um determinado tipo
n  Define o tipo somente em termos de operações

n  Exemplo. Arrays
p  CRIA_VETOR a [1....n]
p  VALOR_VETOR = CRIA_a (N)

n  Exemplo Pessoa
p  VALOR_ENDEREÇO = CRIA_PESSOA ()
p  MODIFICA_ESTADO_CIVIL (VALOR_ESTADO_CIVIL, “Casado”)
Exercício
p  Crie um algoritmo para definir como encontrar um valor
específico dentro de um conjunto de valores.

Você também pode gostar