Você está na página 1de 7

TIPOS DE DADOS EM PASCAL

1 - Tipos ordinais
So tipos de dados que representam conjuntos enumerveis de valores ordenados. Turbo Pascal possui 10 tipos ordinais predefinidos: Cinco subconjuntos dos inteiros: Shortint, Integer, LongInt, Byte e Word; Quatro tipos lgicos: Boolean, WordBool, LongBool, ByteBool; Tipo caractere: Char. Tipos enumerados; Subfaixas. a) Tipos inteiros: Representam subconjuntos dos inteiros matemticos, com faixa de valores de acordo com o nmero de bits empregados.

Obs: Os tipos inteiros que permitem valores negativos reservam 1 bit para o sinal.

TIPO
ShortInt Integer LongInt Byte Word

FAIXA
-128..127 -32768..32767 -2147483648..2147483647 0..255 0..65535

TAMANHO
8-bit 16-bit 32-bit 8-bit 16-bit

b) Tipos lgicos H quatro tipos lgicos pr-definidos: Boolean, WordBool, LongBool, e ByteBool. Os quatro s admitem os valores False e True. Veja a definio abaixo: Boolean WordBool LongBool ByteBool = = = = (False, (False, (False, (False, True); True); True); True); { { { { 8 bits } 16 bits } 32 bits } 8 bits }

Obs: Boolean o tipo preferencialmente empregado. Os outros trs existem principalmente para prover compatibilidade com o sistema Windows.

c) Tipo Caractere (char) Um caractere qualquer dgito numrico, letra do alfabeto ou um smbolo especial Variveis do tipo ordinal char so usadas para armazenar quaisquer caracteres da tabela ASCII. Constantes caracteres so escritas entre aspas simples. Ex: A, 3, b, * , &, etc. Obs: o caractere aspa simples () representado com duas aspas simples (entre aspas simples). Ex: var Ch: char; begin Ch := ; Write(Ch);

:
Na sada aparecer apenas...

d) Tipos Enumerados definidos pelo programador Definem conjuntos ordenados de valores, enumerando os identificadores que denotam os valores possveis para aquele tipo. Sintaxe: type NomeTipo = (identif_1,identif_2, ..., identif_n);

Exemplo:

type tCor =(vermelho,laranja,amarelo,verde,azul,anil,violeta); var C1,C2: tCor; begin C1 := vermelho; { e no vermelho... } C2 := violeta;

e) Tipos Subfaixas Definem faixas de valores de um certo tipo ordinal Sintaxe: Constante1 .. Constante2

Obs: so especificados os valores mnimo e mximo da faixa (nessa ordem). Exemplos: program SubFaixa; type tIdadeFunc = 18..80; tLetraMin = a.. z; tDigito = 0 .. 9; var IdFunc: tIdadeFunc; L: tLetraMin; D: tDigito; begin IdFunc := 20; L := d; D := 4; . . . end.

Nos tipos ordinais h uma ordem precisa entre os elementos (como o termo j indica). Assim, as seguintes funes podem ser aplicadas a esses tipos:

funo Ord

Retorna o valor ordinal de um certo valor (ou expresso). Exemplo type Cores = (vermelho,azul,verde); begin Writeln(Azul possui um valor ordinal de , Ord(azul)); Writeln(O cdigo ASCII para "c" , Ord(c)); end.

Obs: A primeira constante do conjunto tem valor ordinal de 0, a segunda de 1, e assim sucessivamente. funo Pred Retorna o predecessor de um argumento. O resultado ser do mesmo tipo do parmetro passado e corresponder ao seu predecessor. funo Succ Retorna o sucessor do argumento. O resultado ser do mesmo tipo do parmetro passado e corresponder ao seu sucessor. Exemplo: type Cores = (vermelho,azul,verde); var C1,C2: Cores; A,B: byte; begin Writeln('O predecessor de 5 ', Pred(5)); Writeln('O sucessor de 10 ', Succ(10)); C1:= vermelho; A:= Ord(C1); { 0 } A:= Ord(azul); { 1 } C2:= Pred(azul); { vermelho } if Succ(vermelho) = azul then Writeln('azul o sucessor de vermelho.'); . . . end.

procedure Inc Incrementa uma varivel. Declarao procedure Inc (var X [ ; N: Longint ] );

X uma varivel de um tipo ordinal e N uma expresso de tipo inteiro. X ser incrementado de 1 se N no for especificado Inc(X); Inc(X,N); { { corresponde a X:= X + 1; } corresponde a X:= X + N; }

procedure Dec Decrementa uma varivel. Declarao: procedure Dec(var X[ ; N: Longint]); X uma varivel de um tipo ordinal e N uma expresso de tipo inteiro. X decrementado de 1, ou de N se N especificado Dec(X); Dec(X,N); { corresponde a { corresponde a X:= X-1; } X:= X-N; }

Obs: Inc e Dec geram cdigo otimizado e so especialmente teis em laos (repeties).

2) Cadeias (seqncias) de Caracteres - strings


Uma varivel string uma cadeia de caracteres com tamanho varivel e um tamanho mximo entre 1 e 255. Sintaxe: string [ constante ] OU string

Obs1: se uma cadeia de caracteres declarada sem um tamanho mximo, ser atribudo automaticamente o tamanho 255. Obs2: Constantes string so sempre escritas entre aspas simples. Obs3: Para indicar, dentro de uma constante string, uma aspa simples, so usadas duas aspas simples consecutivas. Ex: write(Duas ONGs foram criadas);

Duas ONGs foram criadas

Obs4: Os seguintes operadores podem ser usados com variveis ou constantes string.

<>

<

>

<=

>=

Os seis primeiros operadores so empregados para comparar duas constantes ou variveis do tipo cadeia de caracteres. Ex: BALA <= BOLA resultar True O operador + usado para concatenar cadeias de caracteres. Ex: var S1,S2,S3: string[20]; begin S1 := Arthur; S2 := Ferreira; S3 := S1 + + S2; write(S3); { Arthur Ferreira } . . .

3 - Tipos reais: Subconjuntos dos nmeros reais, representados na notao de ponto flutuante. Turbo Pascal prov cinco tipos reais:

TIPO real single double extended comp

FAIXA 2.9e-39...1.7e38 1.5e-45..3.4e38 5.0e-324...1.7e308 3.4e-4932..1.1e4932 -9.2e18..9.2e18

DGITOS 11-12 7-8 15-16 19-20 19-20

TAMANHO 6 4 8 10 8