Ana səhifə

Universidade Regional Integrada do Alto Uruguai e das Missões Campus Frederico Westphalen Departamento de Engenharias e Ciência da Computação Algoritmos e Estrutura de Dados I informática I


Yüklə 0.52 Mb.
səhifə15/23
tarix25.06.2016
ölçüsü0.52 Mb.
1   ...   11   12   13   14   15   16   17   18   ...   23

11.2 Tipos de Dados


Um Tipo de Dado define o conjunto de valores que uma variável pode assumir e as operações que podem ser feitas sobre ela.

Toda variável em um programa deve ser associada a um e somente um tipo de dado. Esta associação é feita quando a variável é declarada na parte de declaração de variáveis do programa.

Uma vez declarada uma variável de qualquer tipo, poderemos utilizar um comando de atribuição, também chamado de operador de atribuição, para armazenar um valor na variável.

11.2.1 Tipos predefinidos pela linguagem


Os programas em Pascal podem trabalhar com dados expressos como valores literais (tal como a string ’Qualquer Coisa´ ou o número 5) ou como valores representados simbolicamente por identificadores (tais como as constantes e variáveis).

Sem considerar como o valor do dado está expresso, você deve tomar cuidado para distinguir os diversos tipos de dados que o Turbo Pascal reconhece. A mistura de tipos de dados de modo não apropriado resulta em erros em tempo de compilação.



O Turbo Pascal tem diversas categorias de tipos de dados padrão, dos quais os mais comumente usados são:



tipo

intervalo de representação

tamanho

shortint

-128 a 127

1 byte

byte

0 a 255

1 byte

integer

-32.768 a 32.767

2 bytes (1 palavra)

word

0 a 65.535

2 bytes (1 palavra)

longint

-2.147.483.648 a 2.147.483.647

4 bytes (2 palavras)

real

2.9 x 10 –39 a 1.7 x 10 38

6 bytes (3 palavras)

single *

1.5 x 10 –45 a 3.4 x 10 38

4 bytes (2 palavras)

double *

5.0 x 10 –324 a 1.7 x 10 308

8 bytes (4 palavras)

extended *

1.9 x 10 –4951 a 1.1 x 10 4932

10 bytes (5 palavras)

comp *

-9.2 x 10 18 a 9.2 x 10 18

8 bytes (4 palavras)

char

os caracteres da tabela ASCII

1 byte

boolean

TRUE ou FALSE

1 byte

string

tipo estruturado composto por um conjunto de elementos tipo char

quantidade de caracteres x 1 byte

* os tipos assinalados somente podem ser utilizados em máquinas com co-processador matemático (8087, 80287, 80387, 80487) ou com chip processador 80486 DX ou superior.

Por economia, conveniência, eficiência e precisão, o Turbo Pascal fornece uma ampla variedade de tipos inteiros e de números reais. Devemos ter uma especial atenção para decidir qual é o tipo apropriado para uma determinada aplicação. Algumas vezes, a validade dos resultados númericos de um programa depende da escolha correta dos tipos de dados numéricos. Em geral, devemos analisar cuidadosamente as caracteristicas dos tipos de dados que decidiremos usar.


11.2.1.1 Tipos Inteiros


O Turbo Pascal oferece cinco tipos inteiros: INTEGER, WORD, LONGINT, SHORTINT e BYTE. Este tipos fornecem faixas amplas de valores de números inteiros. Quanto mais ampla a faixa, maior a memória necessária para os valores de um determinado tipo: os valores em LONGINT necessitam de quatro bytes; valores em INTEGER e WORD necessitam de dois bytes, e os valores em SHORTINT e BYTE necessitam de um byte cada. Um inteiro não possui parte decimal, e é sempre perfeitamente preciso dentro da sua faixa. Aqui estão as faixas dos cinco tipos inteiros:

11.2.1.2 Tipos de Números Reais


Um número real pode conter dígitos tanto antes como depois do ponto decimal, e pode estar sujeito aos limites da precisão limitada. Este tipo também é conhecido como ponto flutuante, pois o Turbo Pascal armazena os números reais em duas partes distintas: os dígitos significativos (algumas vezes chamados de mantissa) e o expoente, que indica a posição correta do ponto decimal.

Se o equipamento não possuir um co-processador aritmético e for um micro com processador 486 Sx ou inferior só estará disponível o tipo REAL. Caso contrário e se a opção Numeric processing estiver ajustada para 80x87, existirão quatro tipos numéricos adicionais: COMP e três tipos reais -SINGLE, DOUBLE e EXTENDED - que oferecem uma variedade de faixas e precisões para as aplicações em números reais. Com a opção Emulation no seu estado default On (ligada), o Turbo Pascal emula as operaç5es do 8087 se o chip não estiver presente no seu sistema. Se a opção Emulation estiver Off (desligada), uma aplicação em número real não será executada sem o chip de co-processamento numérico.


11.2.1.3 Caracteres e Strings


Um caractere é uma letra, dígito, pontuação, ou outro elemento do conjunto de caracteres do IBM PC. Na memória do computador, cada caractere é realmente armazenado como um código de um único byte inteiro, de O a 255. Este código definido como ASCII (American Standard Code for Information Interchange), define o conjunto de caracteres disponíveis, providenciando um equivalente numérico para cada um dos 256 caracteres.

A maior parte da primeira metade de código ASCII - números de O a 127 - é usada como padrão por todos os computadores pessoais. Ela fornece os códigos para as letras maiúsculas de A a Z (65 a 90); as letras minúsculas de a a z (97 a122); os dígitos de O a 9(48 a 57); os sinais de pontuação, caracteres de controle e assim por diante. A segunda metade do código ASCII, 128 a 255, fornece caracteres não-padrão que são freqüentemente implementados de modo diferente por diferentes marcas de computadores. No IBM PC e compatíveis, esses códigos fornecem uma variedade de caracteres úteis, incluindo letras de línguas estrangeiras; símbolos técnicos, matemáticos e científicos; e um conjunto de caracteres gráficos que podem ser combinados para criar molduras, padrões, imagens e sombreados para a tela no modo texto.

O identificador padrão CHAR define no Turbo Pascal as variáveis do tipo caractere. Por exemplo, a declaração VAR, a seguir, define uma variável CHAR chamada opcao_menu:

VAR

opcao_menu: CHAR;

Esta variável pode armazenar exatamente um caractere por vez.

Uma string é uma seqüência de caracteres. O comprimento de uma string é igual ao número de caracteres que ela contém. No Turbo Pascal, o comprimento máximo de uma string é de 255 caracteres; o menor comprimento de string possível é de 0 caracteres. Uma string que não possua caracteres é chamada de null ou vazia.

A palavra reservada STRING define uma variável string. Por exemplo, o comando VAR, a seguir, define uma string chamada nome_cliente:



VAR

nome_cliente: STRING;

O comprimento máximo de uma variável declarada simplesmente como STRING é de 255 caracteres. Entretanto, você pode especificar um comprimento máximo menor para uma variável string, usando a seguinte notação:



VAR

Nome_da_Variável: STRING[ComprimentoMáximo] ;

Por exemplo, a declaração a seguir define uma string cujo o comprimento máximo é de 8 caracteres:



VAR

data: STRING[8];

Devemos sempre lembrar que o comprimento real da string armazenada numa variável do tipo STRING é dinâmico, ou seja, a string pode ter qualquer comprimento até o máximo especificado. A função embutida LENGTH fornece o comprimento dinâmico atual de uma variável string.

Finalmente, você pode utilizar a notação a seguir para acessar um único caractere de uma posição especificada dentro de uma variável string:

Nome_da_Variável [ Posição do Caractere ]

Por exemplo, a expressão:



data[5]

fornece o quinto caractere da string armazenada na variável data.

Uma variável do tipo char tem seu valor correspondente na tabela ASCII (American Standart Code for Information Interchange) através da função:

ord( x )

Para transformar o valor da tabela ASCII no seu caracter correspondente, usa-se a função:



chr( x )

ou o valor correspondente precedido do sinal #.



#65 ou chr(65) corresponde ao A.

11.2.1.4 Valores Booleanos


Um valor Booleano pode ser tanto TRUE (verdadeiro) como FALSE (falso). (Os valores Booleanos são assim chamados em homenagem ao matemático Inglês do século dezenove George Boole, também conhecido como valor lógico).

O Turbo Pascal fornece um conjunto de operações lógicas e relacionais, que produzem expressões que resultam em valores de TRUE ou FALSE.

O identificador padrão BOOLEAN define uma variável deste tipo, como neste exemplo:

VAR


Trabalho_Entregue: BOOLEAN;

11.2.2 Tipos definidos pelo usuário


Os tipos definidos pelo usuário são aqueles que usam um grupo de tipos predefinidos ou um subgrupo de algum tipo. Este tipo é chamado de tipo enumerado de dados e representa uma escolha dentre um pequeno número de alternativas.

11.2.2.1 Tipo enumerado discreto


Em Pascal temos o comando TYPE para definir o tipo de dados que queremos:

TYPE tpdias = (segunda, terça, quarta, quinta, sexta, sábado, domingo);

VAR diasem: tpdias;

...

diasem:= segunda;

if (diasem = terça) then ...

11.2.2.2 Tipo enumerado contínuo


O tipo enumerado contínuo pode ser definido como um intervalo de um tipo enumerado discreto já definido ou de um tipo padrão.

TYPE tpdias = (segunda, terça, quarta, quinta, sexta, sábado, domingo);

TYPE tpfimsem = sábado..domingo;

TYPE tpdiautil = segunda..sexta;

VAR fimsem: tpfimsem;

...

fimsem:= sábado;

if (fimsem = domingo) then ...
1   ...   11   12   13   14   15   16   17   18   ...   23


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©atelim.com 2016
rəhbərliyinə müraciət