------------------------------------------------------------------------
Tutorial de Turbo Pascal�
------------------------------------------------------------------------
1- Tipos de Vari�veis
2- Units
3- Comandos B�sicos
4- Estruturas Condicionais
������� 4.1 If.. Then.. Else
��������� 4.2 CASE
5- Estruturas de Repeti��o
������� 5.1 For
��������� 5.2 While
��������� 5.3 Repeat
6- Manipula��o de Strings
7- Functions e Procedures
8- Arquivos e Registros
�
�
BEGIN
�- Todo programa come�a com a declara��o PROGRAM seguido de um nome do programa.
�- Ap�s deve-se declarar as unidades.
�- Declarar as vari�veis.
�- O algor�tmo em si come�a com BEGIN e termina com END. (n�o esque�a do ponto no
end);
�- Todas as instru��es terminam com ; .
��� Ex.:
�� Program example;
��� Uses crt;
��� Var x : integer;
���������� y : real;
�
��� Begin
����������� {Aqui vai o algor�tmo}
��� End.
�
1 - Tipos de VARI�VEIS
��� - Boolean : ocupa 1 byte, s� pode ter os valores True ou False (Verdadeiro ou
Falso);
��� - Real : ocupa 6 bytes, seus valores v�o de 1E-38 at� 1E+38;
��� - Integer : ocupa 2 bytes, seus valores v�o de -32768 at� 32767, do tipo
inteiro;
��� - Word : ocupa 2 bytes, inteiro de 0 a 65535;
��� - Longint : ocupa 4 bytes, valores inteiros de -2147483648 a 2147483647;
��� - Shortint : inteiros de -128 a 127;
��� - Byte : ocupa 1 byte, tipo inteiro de 0 a 255;
��� - Char : ocupa 1 byte, tipo alfanum�rico, seu conte�do � qualquer valor da
tabela ASCii;
��� - String : ocupa de 2 a 256 bytes, cadeia de caracteres;
As pr�ximas vari�veis s�o s� para o Turbo Pascal 5 ou superior
��� - Single : tipo real com 7 digitos
��� - Double : tipo real com 15 digitos
��� - Extended : tipo real com 19 digitos
��� - Comp : inteiros de -10E18 at� 10E18
��� Obs: A atribui��o de um valor a uma variavel � com :=
����������� Soma:=(1+2+3+4);
2- UNITS
As units s�o rotinas separadas do programa principal. Para usar uma unit deve se
declarar Uses.
��� - CRT: rotinas de v�deo e som;
��� - DOS: Controles do SO;
��� - GRAPH: Rotinas gr�ficas;
��� - PRINTER: Define LST como arquivo de texto direcionado para impressora;
� possivel se criar uma unit pr�pria, para ser usada em v�rios programas.
��� Ex:
����������� UNIT Exemplo;
������������� INTERFACE
������������� PROCEDURE Logo;
������������� IMPLEMENTATION
������������� USES Crt;
������������� VAR C : Integer;
������������� PROCEDURE Logo;
������������� BEGIN
������������� For C:=1 to 15 do
������������� TextColor(c);
������������� WriteLn('|------------------------|');
������������� WriteLn('|� Exemplo de um logo�� |');
������������� WriteLn('|------------------------|');
������������� END;
������������� BEGIN
������������� END.
Quando num programa voc� declarar USES "Exemplo" e charmar a rotina "Logo" o logo
aprecer� piscando na tela.
3- COMANDOS B�SICOS DE I/O
��� Write ou WriteLn : escreve algo num dispositivo de sa�da, se o dispositivo n�o
for especificado o default ser� a tela do micro.
����������� WriteLn('Isto � uma string e sair� na tela');
��� Read ou ReadLn : Permite a entrada de dados via teclado
����������� Write('Digite um valor para X: )'
��������������� Read(x);
��� ClrScr (Clear Screen): Permite limpar a tela, posicionando o cursor no canto
superior esquerdo. Equivale ao CLS do DOS.
��� GotoXY : Posiciona o cursor em qualque parte da tela.
����������� GotoXY(Coluna, Linha);
��� Delay : Permite uma pausa no programa em milisegundos. (Este comando funciona
conforme o clock do computador, sendo diferente em cada tipo de computador);
����������� Delay(1000);
4- ESTRUTURAS CONDICIONAIS
�As estruturas condicionais imnp�em uma condi��o para que uma tarefa seja
realizada.
4.1 - Condi��o IF.. Then.. Else (Se.. Ent�o.. Sen�o);
��� Se a condi��o for satisfeita en�o executa um bloco de tarefas sen�o executa
outra tarefa ou cai fora da estrutura.
���� If <condi��o>
������� Then <bloco>;
����������� OU
��� If <Condi��o>
������� Then <bloco>
������� Else <bloco>;
4.2 - Instru��o CASE;
��� O comando CASE � um seletor de op��es, executando a op��o que for igual a
express�o.
��� Ex.:
����������� CASE��� <express�o> Of
��������������������������� 1:bloco;
��������������������������� 2:bloco;
��������������������������� 3:bloco;
����������������������� Else
������������������������������� bloco;
������������������� END;
5- Estruturas de REPETI��O
��� Uma estrutura de repeti��o repete um bloco at� que a condi��o seja satisfeita.
5.1 FOR
��� FOR X:=1 to 10 do
��� Begin
��� <Bloco>� { O bloco ser� repetido at� que x tenha o valor 10}
��� end;
Ex.:
�
ClrScr;
For L:=1 to 24 do
begin
GotoXY(1,L);
WrteLn('Esta � a linha ', l);
End;
5.2 WHILE
��������������� While <condi��o> Do
��� Enquanto a condi��o n�o for satisfeita fa�a
Ex.:
while x<100 do
begin
write('Digite um valor para A: ');
read(a);
x:=a+b;
end;
5.3 REPEAT
��� Repete enquanto a condi��o n�o for satisfeita.
Ex.:
REPEAT
write('Aperte a tecla A');
read(tecla);
UNTIL tecla='a';
6- Manipala��o de STRINGS
��� Lenght : Retorna a quantidade de caracteres contidas em uma string
��� Pos : Retorna a posi��o de uma sub-string dentro de uma string
��� Copy : Retorna uma substring de uma string de acordo com a posi��o e a
quantidade de caracteres predefinida.
��� Ex.:
��� v:='asdllgoprtfacillldeas'
��� Write(copy(v,11,5));
��� {na tela aparecer� a palavra 'facil'}
��� Val : converte uma string passada como parametro para o valor num�rico.
�
�7- FUNCTIONS & PROCEDURES
��� PROCEDURE
������� Uma Procedure Realiza uma s�rie de tarefas quando chamada.
Ex.:
Program P_Exemplo;
Uses CRT;
Var op:byte;
Procedure Menu;
begin
�ClrScr;
�WriteLN('Digite sua Op��o:');
�WriteLN;
�WriteLN('1- Mostrar Registros');
�WriteLN('2- Fechar e Sair');
�OP:=readkey;
�End;
BEGIN
Clrscr;
Write('Aguarde carregando o programa...');
menu;��� {Aqui a procedure � chamada}
Case Op of
��� 1:<bloco>
��� 2:<bloco>
END.
FUNCTION
��� A FUNCTION � uma rotina que nos retorna um determinado valor. Da mesma
��� forma que uma procedure, uma FUNCTION deve ser declarada antes de ser
��� utilizada.
Ex.:
PROGRAM Ex_Function;
USES CRT;
VAR X:INTEGER;
FUNCTION RESULTADO (Y:INTEGER): INTEGER;
BEGIN
� Y:=Y*Y;
� RESULTADO:=Y;
END;
BEGIN
� CLRSCR;
� WRITE ('DIGITE UM VALOR: ');
� READLN(X);
� X:=RESULTADO(X);
� WRITELN ('O RESULTADO � : ',X);
� DELAY (10000);
END.
8 - ARQUIVOS e REGISTROS
��� ARQUIVO
������� Para formar um arquivo, devemos formar uma vari�vel do tipo arquivo, al�m
de criar comandos de abertura, leitura e fechamento.
- File: Define uma vari�vel como sendo arquivo.
��� Ex.:
Type Registro=record
�������� Nome:string[50];
������� Endere�o:string[100];
������� Fone: string[8];
������� end;
VAR Arquivo:File of Registro;
������� Reg:registro;
- Assign: Este procedimento associa um nome externo de arquivo a uma vari�vel do
tipo arquivo.
Ex.: Assign (Arquivo,' d:\[Link]');
- Reset: Este procedimento permite abrir um arquivo j� existente. No caso do
arquivo n�o existir ocorrer� erro.
Ex.: Reset(Arquivo);
- ReWrite: Permite Criar e Abrir um arquivo novo. Caso o arquivo j� exista, ter�
seu conte�do eliminado e ser� gerado um novo arquivo.
Ex.: ReWrite(Arquivo);
- Close: Este procedimento permite que se feche um arquivo. � necess�rio fechar um
arquivo para n�o ocorrer erro com a FAT do Sistema Operacional.
Ex.: Close(arquivo);
- Write: Permite gravar em um arquivo.
Ex.: Write (arquivo, reg); {Grava todo o reg no arquivo}
- EOF: Retorna o valor TRUE quando for encontrado o fim do arquivo.
Ex.: While not eof(arquivo) do
������� begin
������� x:=x+1;
������� Seek (arquivo,x);
������� end;
- Seek: Este procedimento permite que movamos(do verbo 'movar') o ponteiro do
arquivo para uma posi��o preestabelecida.
Ex.: Seek(Arquivo,0);
- FilePos: Retorna a posi��o atual do ponteiro do arquivo.
Ex.: x:=FilePos(Arquivo);
- FileSize: Retorna o numero de registros de um arquivo.
END.