Prof: Adriano A. Ribeiro Variáveis e Constantes Identificadores Os identificadores são nomes a serem dados a variáveis, tipos definidos, procedimentos, funções e constantes nomeadas. Devem seguir as seguintes regras de construção: iniciar sempre por uma letra (a - z , A - Z) ou um underscore ( _ ); o restante do identificador deve conter apenas letras, underscores ou dígitos (0 - 9). Não pode conter outros caracteres; e pode ter qualquer tamanho, desde que os primeiros 63 caracteres sejam significativos Variáveis e Constantes Não existe distinção entre letras maiúsculas e minúsculas no nome de um identificador. Por exemplo, os nomes ALPHA, alpha e Alpha são equivalentes. Atenção para o fato de que identificadores muito longos são mais fáceis de serem lidos pelas as pessoas quando se usa uma mistura de letras maiúsculas e minúsculas; por exemplo, SalarioMinimo é mais fácil de se ler do que SALARIOMINIMO. Variáveis e Constantes Vejamos alguns exemplos de identificadores válidos: PAGAMENTO Soma_Total MaiorValor Media1 _Media e alguns exemplos de identificadores inválidos: %Quantidade O símbolo % não é permitido 4Vendedor Não pode começar com um número Soma Total Não pode ter espaços entre as letras Variáveis e Constantes Observação : Um identificador deverá ficar inteiramente contido em uma linha do programa, ou seja você não pode começar a digitar o nome do identificador numa linha e acabar em outro. Variáveis e Constantes Palavras Reservadas Pascal reconhece certo grupo de palavras como sendo reservadas. Essas palavras tem significado especial e não podem ser usadas como identificadores em um programa. and array asm begin case const constructor destructor div do downto else End File For Foward Function Goto If implementation In inline interface Label mod nil not object of or packed procedure program record repeat set shl shr string then to type unit until uses var while with xor Variáveis e Constantes Comentários Comentários são textos escritos dentro do código-fonte para explicar ou descrever alguns aspectos relativos ao mesmo. Os comentários podem ser colocados em qualquer lugar do programa onde um espaço em branco possa existir. Você pode colocar comentários de duas formas: ou envolvendo o texto entre chaves “{..}” ou entre “ (* .. *)”. Quando o compilador encontra o símbolo “{“ ele salta todos os caracteres até encontrar um “}”. Da mesma forma, todos os caracteres que seguem “(*” são pulados até ser detectado o símbolo ”*)”. Como resultado disso, qualquer uma das formas pode ficar dentro da outra; por exemplo {...(*...*)...} é um comentário. Variáveis e Constantes Tipos de Dados Os dados são representados pelas informações a serem processadas por um computado. Um tipo de dados especifica as características, ou seja os valores e operações possíveis de serem utilizados com um dado desse tipo. Toda variável e constante usada em um programa tem um tipo associado a ela. A linguagem Pascal fornece ao programador um conjunto de tipos de dados predefinidos. Variáveis e Constantes Tipos de Dados Inteiros São caracterizados tipos inteiros, os dados 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: Tipo de dado inteiro Faixa de abrangência shortint de –128 até 127 integer de –32.768 a 32.767 longint de –2.147.483.648 a 2.147.483.647 byte de 0 até 255 word de 0 até 65535 Tamanho(bytes ) 1 byte 2 bytes 4 bytes 1 byte 2 bytes Variáveis e Constantes Tipos de Dados 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: Tipo de dado real real single double extended comp Faixa de abrangência de 2.9 e-39 até 1.7 e38 de 1.5 e-45 até 3.4 e38 de 5.0 e-324 até 1.7e308 de 3.4 e-4.932 até 1.1 e4.932 de –9.2 e18 até 9.2 e18 Tamanho(bytes ) 6 bytes 4 bytes 8 bytes 10 bytes 8 bytes Variáveis e Constantes Tipos de Dados Caracteres São considerados tipos caracteres, as seqüências contendo letras, números e símbolos especiais. Uma seqüência de caracteres, em Pascal, deve ser representada entre apóstrofos (‘’). Este tipo de dado é referenciado pelo identificador string, podendo armazenar de 1 até 255 caracteres. Podemos ainda especificar um tamanho menor do que os 255 caracteres permitidos. Vejamos a sintaxe para criarmos uma variável do tipo string com tamanho limitado. Sintaxe: variável : string[tamanho]; Vejamos um exemplo do uso de strings: var Frase : string; Nome : string[45]; Variáveis e Constantes Existe ainda o tipo char, utilizado da mesma forma que o tipo string, porém com uma pequena diferença: é usado para strings de apenas um caracter. Vejamos um exemplo do tipo de dado char: var Sexo : char; Variáveis e Constantes Tipos Lógicos São caracterizados tipos lógicos, os dados com valores true (verdadeiro) e false (false). Este tipo de dado também e chamado de tipo boleano. Ele é representado pelo identificador boolean. Vejamos um exemplo da utilização do tipo de dado boolean: var Aprovado : boolean; Confirma : boolean; Variáveis e Constantes Variáveis Variável, no sentido de programação, é uma região previamente identificada, que tem por finalidade armazenar informações (dados) de um programa temporariamente. Uma variável armazena apenas um valor por vez. Sendo considerado como valor o conteúdo de uma variável, este valor está associado ao tipo de dado da variável. Sintaxe: var identif [ , identif ]... : tipo-de-dado; [identif [ , identif ]... : tipo-de-dado; ] ... onde: tipo-de-dado é um dos tipos predefinidos ou um tipo definido pelo usuário: Vejamos um exemplo: var Soma, Total, Salario : real; Idade, Contador : integer; Variáveis e Constantes Constantes Uma constante é um valor que não pode ser alterado durante a execução do programa, sendo que seu tipo é definido por seu conteúdo. Sintaxe: const identificador = expressão; ... identificador = expressão; Vejamos um exemplo: Variáveis e Constantes program Area_Circulo; { Programa para calcular a área de um círculo. } const PI = 3.141519265; var Area, Comprimento, Raio : real; begin writeln( ´Digite o Raio : ´ ); readln( Raio ); Area := PI * Raio * Raio; Comprimento := 2 * PI * Raio; writeln( ´Área = ´, Area ); writeln( ´Comprimento da Circunferencia = ´, Comprimento ); end. Operadores e Expressões Um programa tem como característica fundamental a capacidade de processar dados. Processar dados significa realizar operações com estes dados. O uso de operadores permite a realização de tais operações. Exemplo: o símbolo + é um operador que representa a operação aritmética de adição. Operadores e Expressões Uma expressão é um arranjo de operadores e operandos. A cada expressão válida é atribuído um valor numérico. Exemplo: 4 + 6 é uma expressão cujo valor é 10. Os operandos podem ser variáveis, constantes ou valores gerados por funções. Os operadores identificam as operações a serem efetuadas sobre os operandos. Cada tipo de dados possui um conjunto de operadores relacionados. Os operadores classificam-se em Unários e Binários, conforme tenham um ou dois operandos, respectivamente. Operadores e Expressões Prioridade das Operações Se vários operadores aparecerem em uma expressão, a ordem de execução das operações será dada segundo os critérios abaixo : pelo emprego explícito de parênteses; pela ordem de precedência existente entre os operadores; e se existirem operadores de mesma ordem de precedência, a avaliação será feita da esquerda para a direita.. Vejamos a ordem de precedência dos operadores ( da maior para a menor ): Operadores ( ) not * / div mod and or = <> < > <= >= Categoria Parêntesis Operador Lógico Unário Operadores Multiplicativos Operadores Lógicos Operadores Relacionais Operadores e Expressões Tipos de Expressões Existem três tipos básicos de expressões: Numéricas: uma expressão é numérica quando os seus operandos são numéricos ( inteiros ou reais ) e o resultado também é um valor numérico. Literais: Uma expressão é literal quando os seus operandos são literais do tipo string (não pode ser char) e o resultado também é um valor literal. Só existe um único operador para se usar em expressões literais, o operador Concatenação( + ). Booleanas: Uma expressão é booleana quando seu resultado é do tipo boolean (TRUE ou FALSE), podendo seu operando serem de qualquer tipo de dados. Nas expressões relacionais são usados os operadores Lógicos e os Relacionais. Operadores e Expressões Tipos de Operadores Existem vários operadores para a realização de expressões em Pascal. Veremos agora algumas das mais importantes. Operador de Atribuição O operador de atribuição é utilizado para atribuir o valor de uma expressão a uma variável. Sintaxe: identificador_variável := expressão; Vejamos um exemplo: A := 10; Nome := ´Josias´; Operadores e Expressões Operadores Aritméticos Os operadores aritméticos são utilizados para efetuar operações aritméticas com número inteiros e reais. A tabela abaixo apresenta os operadores aritméticos existentes em Pascal. Operador Subtração Adição Multiplicação Divisão Real Divisão Inteira ( truncada ) Resto da Divisão Inteira Inverte Sinal Mantém Sinal Símbolo – + * / div mod – + Operadores e Expressões Operador de Concatenação O operador de concatenação efetua a junção de duas variáveis ou constantes do tipo string. Vejamos um exemplo: var PreNome, SobreNome, NomeCompleto : string[ 30 ]; begin { Suponhamos o nome Josias Lima Santos } PreNome := ´Josias´; SobreNome := ´Santos´; NomeCompleto := PreNome + SobreNome; writeln( NomeCompleto ); NomeCompleto := ´Jose´ + ´Maria´; writeln( NomeCompleto ); ... end. Operadores e Expressões Operadores Relacionais Os operadores relacionais são utilizados para efetuar a comparação entre dados de mesmo tipo. Os operadores relacionais existentes em Pascal podem ser vistos na tab.4.2. Operador Maior que Menor que Maior ou igual Menor ou igual Igual Diferente Símbolo > < >= <= = <> Operadores e Expressões Operadores Lógicos Os operadores lógicos são utilizados para se analisar duas ou mais expressões interrelacionadas. A tab. 4.3 exibe os operadores lógicos existentes em Pascal. Operador Símbolo E and OU or NÃO not Operadores e Expressões Abaixo, segue três tabelas-verdade, contendo o resultado do uso dos operadores lógicos sobre dois operandos. OPERADOR AND OPERANDO 1 TRUE TRUE FALSE FALSE OPERANDO 2 TRUE FALSE TRUE FALSE RESULTADO TRUE FALSE FALSE FALSE Operadores e Expressões OPERADOR OR OPERANDO 1 OPERANDO 2 TRUE TRUE TRUE FALSE FALSE TRUE FALSE FALSE OPERADOR NOT OPERANDO TRUE FALSE RESULTADO FALSE TRUE RESULTADO TRUE TRUE TRUE FALSE Operadores e Expressões Funções predefinidas O Pascal oferece um conjunto de funções predefinidas (built-in functions), que são usadas com vários tipos de dados simples. As funções, na maioria das vezes, necessitam de dados como parâmetro (dados de entrada). Funções Matemáticas Funções Literais Operadores e Expressões Funções Matemáticas Operadores e Expressões Funções Literais Operadores e Expressões Funções para Conversão Funções e Procedimentos de Uso Geral Operadores e Expressões