Escolar Documentos
Profissional Documentos
Cultura Documentos
SUMÁRIO
Palavras reservadas
mmFundamentos de programação – Algoritmos, estruturas de dados e objetos
J.1.1 Identificadores
WriteLn Exit CadeiaReal System Rosas
Um_mês Nome_Sobrenome Dia_do_Mês Pedro_um
J.1.3 Comentários
{Qualquer texto fechado entre chaves}
{*É também um comentário válido*}
Declarações const
de constantes Secreto = ‘R2D2’;
Declarações Type
de tipos Formato = string [12]
Declaração var
de variáveis Resposta : formato;
J.2 UNIDADES
J.3 DISPOSITIVOS
COM Terminal
PRN Impressora
AUX Dispositivo auxiliar
LPT1 Impressora
NULL Dispositivo nulo
mmFundamentos de programação – Algoritmos, estruturas de dados e objetos
Byte 0 .. 255
Integer -32768 .. 32767
LongInt 2147483648 .. 2147483647
ShortInt -128 .. 127
Word 0 .. 65535
Números reais:
Caractere:
Char Qualquer caractere ASCII
Cadeias:
String Seqüência de até 255 caracteres ASCII. Se não se especifica um tamanho, se utilizará por defeito 255.
Ponteiros:
Pointer Direção de um elemento dado, procedimento ou função.
const
Máximo : Integer = 425;
Fator : Real = -12,5;
const
Mín : Integer = 0;
Máx : Integer = 100;
type declaração não válida
Lista = array [Mín..Máx] of Integer;
a declaração Lista não é válida. Mín e Máx são constantes de tipos
Tipo cadeia:
const
Cabeçalho : string[10] = ‘Cidades’;
Nova Linha: string[2] = #13#10;
Resposta : string[5] = ‘Sim’;
Tipo estruturado:
const
Dígitos : array [0..0] of Chars
(‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’);
const
Dígitos = array[0..0] of Char = ‘0123456789’;
type
Matriz = array [0..1, 0..1, 0..1] of Integer;
const
Lista : Matriz = (((0,1), (2,3)), ((4,6), (7,9)));
Tipo registro
type
Ponto = record
x, y : Real;
end
Vetor = array [0..1] of Ponto;
const
Origem : Ponto = (X:0,0; Y:0,0);
Linha : Vetor = ((X:-4,5; Y:1,5), (X:6,4; Y:5,0));
Tipo objeto:
type
Ponto = object
x,y : Integer;
end;
const
Origem : Ponto = (x:0; y:0);
Tipo conjunto:
type
Dígitos = set of 0..9;
Letras = set of ‘A’..‘Z’;
Manual de sintaxe de Pascal (Borland Turbo Pascal 7.0 e Delphi)mm
const
Pares : Dígitos = [0,2,4,6,8];
Vocais : Letras = [‘A’, ‘E’, ‘I’, ‘O’, ‘U’];
Tipo ponteiro:
type
Direção = (esquerda, direita, acima, abaixo);
PNódulo = ^NóduloT;
NóduloT = Record
...
end;
const
S1 : string[5] = ‘ABAIXO’;
N1 : NóduloT = (Seguinte : nil; Símbolo : @S1; Valor : Abaixo);
Tipo procedimento:
type
{$F*} = procedure (CódigoErro: Integer);
procedure ErroPorOmissão {CódigoErro : Integer};
begin
WriteLn (‘Erro’, CódigoErro, ‘,’);
end;
const
ManipuladorErros : ProcErro = ErroPorOmissão;
J.6 OPERADORES
J.6.1 Aritméticos
Operador Sintaxe Significado
J.6.2 Lógicos
Operador Sintaxe Significado
J.6.3 Relacionais
Operador Sintaxe Devolve verdadeiro se:
J.6.4 De conjuntos
Operador Sintaxe Devolve verdadeiro se:
J.6.5 Direção
@ Direção de variável, procedimento ou função.
J.6.6 Concatenação
+ Concatena duas cadeias.
1 (alta) @NOTunitário + –
2 *./, DIV, MOD, AND, SHL, SHR
3 binário +, -, OR, XOR
4 (baixa) =, < >, < >, <=, >=, IN
Manual de sintaxe de Pascal (Borland Turbo Pascal 7.0 e Delphi)mm
J.7 SENTENÇAS
J.7.1 Atribuição
<identificação> := <expressão>
gama := alto-baixo;
conta := conta + 1;
J.7.2 Compostas
begin <sentenças> end
begin
z := 5
GetReal (‘Valor’, ValorReal);
WriteLn (ValorReal);
end
for k : = 1 to 10 do for j : = 1 to 10 do
WriteLn (‘corpo do laço’); begin
j : = j + z;
WriteLn (`passos ; ´ passos : 2);
passo : = passo + 1
end;
WriteLn (‘fora do laço’);
for i := 10 downto 10 do
begin
Resultado := i * Resultado;
WriteLn(‘Laço’, i, Resultado);
end;
program Principal
begin
...
end;
procedure Dos (c:...; var x...); parâmetros locais c, y, x, z, w
var
z,w:...;
begin
...
end;
begin {Principal}
...
Um (y,z);
...
Dois (w,y,x);
...
end.
Para eliminar possíveis efeitos colaterais, devemos evitar utilizar variáveis globais em subprograma ou
identificadores idênticos para quantidades diferentes.
Turbo Pascal contém procedimentos e funções padrão (incorporadas ou predefinidas) e variáveis pré-declaradas
na unidade System.Todos eles estão declarados na unidade System, conseqüentemente, não necessitamos nenhuma
sentença uses quando desejamos utilizar algum deles.
Exemplo
y := abs(x)* 2 z := Int(345,678);
z := ArcTan(1.75); t := Ln(1,25);
Tan := Sin(x)/cos(x); z := ArcTan(Pi);
Pot := Exp(3); z := Sin(Pi);
R := Frac)-245.123); f := Sqr(3,45);
f := Sqrt(1,2345);
12mmFundamentos de programação – Algoritmos, estruturas de dados e objetos
Exemplos
Write (Chr(i)); Round(5,449) devolve 5
Ord (‘A’) Trunc(-3,14) devolve –3
Trunc(6,5) devolve 6
Exemplos
Exemplos
Dec(z); for Dia := Low(ADia) to High (ADia) do
Inc(z); begin
...
for i := 0 to Hight (x) do end;
s := s + x[i];
Pred(‘z’) devolve ‘4’
Succ(1946) devolve 1947
Procedimentos
Delete Delete(var s:string ; Apaga uma subcadeia a partir de uma posição em uma
Pos,Len:Integer); cadeia.
Insert Insert(var s:string; var D: Insere uma subcadeia em uma posição de uma cadeia.
string; Pos:Integer);
Str Str(I:Integer; var s: Converte um valor numérico à cadeia.
string);
Str(R:Real; var s:string );
Val Val(s:string; var R:Real,P: Converte uma cadeia a seu valor numérico.
Integer);
Val(s:string; var
I,P:Integer);
Funções
Exemplos
Cadl := ‘computador’; Str(Maxint,Cad);
Delete(Cad1,4,3); WriteLn(Cad);
Insert(‘put’Cad1,4); Val(‘32425’,r,e);
s := Concat (‘xyz’, ‘LUIS’); s := copy (s, 2, 3);
t := Length(Cad);
14mmFundamentos de programação – Algoritmos, estruturas de dados e objetos
Exemplos
p := Addr(p);
if Assigned(p) then WriteLn(‘ok);
p := Ptr(Cseg,I);
p := Ptr(Dseg,I);
WriteLn(`offset=´ Ofs(p2));
Baixo := Ptr(0000,$046c);
WriteLn(‘seg(I)=’,seg(I));
Procedimentos
Funções
Exemplos
var Tf:TExt; Reset(F);
F:File; Seek(Tf,12);
Assign(Tf,‘TEXT.TXT’); Read(Tf,ch);
Rewrite(Tf); SetTextBuf(F,Buffer,512);
Close(Tf);
Append(Tf); Existe := (IOResult = 0);
BlockRead(F,A,10,Resultado); while not SeekEof(Tf) do
BlockWrite(F,A,I,Resultado); begin
Erase(F) ReadLn(Tf,S);
Seek(F,FileSize(F)); Inc(C2);
Flush(F) end
16mmFundamentos de programação – Algoritmos, estruturas de dados e objetos
J.10.1 Declaração
function <identificador> (<parâmetros formais>): <tipos>;
<declarações locais>
begin
<corpo da função>
end;
J.11 ARQUIVOS
Final de arquivo
Eof(<identificador de arquivo>);
Apagar arquivos
Erase(<identificador de arquivos>);
Posicionamento em registro
Seek(<identificador de arquivo>, <número de registro>);
Símbolo Significado
As unidades Crt e Printer são utilizadas com pouca freqüência pelos programadores. Printer envia saída
a sua impressora. A unidade Crt implementa uma ampla e potente gama de rotinas que lhe proporciona um
controle completo de características de seu PC, tal como controle de modo da tecla, códigos de teclado esten-
dido, cores, janelas e sons. Por sua importância prática para o programador, selecionamos as características
mais notáveis utilizadas em programação profissional.
Lembre-se de que, para utilizar a unidade Crt ou Printer em seu programa, deve incluir a clausula uses
como qualquer outra unidade.
Funções
KeyPressed KeyPressed Devolve true se teclada uma tecla do teclado; será false, caso contrário.
ReadKey ReadKey Lê um caractere do teclado.
WhereX WhereX Devolve coordenada x da posição atual do cursor.
WhereY WhereY Devolve coordenada y da posição atual do cursor.
Exemplos
repeat Car := Readkey;
Write(‘Zz’);
until KeyPressed; gotoxy(1; whereY-1);
Procedimentos
Gotoxy(1,10); Window(1,10,60,20);
Write(‘Mackoy); DelLine;
ClrEol; Write(‘Mortimer’);
ReadLn(Car); InsLine;
Sound(440); repeat
Delay(500); x := Succ Random(80));
NoSound; y := Succ(Random(80));
Window(x,y,x + Random(10);
y + Random(10));
TexBackground Random(15))
ClrScr;
until KeyPressed;
20mmFundamentos de programação – Algoritmos, estruturas de dados e objetos
• Constantes:
Inteiras (podem ser escritas em notação hexadecimal, com prefixo $).
De cadeias: são compatíveis com tipos string e podem conter caracteres de controle e outros caracteres
não impressos.
• Novos tipos inteiros:
shortint longint byte Word
REFERÊNCIA
JOYANES, Luis. Programación en Turbo Pascal. 3ª. ed. Madri: McGraw-Hill, 1997.
JOYANES, Luis. Turbo/Borland Pascal: Iniciación y referencia. Madri: McGraw-Hill, 1997.
JOYANES, Luis; Hermoso, Angel; Zahonero, Ignacio. Pascal: Um enfoque prático. McGraw-Hill, 1998.