Tipos de dados Israel Madruga. Motivação O estudo de algoritmos visa o aperfeiçoamento de nossas...

22
Tipos de dados Israel Madruga

Transcript of Tipos de dados Israel Madruga. Motivação O estudo de algoritmos visa o aperfeiçoamento de nossas...

Page 1: 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.

Tipos de dados

Israel Madruga

Page 2: 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.

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

Page 3: 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.

Como resolver os problemas?

•C•Java•Ruby•Perl•Scheme•PHP•SQL•Haskell

Page 4: 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.

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.

Page 5: 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.

Variável X Constante

Uma constante é um identificador associado a um valor que normalmente não é modificado durante a execução de um algoritmo.

Page 6: 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.

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.

Page 7: 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.

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++.

Page 8: 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.

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.

Page 9: 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.

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#.

Page 10: 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.

DeclaraçãoAs 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;

Page 11: 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.

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;

Page 12: 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.

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)

Page 13: 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.

C x SQL

charintfloatdoublevoid

bigintbigserialbitbit varyingbooleanboxbyteacharacter varyingcharactercidrcircledatedouble precisioninetintegerintervallinelsegmacaddrmoneynumericpathpointpolygonreal

Page 14: 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.

Valor X Referência

As variáveis são declaradas por valor ou por referência.

Page 15: 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.

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

Page 16: 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.

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.

Page 17: 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.

Quanto ao escopo

•Variáveis de Instância•Locais•De Classe•Globais

Page 18: 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.

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.

Page 19: 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.

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

Page 20: 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.

Tipos em Haskell

Page 21: 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.

Tipos em PHP

Page 22: 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.

Bibliografia

•Slides de 2011•Wikipedia.org•Google