Estrutura de Dados - Conceitos

Propaganda
Engenharia de
CONTROLE e
AUTOMAÇÃO
Estrutura de Dados
Conceitos Iniciais
Aula 01
DPEE 1038 – Estrutura de Dados para Automação
Curso de Engenharia de Controle e Automação
Universidade Federal de Santa Maria
Prof. Rafael Concatto Beltrame
[email protected]
1/5
Sumário
•
•
•
Introdução
Estrutura de dados
Tipos primitivos de dados
–
–
–
–
–
•
char
int
float
double
void
Exemplos
– Relação entre binários e decimais
– Números reais
– String de caracteres
Prof. Rafael Concatto Beltrame
2
1/5
Introdução
Algoritmo
– Processo sistemático para a resolução de um problema
Dados de Saída
Dados de Entrada
(Solução)
Unidade de Processamento
– Computa uma saída (solução) a partir de informações de entrada
– Manipula os dados de entrada para obter a solução
– Composto de um modelo matemático e um conjunto de operações
Prof. Rafael Concatto Beltrame
3
1/5
Introdução
•
Aspectos básicos no estudo dos algoritmos
– Correção
• Verificar a exatidão do método empregado, realizada através de uma prova matemática
– Análise
• Obtenção dos parâmetros que para avaliar a eficiência do algoritmo (ocupação e memória)
– Quando os dados são dispostos e manipulados de forma homogênea, constituem um tipo de dado abstrato
• Forma de representação em uma linguagem específica
• Empregar operações suportadas pelo computador
Prof. Rafael Concatto Beltrame
4
1/5
Estrutura de Dados
•
Um tipo estruturado é um exemplo de estrutura de dados
– Tipos estruturados são estruturas de dados já pré‐definidas na linguagem de programação
– O programador pode definir outras estruturas de dados para armazenar as informações que seu programa precisa manipular
– Exemplos
•
Vetores, registros, listas encadeadas, pilhas, filas, árvores, grafos, etc., são estruturas utilizadas para armazenar informação na memória principal
Prof. Rafael Concatto Beltrame
5
1/5
Tipos Primitivos de Dados
•
Tipos básicos de dados
–
–
–
–
–
•
char: É um caractere. Geralmente armazenado em código (ASCII)
int: Número inteiro. É o tipo padrão de dado em C
float: Número em ponto flutuante de precisão simples. Números reais
double: Número em ponto flutuante de precisão dupla
void: Indica que não há um tipo definido
Modificadores dos tipos básicos
– São expressões que alteram o tamanho do conjunto de valores que o tipo pode representar
– signed | unsigned
– short | long
Prof. Rafael Concatto Beltrame
6
1/5
Tipos Primitivos de Dados
Tipo
Bits
Forma de Leitura
Limite Mínimo
Limite Máximo
char
8
%c
–128
127
unsigned char
8
%c
0
255
signed char
8
%c
–128
127
int
16
%i
–32.768
32.767
unsigned int
16
%u
0
65.535
signed int
16
%i
–32.768
32.767
short int
16
%hi
–32.768
32.767
unsigned short int
16
%hu
0
65.535
signed short int
16
%hi
–32.768
32.767
long int
32
%li
–2.147.483.648
2.147.483.647
signed long int
32
%li
–2.147.483.648
2.147.483.647
unsigned long int
32
%lu
0
4.294.967.295
float
32
%f
±3,4E‐38
±3,4E+38
double
64
%lf
±1,7E‐308
±1,7E+308
long double
80
%Lf
±3,4E‐4932
±3,4E+4932
Prof. Rafael Concatto Beltrame
7
1/5
Tipos Primitivos de Dados
Relação entre Binários e Decimais
•
Sistema de numeração binário
– Método para interpretar definições de bits como inteiros não‐
negativos
– Um inteiro é representado por uma soma de potências de 2
• “0” significa: não incluir na soma
• “1” significa: incluir na soma
2n‐1
23
...
+
Prof. Rafael Concatto Beltrame
+
22
+
21
+
20
+ 0 ou 1
8
1/5
Tipos Primitivos de Dados
•
Representação de números binários negativos
– Notação de complemento de um
• Cada bit é mudado para seu oposto
•
Faixa de bits: –2(n – 1) + 1 a 2(n – 1) – 1
•
O “zero” pode ser representado de duas formas
0
0
1
0
0
1
1
0
= +38
1
1
0
1
1
0
0
1
= –38
Prof. Rafael Concatto Beltrame
9
1/5
Tipos Primitivos de Dados
•
Representação de números binários negativos
– Notação de complemento de dois
• Cada bit é mudado para seu oposto e soma‐se 1
+1
•
Faixa de bits: –2(n – 1) a 2(n – 1) – 1
•
Agora, existe apena uma notação para o “zero”
0
0
1
0
0
1
1
0
= +38
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
= –38
Prof. Rafael Concatto Beltrame
10
1/5
Tipos Primitivos de Dados
•
Decimal codificado em binário
– Uma string de 4 bits é usada para representar um dígito decimal
– Exemplo: 00100110 = 26
0
0
1
2
0
0
1
1
0
6
– Na notação de decimal codificado em binário
• Existem 4 combinações de bits inválidas!
• Exemplo: 1010b = 10d a 1111b = 15d
Prof. Rafael Concatto Beltrame
11
1/5
Tipos Primitivos de Dados
Números Reais
•
Notação de ponto flutuante
– Conceito geral: (Mantissa) x (Base) Expoente
• Base: número inteiro fixo
• Mantissa: número inteiro variável
• Expoente: número inteiro variável
– Características
• Pode ser usada para representar números com valores muito grandes ou muito pequenos
• O fator limite para a exatidão é o número de dígitos binários significativos da mantissa
Prof. Rafael Concatto Beltrame
12
1/5
Tipos Primitivos de Dados
String de Caracteres
•
Nem sempre a informação é interpretada de modo numérico
– Ex.: nomes, títulos, endereços, etc.
– Representação: string de caracteres (str)
•
Cada caractere precisa ser representado por um conjunto de bits dentro do computador
– Nº de bits para representar um caractere: tamanho de byte
– A esse grupo de bits, denomina‐se: byte
•
A atribuição de strings de bits a caracteres pode ser aleatória
– Código ASCII: usa 7 bits para representação (128 caracteres)
Prof. Rafael Concatto Beltrame
13
1/5
Tipos Primitivos de Dados
•
Código ASCII
– American Standard Code for Information Interchange
– 7 bits para representação + 1 bit para teste de paridade
– Baseada no alfabeto inglês
Código
Caractere
Código
Caractere
0011 0000
0
0010 0110
&
0011 0001
1
0100 0001
A
0011 0010
2
0100 0010
B
...
...
...
...
Prof. Rafael Concatto Beltrame
14
1/5
Tipos Primitivos de Dados
•
Qualquer significado pode ser atribuído a um padrão de bits
– A interpretação do padrão de bits que dá significado à informação
– Por exemplo, sejam as strings
•
00100110 = 38 (binário)
•
00100110 = 26 (decimal codificado em binário)
•
00100110 = & (ASCII)
Prof. Rafael Concatto Beltrame
15
1/5
Revisão
•
Algoritmo
– Processo sistemático para a resolução de um problema
– Composto de um modelo matemático e um conjunto de operações
– Manipula os dados de entrada para obter a solução
•
Tipos elementares de dados
– char, int, float, double, void
•
Modificadores
– signed, undigned
– short, long
Prof. Rafael Concatto Beltrame
16
Download