Tipos de dados
Israel Madruga
Motivação
• O estudo de algoritmos visa o aperfeiçoamento de
nossas habilidades de criar programas, instruções para
resolver um problema. E os dados são as ferramentas
que utilizamos nessas soluções, se entendermos como a
linguagem que estamos utilizando trata os dados
podemos construir algoritmos mais eficientes.
Israel Madruga
Como resolver os problemas?
•
•
•
•
•
•
•
•
C
Java
Ruby
Perl
Scheme
PHP
SQL
Haskell
Variável X Constante
Na programação, uma variável é um objeto (uma
posição, frequentemente localizada na memória)
capaz de reter e representar um valor ou
expressão. Enquanto as variáveis só "existem"
em tempo de execução, elas são associadas a
"nomes", chamados identificadores, durante o
tempo de desenvolvimento.
Variável X Constante
Uma constante é um identificador associado a um
valor que normalmente não é modificado
durante a execução de um algoritmo.
Quanto à linguagem
As linguagens de programação podem ser classificadas de
acordo com o tipo de sistema que elas usam, ele define
como são os métodos e as variáveis da linguagem.
Em uma linguagem de tipo estático, o compilador deve
conhecer o tipo de uma variável ou método antes da
execução do programa (por isso, o tipo de uma variável
normalmente á explicitamente declarado).
Em uma linguagem de tipo dinâmico, tipo de uma variável
ou método é desconhecido até a execução do programa.
Linguagens de tipo Estático
ou compiladas, usualmente fortemente tipificadas,
geram um código binário, especifico para cada
máquina, aumentando a eficiência e auxiliando a
remover erros de programação.
Ex.: C, C++.
Linguagens de Tipo Dinâmico
ou interpretadas, normalmente são fracamente
tipificadas, fazem a verificação de tipo durante a
execução do algoritmo, aumentando a
portabilidade e a usabilidade
Ex.: Ruby, Perl.
Linguagens Híbridas
Tem características únicas, como o Java, por
exemplo, que é compilado, mas roda em uma
maquina virtual C, ou seja, o código binário pode
ser interpretado por qualquer dispositivo que
tenha a maquina virtual.
Ex.: Java, C#.
Declaração
As linguagens têm modos específicos para tratar suas
variáveis, por exemplo em C (linguagem estática):
int i;
unsigned int a, b, c;
unsigned short int dia, mes, ano;
double salario;
O Que são tipos?
Tipos são definições dadas pela linguagem para
interpretar um determinado dado.
Ex.:
A = “hello”;
A = 2.351;
A = 34;
Tipos nas linguagens
Cada linguagem define seus tipos nativos, isso
depende principalmente da aplicação.
É possível criar novos tipos, ou agregar múltiplos
tipos em estruturas complexas (Structs em C ou
Objetos em JAVA)
C x SQL
char
int
float
double
void
bigint
bigserial
bit
bit varying
boolean
box
bytea
character varying
character
cidr
circle
date
double precision
inet
integer
interval
line
lseg
macaddr
money
numeric
path
point
polygon
real
Valor X Referência
As variáveis são declaradas por valor ou por
referência.
Tipos por valor
Os tipos por valor são armazenados diretamente na
pilha .
Quando a alocação que contém uma instância de um
tipo por valor é destruído a instância do tipo por
valor também é destruída.
Os tipos por valor são sempre acessados diretamente
Tipos por referência
A variável armazena apenas a referência ao dado , o
dado sem si fica alocado na memória.
Sempre contém um valor do tipo ou uma referência
vazia.
Devem ser iniciados.
Quanto ao escopo
•
•
•
•
Variáveis de Instância
Locais
De Classe
Globais
Inferência
Inferência é a possibilidade de alterar o tipo de
uma variável no meio da execução do código.
Dependendo da linguagem, ela pode ser
automática, ou necessitar de comandos.
Inferência Exemplos
int a = 1; \\ “a” é uma variável inteira.
a = 1 + 3.5; \\ agora “a” é uma variável em ponto
flutuante
var objeto; \\ variável sem definição de tipo
Tipos em Haskell
Tipos em PHP
Bibliografia
• Slides de 2011
• Wikipedia.org
• Google
Download

Tipos