Um tipo de dado especifica as características, ou seja, quais os possíveis valores e operações que um dado possui. Por exemplo, um valor inteiro pode ser somado a outro,
{Sintaxe:} const
nomeDaConstante = expressão; {Sintaxe:}
var
variável : tipo de dado;
subtraído, multiplicado, etc. Variáveis, como apresentado em sua sintaxe, requerem um tipo de dado em sua definição.
A linguagem Pascal fornece ao programador um conjunto de tipos de dados predefinidos e que serão descritos a seguir.
Inteiros
Inteiros são valores numéricos positivos ou negativos, excluindo-se qualquer número
fracionário. Em Pascal, este tipo de dado pode ser referenciado por um dos seguintes
identificadores: Byte, Shortint, Smallint, Word, Integer, Cardinal, Longint, Longword, Int64 e QWord.
Tabela 2.1 – Tipos Inteiros
Tipo Valores Tamanho
em Bytes
Byte 0..255 1
Shortint -128 .. 127 1
Smallint -32768 .. 32767 2
Word 0 .. 65535 2
Integer Smallint ou Longint 2 ou 4
Cardinal Longword 4 Longint -2147483648 .. 2147483647 4 Longword 0 .. 4294967295 4 Int64 -9223372036854775808 .. 9223372036854775807 8 QWord 0 .. 1844674473709551615 8 A definição de variáveis inteiras é feita com a seguinte sintaxe:
A Listagem 6 apresenta um exemplo de uso de Inteiros.
Listagem 2.1 – Exemplo de uso de Inteiros
No programa da Listagem 6 destaca-se o seguinte:
1. Na linha 7 declara-se a variável forca do tipo integer.
1 program InteirosEmPascal;
2 {Este programa vai demonstrar o uso de Inteiros em Pascal.}
4 uses crt;
6 var
7 forca : integer;
8 massa, aceleracao : integer;
9 begin
10 massa := 100; 11 aceleracao := 2;
12 forca := massa * aceleracao; 13 writeln ('A forca eh: ', forca); 14 readkey;
15 end.
{Sintaxe:}
2. A linha 8 apresenta a declaração de duas variáveis inteiras: massa e aceleração. Embora as três variáveis pudessem ter sido declaradas numa única linha, optou-se por duas declarações separadas para exemplificação. 3. Na linha 10 atribui-se o valor 100 à variável massa, enquanto na linha 11
atribui-se 2 à variável aceleração.
4. Na linha 12 atribui-se à variável forca o produto entre massa e aceleração. 5. A linha 13 imprime o valor resultante da forca.
A execução do programa imprimirá:
Reais
O tipo de dado real permite trabalhar com números fracionários, tanto positivos como negativos, sendo sua capacidade de armazenamento maior que dos números inteiros. Vejamos os tipos: Real, Single, Double, Extend, Comp e Currency.
Tabela 2.2 - Tipos Reais
Tipo Valores Dígitos
Signific.
Tamanho em Bytes Real Depende da Plataforma 4 ou 8 Single 1.5E-45 .. 3.4E38 7-8 4 Double 5.0E-324 .. 1.7E308 15-16 8 Extended 1.9E-4932 .. 1.1E4932 19-20 10 Comp -2E64+1 .. 2E63-1 19-20 8 Currency
A definição de variáveis reais é feita com a seguinte sintaxe:
A Listagem 7 apresenta um exemplo de uso de Reais.
Listagem 2.2 – Uso de Reais em Pascal A forca eh: 200
1 program ReaisEmPascal;
2 {Este programa vai demonstrar o uso do tipo Real em Pascal.}
4 uses crt;
6 var
7 forca : real;
8 massa, aceleracao : real;
9 begin
10 forca := 235; 11 aceleracao := 2;
12 massa := forca / aceleracao;
13 writeln ('A massa eh: ', massa:3:2); 14 readkey;
15 end.
{Sintaxe:} variável : real;
No programa da Listagem 7 destaca-se o seguinte:
1. Na linha 7 declara-se a variável forca do tipo real.
2. A linha 8 apresenta a declaração de duas variáveis reais: massa e aceleração. Embora as três variáveis pudessem ter sido declaradas numa única linha, optou-se por duas declarações separadas para exemplificação.
3. Na linha 10 atribui-se o valor 235 à variável forca, enquanto na linha 11 atribui-se 2 à variável aceleração.
4. Na linha 12 atribui-se à variável massa a razão entre forca e aceleração. 5. A linha 13 imprime o valor resultante da massa.
A execução do programa imprimirá:
Caracteres String
Tipos de Dados Caracteres em Pascal são seqüências contendo letras, números e símbolos especiais e devem ser representadas entre apóstrofos (‘’). Este tipo de dado é referenciado pelo identificador string, podendo armazenar de 1 até 255 caracteres. Para definir uma variável cujo conteúdo pode ter até 255 caracteres, usa-se a seguinte sintaxe:
Como a sintaxe anterior não determina um tamanho, a variável definida sempre ocupará 255 bytes na memória, pois o Pascal na tem como saber quantos bytes realmente serão necessários.
Para o caso de variáveis String que o programador conheça o tamanho máximo, pode-se usar a seguinte sintaxe para determiná-lo
A massa eh: 117.50
Observações:
1. Write e WriteLn permitem que sejam definidos formatos aos números.
a. Estes formatos são úteis na impressão de números reais para evitar a forma com exponenciação.
b. O formato é: numero:tamanho:precisão
i. numero é o número que se quer imprimir. ii. tamanho informa a largura da saída.
iii. precisão informa com quantos dígitos o numero será impresso.
{Sintaxe:}
O uso de colchetes determina que a variável terá um conteúdo de até tamanho caracteres. A Listagem 8 apresenta um exemplo de uso de Strings.
Listagem 2.3 – Exemplo com Strings
No programa da Listagem 8 destaca-se o seguinte:
1. Na linha 7 declara-se a variável endereco que terá até 255 caracteres (é o limite máximo de uma string),
2. A linha 8 apresenta a declaração da variável nome que terá, no máximo, 30 caracteres.
3. A linha 8 apresenta a declaração da variável CPF que terá, no máximo, 11 caracteres.
4. Na linha 12 atribui-se um valor 235 à variável endereço. Note que atribuição de string requer o uso de apóstrofos.
5. A linha 15 faz-se a impressão das três variáveis e seus valores.
A execução do programa imprimirá:
Observações:
1. Write e WriteLn permitem imprimir múltiplos valores separando-os por vírgulas. a. A impressão de constantes string é feita colocando-as entre apóstrofos.
b. O comando writeln('Endereco: ', endereco); imprimirá Endereco: seguido pelo valor da variável endereco.
Endereco: Rua dos Alferes, 1234, Ap. 1001, Barra, Salvador, Bahia - CEP: 40.130.280 Cliente: Jose da Silva Santos CPF: 12345678901
1 program StringsEmPascal;
2 {Este programa vai demonstrar o uso de String em Pascal.}
4 uses crt;
6 var
7 endereco : string; {endereço é uma cadeia com 0 a 255 caracteres.} 8 nome : string[30];
9 CPF : string[11]; {O uso de [] delimita o número de caracteres. Neste caso CPF tem 11 caracteres.}
11 begin
12 endereco := 'Rua dos Alferes, 1234, Ap. 1001, Barra, Salvador, Bahia - CEP: 40.130.280';
13 nome:= 'Jose da Silva Santos'; 14 CPF := '12345678901';
15 writeln('Endereco: ', endereco, ' Cliente: ', nome, ' CPF: ', cpf); 16 readkey;
17 end.
{Sintaxe:}
Char
Pascal suporta o tipo Char, que ocupa exatamente 1 byte e contém um caractere ASCII (American Standard Code for Information Interchange).
Para definir uma variável do tipo char usa-se a seguinte sintaxe:
A Listagem 9 apresenta um exemplo de uso de char.
Listagem 2.4 – Exemplo com Char
Nas linhas 7, 8 e 9 definem-se variáveis do tipo char.
Um caractere pode ser especificado colocando o caractere entre aspas simples (apóstrfos), como 'a' ou 'B', por exemplo, nas linhas 14 e 18. Também pode ser especificado pelo seu valor de caracteres (normalmente um código ASCII), precedendo o valor ordinal com o símbolo (#). Por exemplo, na linha 15, especificando #65 é o mesmo que 'A'.
O resultado da execução do programa é:
{Sintaxe:} variável : char; Sexo: M Letras Maiusculas: AB Letras Minusculas: ab 1 program CharEmPascal;
2 {Este programa vai demonstrar o tipo Char do Pascal}
3
4 uses crt; 5
6 var
7 letraAMinuscula, letraAMaiuscula : char; 8 letraBMinuscula, letraBMaiuscula : char;
9 sexo : char; {char representa um único caracter. Neste caso sexo pode ser 'M' ou 'F'}
10 11 begin
12 {Atribuições de valores às variáves} 13 sexo := 'M'; 14 letraAMinuscula := 'a'; 15 letraAMaiuscula := #65; 16 17 letraBMinuscula := #98; 18 letraBMaiuscula := 'B'; 19
20 writeln('Sexo: ', sexo);
21 writeln('Letras Maiusculas: ', letraAMaiuscula, letraBMaiuscula); 22 writeln('Letras Minusculas: ', letraAMinuscula, letraBMinuscula); 23 readkey;
Tipos Lógicos
Pascal suporta o tipo Boolean, com dois possíveis valores predefinidos: true e false. Qualquer expressão que resulte em um valor booleano (verdadeiro ou falso) também pode ser atribuída a um tipo booleano.
Para definir uma variável do tipo boolean usa-se a seguinte sintaxe:
A Listagem 10 apresenta um exemplo de uso de boolean.
Listagem 2.5 – Exemplo com Boolean
O resultado da execução do programa é:
A linha 11 atribui diretamente o valor TRUE à variável aprovado. As linhas 12 a 14 atribuem o valor lógico do teste às variáveis maior, igual e menor.
Note que uma atribuição tem duas partes: uma antes do := e outra depois. No caso da linha 12 estamos atribuindo à variável maior o resultado da expressão que avalia se dois é maior que um, o que é verdade (TRUE). As linhas 13 e 14 seguem o mesmo princípio, atribuindo a igual e a menor o resultado dos respectivos testes lógicos.
A Listagem 11 a seguir apresenta um exemplo com variáveis e constantes.
{Sintaxe:} variável : char; Aprovado: TRUE 2 > 1? eh: TRUE 2 = 1 eh: FALSE 2 < 1 eh: FALSE 1 program BooleanEmPascal;
2 {Este programa vai demonstrar o tipo boolean do Pascal}
3
4 uses crt; 5 var
6 aprovado : boolean; {Variáveis lógicas - podem ser TRUE ou FALSE} 7 maior, menor, igual : boolean;
8 9 begin
10 {Atribuições de valores às variáves}
11 aprovado := true; {Atribui TRUE a aprovado}
12 maior := 2 > 1; {Atribui o resultado do teste: 2 > 1? a maior} 13 igual := 2 = 1; {Atribui o resultado do teste: 2 > 1? a igual} 14 menor := 2 < 1; {Atribui o resultado do teste: 2 > 1? a menor} 15
16 writeln('Aprovado: ', aprovado); 17 writeln('2 > 1? eh: ', maior); 18 writeln('2 = 1 eh: ', menor); 19 writeln('2 = 1 eh: ', igual); 20 readkey;
Listagem 2.6 – Exemplo com Variáveis e Constantes
O programa VariaveisEConstantes declara na linha 7 as variáveis área e raio do tipo REAL. Como o nome já informa, variáveis podem ter seu valor mudado durante a execução do programa. As linhas 14, 15, 18 e 19 exemplificam isso, mudando os valores de raio e área.
Para um novo valor do raio é calculada a área de um círculo usando-se a fórmula: Área = π * raio2
Note que raio2 foi calculado como raio * raio
A constante matemática π é representada no programa pela constante PI, cujo valor é atribuído na própria declaração, como é visto na linha 10.
O resultado da execução do programa da Listagem 9 é:
A area do circulo de raio 10 eh: 314.1593 A area do circulo de raio 15 eh: 706.8583 1 program VariaveisEConstantes;
2 {Este programa vai demonstrar variáveis e constantes no Pascal}
3
4 uses crt; 5
6 var
7 area, raio : real; {Declara area e raio como variáveis REAIS} 8
9 const
10 pi = 3.1415926536; {Declara pi como uma constante} 11
12 begin
13 {Atribuições de valores às variáves} 14 raio := 10;
15 area := pi * raio * raio;
16 writeln('A area do circulo de raio 10 eh: ', area:3:4); 17
18 raio := 15;
19 area := pi * raio * raio;
20 writeln('A area do circulo de raio 15 eh: ', area:3:4); 21
22 {pi := 10;} 23 readkey; 24 end.
EXPRESSÕES
Expressões são arranjos de operandos (variáveis, constantes ou valores gerados por funções) e operadores (operações a serem efetuadas sobre os operandos) que ocorrem nas atribuições ou em testes e produzem um valor de um determinado tipo.
Um operador pode ser binário, ou seja, requer 2 operandos (como em X / Y e em A * B) ou unário, isto é, exige apenas um argumento (como em -X).
Cada tipo de dados possui um conjunto de operadores relacionados.