------------------------------------------------------------------------ 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         Then ;             OU     If         Then         Else ; 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    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       { 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 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:     2: 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:\ficha.dat'); - 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. Duvidas?? E-mail: pitombeira@hotmail.com