TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Grafos Hamiltonianos e Eulerianos

Por:   •  7/4/2025  •  Monografia  •  575 Palavras (3 Páginas)  •  24 Visualizações

Página 1 de 3

Resumo Artigo “On Understanding Types, Data Abstraction, and Polymorphism”

O texto aborda os tipos em linguagens de programação, começa abordando os modelos não tipados nas linguagens e destaca a importância de definição de tipos nas linguagens de programação.

É destacado os 4 universos não tipados: Cadeias de bits na memória do computador, S-expressões em Lisp puro, λ-expressões no λ-cálculo, Conjuntos na teoria dos conjuntos.  As cadeias de bits da memória do computador é o mais bem estabelecido deles, contando com apenas um tipo, caracterizado pela memória do computador. Dizer que o universo é não tipado é dizer que existe apenas 1 tipo de dado bem estabelecido, no caso da memória tudo é representado apenas por strings de bits, sejam os caracteres, números, programas, dado estruturados, etc.

Nos outros modelos de universo são apresentadas outras formas de organizar dados sem um a definição de muitos tipos. Ao observar como esses universos são estruturados, surge a necessidade de organizar os dados de forma a tonar mais claro o entendimento do que está sendo tratado. Daí surgem os tipos, de tal forma que os objetos são categorizados de acordo com seu uso e comportamento, podendo esses tipos serem mais ou menos bem definidos.

Ao ver objetos com comportamento similares sendo decompostos em subconjuntos, podemos entender esses conjuntos criados com tipos, porém é muito fácil violar essa distinção de tipos se elas forem criadas de maneira muito abstrata, por isso é importante definir regras da definição de tipos.

Os sistemas de tipos têm como principal objetivo, evitar ambiguidades e problemas de interpretação dos dados. Isso é feito, impondo restrições de como cada tipo se comporta, afim de corrigir possíveis falhas.

Um tipo de um determinado objeto é interpretado pelo autor como uma armadura que protege o tipo de ser relacionado com outro e gerar uma representação com uso arbitrário, da mesma que forma que o outro tipo também não se relaciona diretamente com outro. Cada tipo tem propriedades que os objetos presentes nele respeitam.

Ao quebrar o sistema de tipos, uma representação de dados pode ser manipulada de maneiras que não foram desejadas, podendo gerar consequências negativas. Para evitar isso, muitas linguagens contam com uma estrutura de tipos estática. Nessas linguagens as variáveis são amarradas a constantes, operadores, palavras reservadas que representam funções e tipos. Assim o programa é copilado dessa maneira e o tipo não é alterado facilmente.

A Tipagem estática é uma propriedade muito útil, porém é restritiva, assim pode ser substituído pelo requisito mais fraco de que todas as expressões são consistentes com o tipo, sem necessariamente definir qual tipo ela pertence, isso pode ser feito geralmente introduzindo algum tipo de tempo de execução verificando. As linguagens nas quais todas as expressões são consistentes com o tipo, impedindo de se associarem com expressões de outro tipo, são chamadas de linguagens fortemente tipadas.

No artigo também abordado os tipos de polimorfismo. Comumente as linguagens fortemente tipadas são monomórficas, o que significa que cada valor e variável pode ser interpretado como sendo apenas de um tipo. Já o oposto, nas linguagens de programação polimórficas, os valores e variáveis podem ter mais de um tipo. No texto são definidas 2 subdivisões de polimorfismo:

Polimorfismo universal, na qual as funções universalmente polimórficas funcionam com um número infinito de tipos, uma única função ou valor pode representar muitos tipos. E o polimorfismo ad-hoc, esse não é um polimorfismo universal, pois pode conter vários códigos representando a mesma função com tipos diferentes, mas um número finito de códigos.

...

Baixar como (para membros premium)  txt (3.8 Kb)   pdf (53.4 Kb)   docx (8.1 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com