Sei sulla pagina 1di 9

INTRODUÇÃO À LINGUAGEM TURBO PASCAL

SÍMBOLOS BÁSICOS

letras maiúsculas: A..Z;


letras minúsculas: a..z;
dígitos: 0..9;
caracter sublinhado: _ e
outros caracteres especiais: * - = + / ( ) { } [ ] < > & % $ # @ : ; , . ? ´ ¶ \ ! ~
` ^ espaço

Os símbolos especiais individualmente ou em pares caracterizam os operadores


e delimitadores:

. fim de programa, decimal, seleção de membro em record


() precedência, parâmetro
+ adição, concatenação
- subtração, negação
/ divisão real
not não
div divisão inteira
mod resto da divisão inteira
and e
or ou
xor ou exclusivo
= igualdade, declaração
<> desigualdade ou diferente
> maior que
< menor que
>= maior ou igual
<= menor ou igual
* multiplicação
:= atribuição
in pertence a ou está contido
# prefixo que identifica o valor ordinal de caracter (0..255 - tabela ASCII)
, separador de lista
µ delimitador de sequência de caracteres
$ prefixo que indica um número hexadecimal
: declaração de tipo
.. identifica intervalo em tipo ordinal simples ou faixa de valores
; separa declarações e indica fim de definições, cabeçalhos, blocos, ...
[] referência a um elemento de um array
(. .) referência a um elemento de um array
{} delimita um comentário dentro de um programa
(* *) delimita um comentário dentro de um programa

IDENTIFICADORES

São nomes simbólicos que servem para representar programas, unidades,


constantes, tipos, variáveis, procedimentos, funções. Existem identificadores
predefinidos e definidos pelo usuário.

Um identificador deve respeitar as seguintes regras:


- o 1º caracter tem que ser uma letra;
- os demais podem ser letras, dígitos e o caracter sublinhado;
- somente os primeiros 63 caracteres são significativos;
- letras maiúsculas e minúsculas são consideradas iguais;
- não é permitido o uso de palavras reservadas e
- a redefinição de um identificador padrão impede o uso do procedimento,
função ou constante normalmente
associado a ele.

São palavras reservadas: AND, ARRAY, BEGIN, CASE, CONST, DIV, DO,
DOWNTO, ELSE, END, FILE, FOR, FUNCTION, IF, IN, MOD, NOT, OF, OR,
PROCEDURE, PROGRAM, RECORD, REPEAT, STRING, THEN, TO, TYPE,
UNTIL, USES, VAR, WHILE e outras.

OPERADORES

OPERADORES ARITMÉTICOS

+ adição
- subtração
* multiplicação
/ divisão real
div divisão inteira - quociente
mod divisão inteira - resto

OPERADORES LÓGICOS

or e
and ou
xor ou exclusivo
not não

OPERADORES RELACIONAIS

> maior
>= maoir ou igual
< menor
<= menor ou igual
= igual
<> diferente
in contido

TIPOS PREDEFINIDOS SIMPLES

TIPO LÓGICO

O tipo lógico é chamado de BOOLEAN, que assume um entre dois valores


predefinidos: false (falso) ou true (verdade), representados internamente por 0 e 1,
respectivamente.

TIPOS CARACTERES

Caracteres ordenados de acordo com o conjunto ASCII extendido (0..255),


normalmente representado entre apóstrofes. Podem ser: CHAR ou STRING.

CHAR Admite apenas um caracter.


Admite uma cadeia de até 255 caracteres. Deve-se declarar a quantidade
STRING
máxima de caracteres que se pretende guardar.
TIPOS NUMÉRICOS INTEIROS

TIPO INTERVALO DE VALORES


BYTE 0 .. 255
SHORTINT -128 .. 127
INTEGER -32768 .. 32767
WORD 0 .. 65535
LONGINT -2147483648 .. 2147483647

TIPOS NUMÉRICOS REAIS

TIPO INTERVALO DE VALORES


REAL 2.9 * 10 E -39 .. 1.7 * 10 E 38
SINGLE 1.5 * 10 E -45 .. 3.4 * 10 E 38
DOUBLE 5.0 * 10 E -324 .. 1.7 * 10 E 308
EXTENDED 3.4 * 10 E -4932 .. 1.1 * 10 E 4932
COMP -2 E 63 + 1 .. 2 E 63 - 1

ESTRUTURA DE UM PROGRAMA EM TURBO PASCAL

Os programas em Turbo Pascal podem ser estruturados utilizando a seguinte


sequência:
cabeçalho do programa, área de declarações e bloco de comandos.

CABEÇALHO DO PROGRAMA

PROGRAM nome_programa; { Identifica o programa; é opcional. }


USES nome_unit1, nome_unit2, ...; { Cláusula uses: identifica as bibliotecas (units)
usadas pelo programa. }

UNITS PADRÃO DO TURBO PASCAL

Usada pelas outras units padrão, contém todos os procedimentos e funções


SYSTEM
padrões do Turbo Pascal. É sempre carregada no programa.
DOS Funções e procedimentos do DOS.
Rotinas que permitem acesso a recursos de hardware do micro (vídeo e
CRT
som).
Declara um arquivo texto chamado LST e associa-o com o dispositivo
PRINTER
LTP1 (impressora).
GRAPH Contém rotinas gráficas. Requer a unit CRT.
Permite uso de programas maiores do que a memória. Troca partes do
OVERLAY
programa entre o disco e a memória.
WINDOWS Funções e procedimentos do ambiente windows.
STRINGS Possui procedimentos e funções que permitem manipular strings.

ÁREA DE DECLARAÇÕES

CONST constante1 = valor1; constante2 = valor2; ...; { Declara constante; o valor


atribuído à constante determina o tipo da mesma; é opcional. }
TYPE tipo1 = definição_tipo1; tipo2 = definição _tipo2; ...; { Declara novos tipos a
partir de outros já existentes; é opcional. }
VAR variável1, variável2, ...: tipo1; variávelx1, variávelx2: tipox; ...; { Declara
variáveis a serem usadas no programa. }

BLOCO DE COMANDOS

O bloco de comandos começa com a palavra reservada BEGIN e termina com a


palavra reservada END. Pode conter, procedimentos e funções.

COMANDOS

BEGIN comando1; comando2; ...; END; {Define um bloco de comandos. Se a sintaxe


do Turbo Pascal permite um comando simples também permitirá um bloco de
comandos. }

CASE expressão OF {Comando condicional de múltipla escolha.}


opção1: comando1;
opção2: comando2;
...
ELSE comando; {O else (falso) é opcional. }
END;

FOR variável := início TO fim DO comando; { Comando com repetição automática,


variável crescendo de início até fim. }

FOR variável := fim DOWNTO início DO comando; { Comando com repetição


automática, variável decrescendo de fim até início. }
IF condição THEN comando1 ELSE comando2; { Comando condicional. Se condição
for verdade o comando1 é executado, caso contrário, o comando2 é executado. O else
(falso) é opcional. }

REPEAT comando; ... UNTIL condição; { Executa o comando até que a condição seja
verdade. }

WHILE condição DO comando; { Executa o comando enquanto condição for verdade.


}

PROCEDIMENTOS E FUNÇÕES PREDEFINIDOS

Retorna o caracter correspondente ao código ASCII n.


CHR(n)
O mesmo que #código.
Apaga todos os caracteres desde a posição do cursor
CLREOL
até o fim da linha, mantendo a localização do cursor.
Limpa a tela e coloca o cursor no canto superior
CLRSCR
esquerdo.
DELAY(x) Espera durante x milisegundos.
GETDATE(ano, mês, dia,
Retorna a data do sistema operacional.
diasem)
GETTIME(hora, min, seg,
Retorna o horário do sistema operacional.
s100)
Posiciona, em modo texto, o cursor nas coordenadas
GOTOXY(coluna, linha)
especificadas.
KEYPRESSED Retorna true se alguma tecla for pressionada.
NOSOUND Interrompe um tom iniciado por sound.
Retorna um número pseudo aleatório entre 0 e faixa.
RANDOM(faixa) Se faixa não for especificada retorna valor entre 0.0 e
1.0.
Inicializa o gerador de números aleatórios com o valor
RANDOMIZE
atual do relógio do sistema.
READLN(variável) Lê variável.
READKEY Retorna um caracter lido do teclado.
Inicia um tom na frequência hz e continua até executar
SOUND(hz)
nosound.
TEXTBACKGROUND(cor) Seleciona a cor do fundo em modo texto.
TEXTCOLOR(cor) Seleciona a cor do texto em modo texto.
UPCASE(c) Retorna o caracter c convertido em maiúscula.
WINDOW(col1,lin1,col2,lin2) Define em modo texto uma janela no vídeo.
WRITE(µ...¶, variável) Escreve o que estiver entre apóstrofes e/ou o valor da
variável.

Exemplos de Programas em Turbo Pascal:

{ Dados dois valores numericos maiores que 0 calcular e }


{ escrever as quatro operacoes aritmeticas basicas. }

program exemplo;
uses crt;
var x, y, soma, subt, mult, divi: real;

begin
{ Prepara tela. }
textbackground(3);
textcolor(1);
clrscr;
gotoxy(20,4); write('OPERACOES ARITMETICAS');
gotoxy(15,7); write('1º Numero........:');
gotoxy(15,9); write('2º Numero........:');
gotoxy(15,11); write('Adicao...........:');
gotoxy(15,13); write('Subtracao........:');
gotoxy(15,15); write('Multiplicacao....:');
gotoxy(15,17); write('Divisao..........:');
window(35,7,75,20);
{ Entrada de dados, calculo e saida de resultados. }
repeat
gotoxy(1,1); clreol; readln(x);
until x>0;
repeat
gotoxy(1,3); clreol; readln(y);
until y>0;
soma:= x+y;
subt:= x-y;
mult:= x*y;
divi:= x/y;
gotoxy(1,5); write(soma:4:1);
gotoxy(1,7); write(subt:4:1);
gotoxy(1,9); write(mult:4:1);
gotoxy(1,11); write(divi:4:1);
gotoxy(1,14); write('Tecle <enter> para sair.');
repeat until readkey=#13;
clrscr;
{ Retorna a tela toda e as cores padrao de fundo e texto. }
window(1,1,80,25);
textcolor(15);
textbackground(0);
clrscr;
end.

{ Exemplo de programa em Turbo Pascal }

program exemplo;
uses crt;
var ra: string[9];
nome: string[25];
nota1, nota2, ntrab, media: real;
k: byte;
begin
{ Prepara tela. }
textbackground(3);
textcolor(5);
clrscr;
gotoxy(20,4); write('CONTROLE DE NOTAS');
gotoxy(15,7); write('Registro Academico.:');
gotoxy(15,9); write('Nome do Aluno......:');
gotoxy(15,11); write('1ª Prova...........:');
gotoxy(15,13); write('2ª Prova...........:');
gotoxy(15,15); write('Trabalho...........:');
gotoxy(15,18); write('Media Final........:');
window(37,7,75,20);
textbackground(7);
clrscr;
{ Entrada de dados, calculo e saida de resultados. }
gotoxy(1,1); clreol; readln(ra);
while ra<>'' do
begin
repeat
gotoxy(1,3); clreol; readln(nome);
until nome<>'';
repeat
gotoxy(1,5); clreol; readln(nota1);
until (nota1>=0) and (nota1<=10);
repeat
gotoxy(1,7); clreol; readln(nota2);
until (nota2>=0) and (nota2<=10);
repeat
gotoxy(1,9); clreol; readln(ntrab);
until (ntrab>=0) and (ntrab<=10);
media := (nota1+nota2+ntrab)/3;
gotoxy(1,12); write(media:4:1);
gotoxy(1,14); write('Tecle <enter> para continuar.');
repeat until readkey=#13;
clrscr;
gotoxy(1,14); write('Digite RA ou tecle <enter> para sair.');
gotoxy(1,1); clreol; readln(ra);
gotoxy(1,14); clreol;
end;
{ Retorna a tela toda e as cores padrao de fundo e texto. }
window(1,1,80,25);
textcolor(15);
textbackground(0);
clrscr;
end.

Potrebbero piacerti anche