Buscar

RELATORIO 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Faculdade Estácio S.A. 
 
 
BREITNER BRUNO JORGE SANTIAGO 
201603073809 
 
 
 
 
 
RELATÓRIO 3 – Tipos de Dados. 
 
 
 
 
 
 
 
 
 
Fortaleza, CE 
2020 
 
 
 
 
 
 
 
 
 
 
TIPOS DE DADOS 
 
 
Um tipo de dado define uma coleção de valores de dados e um conjunto de 
operações pré-definidas sobre eles. Um fator importante em determinar a facilidade 
com a qual eles realizam suas tarefas é o quão bem os tipos de dados disponíveis 
na linguagem usada casam com os objetos no espaço do problema no mundo real. 
Nas primeiras linguagens, todas as estruturas de dados do espaço do 
problema tinham de ser modeladas com apenas poucas estruturas de dados 
suportadas pela linguagem. Por exemplo, nas versões do Fortran pré-90, as listas 
ligadas e as árvores binárias eram implementadas com vetores, as estruturas de 
dados do COBOL deram o primeiro passo na direção oposta do modelo do Fortran I 
ao permitir que os programadores especificassem a precisão dos valores de dados 
decimais, e também por fornecer um tipo de dados estruturado para registros de 
informação. Uma abordagem melhor, introduzida no ALGOL 68, é fornecer alguns 
tipos básicos e operadores de definição de estrutura flexíveis que permitem a um 
programador projetar uma estrutura de dados para cada necessidade. 
 
TIPOS DE DADOS PRIMITIVOS 
Tipos de dados não definidos em termos de outros são chamados de tipos de dados 
primitivos. Praticamente todas as linguagens de programação fornecem um conjunto 
de tipos de dados primitivos alguns dos tipos primitivos são meramente reflexos de 
hardware – por exemplo, a maioria dos tipos inteiros, outros requerem apenas um 
pouco de suporte externo ao hardware para sua implementação. Os tipos de dados 
primitivos de uma linguagem são usados, com um ou mais construtores de tipo, para 
fornecer os tipos estruturados. 
 
TIPOS NUMERICOS 
Muitas das primeiras linguagens de programação têm apenas tipos primitivos 
numéricos. Tipos numéricos ainda desempenham um papel central entre as coleções 
de tipos suportadas pelas linguagens contemporâneas. 
 
 
 
 
 
 
Inteiro: O tipo de dados primitivo numérico mais comum é o inteiro. Muitos 
computadores agora suportam diversos tamanhos de inteiros. Por exemplo, Java 
inclui quatro tamanhos inteiros com sinal: byte, short, int e long. Algumas linguagens, 
como C++ e C#, incluem tipos inteiros sem sinal, simplesmente tipos para valores 
inteiros sem sinal. Tipos sem sinal são geralmente usados para dados binários. Um 
valor inteiro com sinal é representado em um computador como uma cadeia de bits, 
com um dos bits (normalmente o mais à esquerda) representando o sinal. A maioria 
dos tipos inteiros é suportada diretamente por hardware. Um exemplo de um tipo 
inteiro não suportado diretamente por hardware é o tipo inteiro longo de Python. 
Valores desse tipo podem ter um tamanho ilimitado. Valores inteiros longos podem 
ser especificados como literais, como no seguinte exemplo: 
 243725839182756281923 
Além disso, operações aritméticas inteiras que produzem valores muito grandes para 
serem representados com o tipo int são armazenadas como valores do tipo inteiro 
longo. 
Ponto flutuante: Tipos de dados de ponto flutuante modelam números reais, mas as 
representações são apenas aproximações para muitos valores reais. Por exemplo, 
nenhum dos números fundamentais π ou e (a base para logaritmos naturais) pode 
ser corretamente representado em notação de ponto flutuante. Na maioria dos 
computadores, os números de ponto flutuante são armazenados em binário, o que 
agrava o problema. Por exemplo, mesmo o valor 0.1 em decimal não pode ser 
representado por um número finito de dígitos binários1 Valores de ponto flutuante são 
representados como frações expoentes, uma forma emprestada da notação científica. 
Entretanto, a maioria das máquinas mais novas usam o formato padrão para ponto 
flutuante da IEEE chamado IEEE Floating-Point Standard 754. O tipo double é 
fornecido para situações nas quais partes fracionárias maiores e/ou uma faixa de 
expoentes maior são necessárias.A coleção de valores que podem ser representados 
por um tipo ponto flutuante é definida em termos de precisão e faixa. Precisão é a 
exatidão da 
1 1. 0.1 em decimal é 0.0001100110011... em binário. 
Complexo: Algumas linguagens de programação suportam um tipo de dados 
complexo – por exemplo, Fortran e Python. Valores complexos são representados 
como pares ordenados de valores de ponto flutuante. Em Python, a parte imaginária 
de um literal complexo é especificada seguindo a por j ou J – por exemplo, (7 + 3j) 
Linguagens que suportam um tipo complexo incluem operações para aritmética em 
valores complexos. 
Decimal: maioria dos computadores de grande porte projetados para suportar 
aplicações de sistemas de negócios tem suporte em hardware para tipos de dados 
decimais. 
 
Tipos de dados decimais armazenam um número fixo de dígitos decimais, com o 
ponto decimal em uma posição fixa no valor. Esses são os tipos de dados primários 
para processamento de dados de negócios e, dessa forma, são essenciais para o 
COBOL. Tipos decimais têm a vantagem de serem capazes de armazenar 
precisamente valores decimais, ao menos dentro de uma faixa restrita, o que não 
pode ser feito com tipos de ponto flutuante. As desvantagens dos tipos decimais são 
que a faixa de valores é restrita porque nenhum expoente é permitido, e sua 
representação em memória é dispendiosa, pelas razões discutidas no parágrafo a 
seguir. Tipos decimais são armazenados de maneira muito parecida com as cadeias 
de caracteres, usando códigos binários para os dígitos decimais. Logo, armazenar 
um número decimal codificado de seis dígitos requer 24 bits de memória. 
TIPOS BOOLEANOS 
Tipos booleanos são talvez os mais simples. Sua faixa de valores tem apenas dois 
elementos: um para verdadeiro e outro para falso. Eles foram introduzidos em ALGOL 
60 e incluídos na maioria das linguagens de propósito geral projetadas desde 1960. 
Em tais expressões, todos os operandos com valores diferentes de zero são 
considerados verdadeiros, e zero é considerado falso. Apesar do C99 e do C++ terem 
um tipo booleano, também permitem que expressões numéricas sejam usadas como 
se fossem booleanas. Apesar de outros tipos, como inteiros, poderem ser usados 
para tais propósitos, o uso de tipos booleanos é mais legível. Um valor booleano 
poderia ser representado por um único bit, mas como um único bit de memória não 
pode ser acessado de maneira eficiente em muitas máquinas, eles são armazenados 
na menor célula de memória eficientemente endereçável, um byte. 
TIPOS CARACTERES 
Caracteres Dados na forma de caracteres são armazenados nos computadores como 
codificações numéricas. American Standard Code for Information Interchange) de 8 
bits, que usa os valores de 0 a 127 para codificar 128 caracteres diferentes. É claro, 
a menos que um programa precise manter um grande número de grandes valores 
decimais, a diferença é insignificante. outra codificação de 8 bits para caracteres, mas 
ele permite 256 caracteres diferentes. Por causa da globalização dos negócios e da 
necessidade de os computadores se comunicarem com outros computadores pelo 
mundo, o conjunto de caracteres ASCII se tornou inadequado. Em resposta, em 1991, 
o Consórcio Unicode publicou o padrão UCS-2, um conjunto de caracteres de 16 bits. 
Unicode inclui os caracteres da maioria das linguagens naturais do mundo. Os 
primeiros 128 caracteres do Unicode são idênticos àqueles do ASCII. Java foi a 
primeira linguagem amplamente usada a usar o conjunto de caracteres Unicode. Após 
1991, o Consórcio Unicode, em cooperação com a Organização Internacional de 
Padrões (ISO – International Standards Organization) desenvolveu uma codificação 
de caracteres de 4 bytes chamada UCS-4 ou UTF-32, que é descrita pelo padrão 
ISO/IEC 10646, publicadoem 2000.

Outros materiais