Tipos de dados Israel Madruga. Motivação O estudo de algoritmos visa o aperfeiçoamento de nossas...
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/1.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/2.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/3.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/4.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/5.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/6.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/7.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/8.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/9.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/10.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/11.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/12.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/13.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/14.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/15.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/16.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/17.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/18.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/19.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/20.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/21.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062512/552fc132497959413d8d67e3/html5/thumbnails/22.jpg)
Bibliografia
•Slides de 2011•Wikipedia.org•Google