guia de referência da linguagem pascal

11
Prof. Tiago Chagas da Silva Cruz [email protected] ASSOCIAÇÃO DE ENSINO E CULTURA PIO DÉCIMO S/C LTDA COLÉGIO PIO DÉCIMO NÚCLEO DE INFORMÁTICA PROGRAMAÇÃO ESTRUTURADA PASCAL GUIA DE REFERÊNCIA Prof. Tiago Chagas Silva Cruz Aracaju – Sergipe 2006

Upload: saddam-oneil

Post on 22-Jun-2015

26 views

Category:

Documents


10 download

DESCRIPTION

Guia de referência da linguagem de programação Pascal

TRANSCRIPT

Page 1: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

ASSOCIAÇÃO DE ENSINO E CULTURA PIO DÉCIMO S/C LTDA COLÉGIO PIO DÉCIMO

NÚCLEO DE INFORMÁTICA

PROGRAMAÇÃO ESTRUTURADA

PASCAL

GUIA DE REFERÊNCIA

Prof. Tiago Chagas Silva Cruz Aracaju – Sergipe

2006

Page 2: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

1. Identificadores

São os nomes escolhidos para representar constantes, variáveis, tipos, funções, procedimentos, programas, e registros. Estes nomes obedecem algumas regras:

a) O identificador deve ter como primeiro caracter uma letra; b) Após a primeira letra o identificador só pode conter: letras, dígitos ou sublinha ( _ ); c) O identificador não pode contar espaço.

Não existe distinção entre letras maiúscula e minúscula, mas elas devem ser usadas para dar mais clareza aos identificadores.

2. Palavras Reservadas

São palavras que têm sentido pré-determinado na linguagem, sendo elas:

ABSOLUTE END INLINE PROCEDURE TYPE AND EXTERNAL INTERFACE PROGRAM UNIT

ARRAY FILE INTERRUPT RECORD UNTIL BEGIN FOR LABEL REPEAT USES CASE FORWARD MOD SET WHILE CONST FUNCTION NIL SHL VAR

DIV GOTO NOT OF WITH DO IF THEN ELSE TO IN STRING XOR PACKED

3. Comentários

Usa-se os símbolos { e } , (* e *) ou // , para indicar que o texto entre os delimitadores é um comentário, o qual não tem sentido para o compilador.

4. Estrutura de um Programa em Pascal

Um programa em pascal tem a seguinte estrutura: Program Nome_do_Programa; Uses ... {utilização de bibliotecas} Const ... {definição de constantes}

Var ... {definição das variáveis} Procedure ... {definição dos procedimentos} Function ... {definição das funções} Begin {início do programa} < comandos> End. {fim do programa} Obs.: Lembrar de colocar ao final de cada linha o caracter “ ; “.

Page 3: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

5. Tipos de Variáveis

Tipo Intervalo Tamanho Integer -32768 a 32768 2 bytes Word 0 a 65535 2 bytes LongInt -2147483648 a 2147483647 4 bytes Byte 0 a 255 1 byte Real 2.9*10-39 a 1.7*1038 6 bytes Double 5*10-324 a 1.7*10308

(15 dígitos) 8 bytes

Char Caracteres do teclado 1 byte String 255 caracteres 2 a 256 bytes Boolean TRUE ou FALSE 1 byte

6. Declaração de Constantes (Const)

Certos valores que aparecem em diversas partes do programa e que não devem ser alterados podem ser declarados como constantes.

Ex: Const Polegada = 2.54; NotaMaxima = 5.0; LimiteCompras = 1000000.0; PI = 3.14;

7. Declaração de Variáveis

Cada variável deve ser declarada segundo o seu tipo. Ex: Var Matricula,idade : integer; Nome : string; Sobrenome : string[10]; {define o tamanho da string} Nota,media : real; Jovem : boolean; Obs. As variáveis não são automaticamente inicializadas quando declaradas. Devendo-se tomar cuidado especial com as variáveis que servirão como acumuladores. Ex: Var Soma : integer; Begin Soma := 0; {inicial a variável com 0 (zero)}

Page 4: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

End.

8. Comandos Básicos de Entrada e Saída 8.1 Comandos de Entrada de Dados

Permite a entrada de dados via teclado. Os dois comandos se diferenciam, pelo fato, de que o primeiro produz a mudança de linha do cursor na tela após a digitação, e o segundo não (o cursor se posiciona na mesma linha e na coluna seguinte a informação digitada).

READ ( <variável> ); READLN ( <variável> );

Ex: read(nota); readln(nome); 8.2 Comandos de Saída de Dados

Permite escrever algo num dispositivo de saída, se o dispositivo não for especificado o default será a tela do micro. Onde expressão pode conter uma lista de variáveis e expressões de qualquer tipo. WRITE ( <expressão> ); WRITELN ( <expressão> ); Ex: writeln(‘Matrícula: ‘,matricula, ‘ ‘,’Média: ‘, (nota1 + nota2)/2 ); writeln; {produz a mudança da linha} Formatação A formatação se aplica apenas para os elementos impressos. O formato da impressão de variáveis, constantes, corresponde ao tamanho do campo de impressão, que deve ser especificado ao lado de cada informação. Writeln(matricula:6, nome:30, media:4:2); No caso de números reais deve-se especificar também o tamanho do campo decimal.

9. Operações Básicas

As expressões são definidas de acordo com os operadores:

a) Atribuição:

Page 5: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

Media := (Nota1 + Nota2 + Nota3) / 3;

b) Operadores Aritméticos: * , / , + , - , DIV, MOD c) Operadores Relacionais: = , <> , > , < , >= , <=

d) Operadores Lógicos: not , and, or

10. Funções Pré-Definidas

Funções pré-definidas são aquelas já incorporadas na linguagem, sendo as mais importantes:

Exp(x) Retorna e (base dos logaritmos naturais) elevado a x Ln(x) Retorna o logaritmo neperiano de x Dec(x) Decrementa 1 da variável x Int(x) Retorna a parte inteira de um número real

Round(x) Arredonda x Trunc(x) Trunca a porção decimal de x ABS(x) Retorna o valor absoluto de x SQR(x) Retorna o quadrado de x SQRT(x) Retorna a raiz quadrada de x

Random(x) Gera número randômico entre 0 e x, deve-se usar Randomize

Chr(x) Retorna um caracter da tabela ASCII de acordo com o valor de x

Ord(x) Retorna o número da tabela ASCII de acordo com o valor de x

Frac(x) Retorna a parte fracionada de um número Odd(x) Retorna TRUE de o valor de x for IMPAR

11. Comandos de Controle (ESTRUTURADOS)

Os comandos estruturados se diferenciam dos comandos simples, pelo fato de possuírem outros comandos internamente, formando uma estrutura de controle. As estruturas de controle são: seqüência, seleção e repetição.

a) SELEÇÃO a.1) IF ... THEN .. ELSE Se a condição for satisfeita então executa um bloco de tarefas senão executa outra tarefa ou cai fora da estrutura. If <condição> then <comando>; ou if <condição> then

Page 6: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

<comando> else <comando>; Ex: if MEDIA >= 6 then begin Writeln(‘O aluno ‘,nome, ‘ foi aprovado com sucesso.’). Writeln(‘A média foi: ‘,media:4:2); end else begin Writeln(‘O aluno ‘,nome, ‘ foi reprovado.’). Writeln(‘A média foi: ‘,media:4:2); end; a.2) CASE O comando CASE é um seletor de opções, executando a opção que for igual à expressão. case <expressão> of valor1 : <comando>; valor2 : <comando>; valor3 : <comando>; else <comando>; end; Ex: case numero of 1 : writeln(‘UM’);

2 : writeln(‘DOIS’); 3 : writeln(‘TRÊS’); 4 : writeln(‘QUATRO’); 5 : writeln(‘CINCO’);

else writeln(‘fora da faixa’); end;

b) REPETIÇÃO

b.1 ) FOR O comando for é o mais específico dos três. É usado no caso de uma repetição definida do tipo ‘faça N vezes’. Na sua execução, a variável recebe inicialmente o ValorInicial e é automaticamente incrementada (TO) ou decrementada (DOWNTO) até atingir o ValorFinal. For I := 1 To 100 Do ou For I := 100 Downto 1 Do

Page 7: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

Ex: For X := 1 to 10 do Writeln(‘O valor de X é: ‘, X); b.2 ) WHILE O comando while executa um teste inicial da expressão lógica. Caso este seja verdadeiro, o comando será repetido. Caso seja falso, a repetição termina. Este comando pode ser usado em todos os casos de repetição. Ex: x := 1; while x < 100 do // caso X for menor que 100 ele fica repetindo begin writeln(‘Digite um valor para A:’); read(a); x := x + a; end; b. 3) REPEAT O comando repeat executa o teste no final, permitindo que os comandos 1 a n sejam executados pelo menos uma vez. Ao contrário do comando while, este só termina a repetição quando a expressão lógica for verdadeira. Ex: Repeat Write(‘Aperte a tecla A’); Read(tecla); Until tecla = ‘a’;

Page 8: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

FUNÇÕES E PROCEDIMENTOS DE MANIPULAÇÃO DE TELA, NÚMEROS E STRINGS

1. Utilização de Bibliotecas ( UNITS ) no Pascal O pascal tem uma série de bibliotecas de funções e procedimentos que podem ser incorporados a qualquer programa na hora da compilação. Estas bibliotecas de funções são chamadas de UNITs. Para utilizar uma biblioteca dentro do programa devemos usar a cláusula USES. Sintaxe: Program biblioteca; Uses nome_da_biblioteca;

2. Manipulação de Tela (Biblioteca CRT); Os comandos para manipulação de telas no Pascal estão dentro de uma biblioteca de funções chamada CRT. 2.1) READKEY Espera que o usuário digite qualquer coisa. O resultado não é mostrado na tela. Pode-

se atribuir a tecla pressionada a uma variável do tipo char, ou desconsiderar o valor de retorno.

Ex: Begin Read(x); Write(x); Readkey; End. 2.2) CLRSCR Podemos limpar a tela do programa feito em Pascal utilizando o procedimento

CLRSCR. Ex: Begin Clrscr; Read(x); Write(x); Readkey; End.

Page 9: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

Obs: O comando CLRSCR pode ser utilizado em qualquer parte do programa, basta apenas ter a necessidade de limpar toda a tela.

2.3) TEXTCOLOR No pascal é permitido que o programador possa mudar a cor da letra. O procedimento

utilizado é TEXTCOLOR. Ex: Begin Clrscr; Textcolor(blue); Read(x) Textcolor(red); Write(x); Readkey; End. 2.4) TEXTBACKGROUND Para especificar a cor do fundo de um programa feito em pascal, basta utilizar o

procedimento TEXTBACKGROUND. Ex: Begin Clrscr; Textcolor(white); Textbackground(blue); Read(x); Write(x); Readkey; End. 2.5) GOTOXY Podemos posicionar o cursor em qualquer local da região da tela, para isso utilizamos

o procedimento GotoXY. Sintaxe: GOTOXY(coluna, linha); Obs: A posição é relativa à janela. Para saber em que posição está o cursor em um

determinado instante podemos utilizar as funções WhereX e WhereY, o valor retorna é respectivamente a coluna e a linha correspondente.

Ex: Begin For C := 1 to 10 do begin For L := 1 to 10 do Begin Gotoxy(C,L); Write(‘TESTE’); End; End;

Page 10: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]

Readkey; End. 2.6) WINDOW Podemos criar regiões na tela que passarão a ser a área de trabalho. Quando não especificamos nada, a região de trabalho ocupa toda a extensão do vídeo, isto é, 25 linhas e 80 colunas. Para criar uma região de trabalho usamos o procedimento WINDOW. Sintaxe: WINDOW(coluna_inicial, linha_inicial, coluna_final, linha_inicial); Ex: Program janela;

Uses crt;

Begin Textbackground(blue); Clrscr; Window(3,5,60,15); Writeln(‘teste da posição de impressão’); Readkey; End.

3 . Função UPCASE Esta função converte uma letra minúscula para a correspondente maiúscula. O parâmetro passado deve ser o tipo de CHAR. Caso a letra já esteja em maiúscula ou o caracter não seja uma letra, nada é feito. Sintaxe: UPCASE(variável); Ex: Var A : char; Begin Read(a); If UPCASE(a) = ‘M’ then Writeln(‘Sexo Masculino’) Else Writeln(‘Sexo Feminino’); Readkey; End.

Page 11: Guia de referência da linguagem Pascal

Prof. Tiago Chagas da Silva Cruz [email protected]