Prof. Marcelo Walter - UFPE

BREVE TUTORIAL SOBRE PASCAL


A. Estrutura de um programa em PASCAL


- Todo programa começa com a declaração program seguido do nome do programa

- Em seguida deve-se declarar as variáveis

- O programa em si começa com a palavra reservada begin e encerra com a palavra reservada end seguida do ponto final


Exemplo: O programa abaixo apenas lê um número inteiro fornecido via teclado e imprime este número na tela.


program  LENUMERO;

{ Declaracao das variaveis}

var

    numero: integer;

{ Aqui comeca o programa propriamente dito }

begin

    readln(numero); { Le um numero inteiro }

    writeln(numero); { Imprime este numero na tela }

end.


B. Variáveis


- As variáveis são regiões de memória identificadas por um nome e que armazenam algum tipo de dado.

- Tipos principais de dados:


    BOOLEAN – Tipo de dado lógico. Pode receber somente os valores TRUE (verdadeiro) ou FALSE (falso)


    REAL – Define dados numéricos fracionários. Intervalo de representação (2.9e-39 até 1.7e+38)


    INTEGER – Define dados numéricos inteiros. Intervalo de representação (-32768 até 32767)


    STRING – Cadeia de caracteres. Exemplos 'ufpe', 'ax345', ‘angelina_brad_pitt’


    CHAR – Tipo alfanumérico (pode ser um número ou caracter). Apenas um caractere


- Regras para nomes de variáveis


    * O primeiro caractere do nome deve ser necessariamente uma letra (exemplos: n1, v4567, t_var)

    * O nome de uma variável não poderá conter espaços em branco

    * Palavras reservadas de PASCAL não poderão ser nomes de variáveis

    * Não podem ser utilizados caracteres especiais, com exceção do SUBLINHADO

    * Procure dar nomes significaticos às variáveis. Por exemplo, se uma variável for armazenar o valor do resultado de uma soma, procure usar um nome que expresse isto (exemplo: resultado), e não um nome genérico como x ou y.



C. Comandos Básicos de Entrada e Saída


Os comandos básicos de Entrada e Saída permitem ler informações via teclado e imprimir informações na tela.


    * readln(nome da variável) - permite ler um valor via teclado. O valor é lido somente após o usuário pressionar a tecla Enter. O valor lido é armazenado no nome da variável declarada como parâmetro.


    * writeln(mensagem, nome da variável) – escreve o valor da variável em algum dispositivo de saída, normalmente a tela do computador. O formato padrão de apresentação do valor é em notação científica. Para apresentar em outro formato, devemos especificar este formato após o nome da variável a ser impressa. O formato de especificação é o de dois números separados por 2 pontos. O primeiro número corresponde ao tamanho total de posições de um número real (incluindo a vírgula e o valor fracionário) e o segundo corresponde ao número de casas depois da vírgula. A mensagem será impressa na tela antes do valor da variável.



Exemplo:

writeln(‘O numero pressionado foi:’, numero:7:2);


D. Operações Aritméticas


Permitem a execução de cálculos aritméticos. São representadas pelos símbolos tradicionais de matemática para adição (+), subtração (-), divisão (/) e multiplicação (*). Não esqueça da prioridade na execução das operações, ou seja, divisão e multiplicação tem prioridade sobre adição e subtração. Use parênteses para modificar a prioridade das expressões. A atribuição do resultado de uma expressão aritmética a uma variável é feita utilizando-se a combinação de sinais :=


Por exemplo:


        resultado := numero1 / numero2;


No exemplo acima, a variável resultado recebe o valor resultante da divisão do número armazenado em numero1, dividido pelo número armazenado na variável numero2.


E. Uso de funções específicas em PASCAL


PASCAL tem um número grande de funções pré-definidas que executam operações que podem ser úteis.


FUNÇÕES ARITMÉTICAS


    * ABS retorna o valor absoluto de um valor numérico. Exemplos:


num := abs(-2.3);

a variável num conterá o valor 2.3 após a execução do comando

num := abs(-157);

a variável num conterá o valor 157 após a execução do comando

num := abs(19.38);

a variável num conterá o valor 19.38 após a execução do comando.

O valor de entrada pode ser inteiro ou real. O valor retornado será do mesmo tipo do parâmetro de entrada;


    * FRAC retorna a parte fracionária do valor de entrada. Exemplos:


num := frac(123.45);

a variável num conterá o valor 0.45 após a execução do comando

num :=  frac(-123.45);

a variável num conterá o valor -0.45 após a execução do comando

O valor de entrada e o valor retornado devem ser do tipo REAL;


    * INT retorna a parte inteira do valor de entrada. Exemplos:


num := int(123.45);

a variável num conterá o valor 123.0 após a execução do comando

num :=  int(-123.45);

a variável num conterá o valor -123.0 após a execução do comando

Tanto os valores de entrada como os valores retornados são do tipo REAL;


    * ROUND retorna o valor de entrada arredondado para o inteiro mais próximo. Exemplos:


num := round(-27.8);

a variável num conterá o valor  -28 após a execução do comando

num := round(27.3);

a variável num conterá o valor  27 após a execução do comando

O valor de entrada é do tipo REAL e retorna um valor do tipo INTEGER;


    * TRUNC retorna o valor de entrada truncado em inteiro. Exemplos:


num := trunc(27.8);

a variável num conterá o valor  27 após a execução do comando

num := trunc(345.789);

a variável num conterá o valor  345 após a execução do comando

O valor de entrada deve ser REAL e o valor retornado é do tipo INTEGER.


FUNÇÕES E PROCEDIMENTOS PARA MANIPULAÇÃO DE CADEIAS DE CARACTERES


    * LENGTH(S:string):integer;


Retorna um inteiro com o tamanho da cadeia de caracteres S


    * COPY(S:string, Posicao, Comprimento: integer):string


Retorna uma cadeia de caracteres que inicia no caracter de posição P e contém a quantidade de caracteres especificada em Comprimento


    * INSERT(s1, s2: string, posicao:integer);

Procedimento que insere s1em s2 a partir da posição especificada

Última atualização 16/11/2006