


















































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila Completa Turbo Pascal por Paulo Roberto Gomes Luzzardi
Tipologia: Notas de estudo
1 / 90
Esta página não é visível na pré-visualização
Não perca as partes importantes!



















































































por
Paulo Roberto Gomes Luzzardi
Revisão: Junho, 1996
Bibliografia
CARROLL , David W. - Programação em TURBO PASCAL McGraw-Hill
RAMALHO , Luciano & PRATES , Rubens - Turbo Pascal, Cartão de Referência , Livros Técnicos e Científicos Editora S.A.
1. Introdução à Linguagem Pascal
1.1 Histórico 1.2 Objetivos 1.3 Características de um Sistema em uma Linguagem Ideal
2. Ambiente Turbo Pascal
2.1 File 2.2 Edit 2.3 Run 2.4 Compile 2.5 Options 2.6 Debug 2.7 Break/watch 2.8 Como usar o DEBUG
3. Estrutura de um Programa Pascal
3.1 Identificadores 3.2 Comentários 3.3 Estrutura Geral 3.4 Definição de Tipos (Type)
4. Tipos de dados
4.1 Integer 4.2 Real 4.3 Byte 4.4 Char 4.5 Boolean 4.6 String 4.7 Array 4.8 Word 4.9 ShortInt 4.10 LongInt
5. Operadores
5.1 Operadores Aritméticos
5.1.1 Com Reais
7.5 Comando For ... Do 7.6 Comando While ... Do 7.7 Comando Repeat ... Until 7.8 Comando Halt 7.9 Comando Exit
8. Entrada e Saída
8.1 Entrada pelo Teclado 8.2 Saída no Vídeo 8.3 Saída na Impressora
9. Controle do Vídeo
9.1 ClrScr 9.2 GotoXY 9.3 ClrEol 9.4 DelLine
10. Comandos Especiais
10.1 Delay 10.2 TextBackGround 10.3 TextColor 10.4 Window 10.5 Sound e NoSound 10.6 WhereX e WhereY 10.7 TextMode
11. Vetores e Matrizes
11.1 Vetores 11.2 Matrizes 11.3 Sort (Ordenação)
12. Manipulação de "Strings"
12.1 Chr 12.2 Ord 12.3 Concat 12.4 Copy 12.5 Delete 12.6 Insert 12.7 Lenght 12.8 Pos 12.9 Str
12.10 UpcCse 12.11 Val 12.12 FillChar
13. Procedures e Functions
13.1 Variáveis Locais e Globais 13.2 Parâmetros 13.3 Passagem de Parâmetro por Valor 13.4 Passagem de Parâmetro por Referência 13.5 Function 13.6 Procedure
14. Arquivos
14.1 Procedimentos
14.1.1 Assign 14.1.2 Close 14.1.3 Erase 14.1.4 Read 14.1.5 Write 14.1.6 ReName 14.1.7 Reset 14.1.8 ReWrite 14.1.9 Seek
14.2 Funções
14.2.1 Eof 14.2.2 FilePos 14.2.3 FileSize 14.2.4 SizeOf
14.3 Como Definir um Registro ( Record )
15. Gráficos
15.1 Placas Gráficas
15.2 Coordenadas de Tela
Desenvolvido em 1970 pelo Prof. Nicklaus Wirth no Technical University - Zurique - Suiça.Nome em homenagem à Blaise Pasca l (Séc. XVII).
a) Ensino da Programação, pois é uma linguagem didática; b) Programação Estruturada.
a) Produzir programas-objeto compactos e eficientes; b) Usar uma linguagem de alto nível, de fácil entendimento; c) Permitir ao programador fazer alterações e visualizar os resultados rapidamente d) Produzir programas portáteis para serem rodados em qualquer outro computador.
F ile E dit R un C ompile P roject Edit
Message / Watch
Line 1Col 1InsertIdentTab Fill
janela de edição
janela de mensagens do ambiente janela de assistência (debug)
F1-HelpF5-ZoomF6-SwitchF7-Trace
Alt : F1 -Last help F3 -Pick F6 -Swap F7 / F8 -Prev/next error
Permite carregar arquivo, salvar arquivo, listar diretório, criar novos fontes, renomear arquivos, saída temporária ao Sistema Operacional e saída definitiva ao sistema operacional.
É exibida uma caixa de diálogo solicitando o nome do arquivo a ser carregado, se for pressionado a tecla
É exibida uma lista com os nomes dos últimos arquivos que foram carregados. O programador pode selecionar um deles (seta acima ou abaixo) e então carregá-lo do Disco para o Editor. Os nomes dos arquivos ficam armazenados em um arquivo chamado " TURBO.PCK ".
Permite ao programador editar um " novo " arquivo. Este arquivo possui o nome de " NONAME.PAS ", este nome deve ser renomeado quando o arquivo for salvo no disco (F2).
Salva o conteúdo do Editor no Disco. Se o arquivo não tiver nome (" NONAME.PAS "), pode então, ser renomeado. Todo arquivo deve ter um nome que não seja " NONAME.PAS ".
Escreve (grava) o conteúdo do editor num outro arquivo indicado pelo usuário (conserva o antigo no disco e o novo no editor ).
Exibe o diretório do disco corrente, de acordo com uma máscara especificada, permite ainda, que um arquivo seja carregado.
Permite mudar o subdiretório ( drive:\path ) corrente.
Exibe a tela de execução do programa.
Compila o programa fonte e linka as unidades.
Compila o arquivo primário (" Primary File : ") ou o arquivo presente no editor; e todos os arquivos que dependem deste, inclusive as unidades (" unit ") que foram alteradas.
Recompila todos os arquivos relacionados ao arquivo primário (" Primary File ").
Especifica o destino do programa executável. Se " Memory " o executável é temporário, se " Disk " o arquivo executável é armazenado em disco (como .EXE ).
Localiza um erro de execução " RunTime Error " (Erro em Tempo de Execução).
Usado para definir o arquivo principal, usado pelo " Make " e " Build ".
Exibe uma janela contendo informações do arquivo fonte.
Permite a inserção de diretivas de compilação sem escrevé-las no programa-fonte.
Range checking (ON ou OFF): Se ligada, verifica se os " array " e " string " estão dentro das faixas definidas pelo programador.
Stack checking (ON ou OFF): Se ligada, o compilador verifica se há espaço na pilha para as variáveis locais, antes das chamadas das " procedure " e " function ".
I/O checking (ON ou OFF): Se ligada, verifica se há erros de entrada e saída. Em OFF pode-se testar erros de entrada e saída através da função IoResult.
Force for calls (ON ou OFF): Se ligada, o compilador gera chamadas Near para " procedure " e " function " que estiverem sendo compiladas.
Overlays allowed (ON ou OFF): Permite a geração de código " OverLay " para uma unidade (" .OVL ").
Align data (Word ou Byte): Em " Word " todos os dados maiores que " Byte " são tratados como tipo " Word ".
Var-string checking (Strict ou Relaxed): Se " Strict " (rigorosa) verifica o tamanho das " string " passadas como parâmetro, se " Relaxed " (moderada) não verifica.
Boolean evaluation (Short circuit ou Complete): Se " Short circuit " os testes de uma expressão booleana são mais rápidos, se " complete " todas as condições são testadas.
Numeric processing (Software ou 8087-80287): Com 8087-80287 é permitido o uso dos tipos: Single , Double , Extended ou Comp. Se " Software " permite somente o uso dos tipos comuns do Turbo.
Emulation (ON ou OFF): Emula (simula) um coprocessador aritmético, se ele não existir.
Debug information (ON ou OFF): Gera um arquivo de informações de depuração de um arquivo que está sendo compilado.
Local symbols (ON ou OFF): Gera informações sobre símbolos locais (nomes e tipos de todas as variáveis e constantes locais de um símbolo).
Conditional defines : Define símbolos que podem ser referenciados em diretivas de compilação condicionais no arquivo fonte.
Memory Sizes (Stack size, Low heap limit ou High heap limit): Permite configurar o mapa de memória de um arquivo de código resultante, ou seja, o tamanho da memória. Stack size : Permite especificar o tamanho do segmento da pilha em bytes. Low heap limit : Permite especificar o limite inferior da pilha. High heap limit : Permite especificar o limite superior da pilha.
EXE & TPU Diretory: Diretório dos arquivos " _.EXE_* " (executáveis) e " _.TPU_* " (unidades).
Include Diretories: Especifica o diretório dos arquivos utilizados pela diretiva de inclusão de fontes {$I}.
Unit Diretories: Especifica o diretório dos arquivos fontes de unidades (" _.PAS_* " das unidades).
Object Directories: Especifica o diretório dos arquivos objetos " _.OBJ_* ".
Pick File Name: Especifica o drive, caminho e nome do arquivo de seleção "*.PCK".
Current Pick File : Indica o drive, caminho e nome do arquivo de seleção corrente.
Permite a especificação de parâmetros para que o programa possa ser compilado na memória.
Salva o arquivo de configuração " _.TP_* " ( default " TURBO.TP ").
Carrega o arquivo de configuração " _.TP_* " ( default " TURBO.TP ").
Evaluate [CTRL][F4]: Exibe uma janela de avaliação com três opções: (Evaluate, Result e New name)
Evaluate : Permite identificar uma expressão ou uma variável a ser submetida ao Debug. Result : É exibido o resultado da avaliação da expressão ou variável selecionada acima. New name: Permite atribuir um novo valor. Call stack [CTRL][F3]: Durante a depuração, permite chamar uma janela com a pilha que contém uma lista de " procedure " e " function " que mostram a posição atual, mostrando também, os parâmetros de cada chamada. Find procedure : Posiciona o cursor no início de uma " procedure " ou " function ".
Integrated debugging (ON ou OFF): Se ligado, aciona o debugger , " BreakPoints " (pontos de parada) podem ser colocados.
Standalone debugging (ON ou OFF): Se ligado com " Compile/Destination " em " Disk ", as informações do " Debugger " são anexadas ao arquivo " _.EXE_* " para uso com o " Turbo Debugger".
Display swapping (None, Smart ou Always): Permite estabelecer modos de visualização de " OutPut " de tela durante a depuração do programa.
None: Não mostra a tela de saída do programa. Smart: Mostra os efeitos da tela somente quando houver um comando de saída. Always: Mostra sempre a tela resultante.
Refresh display : Retorna para a tela do ambiente.
Se a opção " Integrated debugging " do menu " Debug " estiver em " On " pode-se adicionar, deletar, editar, remover todos os " watches " ou colocar, retirar ou procurar " BreakPoints ".
Add watch [CTRL][F7]: Permite que a variável sob o cursor seja exibida na janela de assistência quando o " debug " for executado
Delete watch : Permite que uma variável da janela de assistência seja deletada.
Edit watch : Permite que uma variável da janela de assistência seja editada (alterada).
Remove all watches : Remove todas as variáveis da janela de assistência.
Toggle breakpoint [CTRL][F8]: Permite que " BreakPoints " (pontos de parada) sejam colocados ou retirados.
Clear all breakpoints : Permite que todos os " BreakPoints " sejam removidos.
View next breakpoint : Permite visualizar o próximo " BreakPoint ".
Passo 1: Ter as duas janelas na tela: janela de edição e janela de assistência [F5];
Passo2: Marcar um " BreakPoint " (ponto de parada) [CTRL][F8] ou opção " Toggle breakpoint " do menu " Break/watch ";
Passo 3: Rodar o programa " Run " ou [CTRL][F9], o programa é executado até a linha anterior ao " BreakPoint ";
O programador pode, dentro do seu programa, fazer comentários sem que o código seja compilado, isto pode ser feito de duas maneiras:
(* aqui começa o programa *) ou { aqui começa o programa }
( ----------------------------------------- Nome do programa )
Program nome_do_programa; (* opcional *)
( ------------------------------------------------- Unidades )
Uses Crt,Printer,Graph; // unidades
( ---------------------------------------------- Declarações )
Const x = 100; PI = 3.1415; UP = #72; {tecla acima} LEFT = #75; {tecla esquerda} RIGHT = #77; {tecla direita} DOWN = #80; {tecla abaixo} PGUP = #73;` {tecla pagina acima} PGDN = #81; {tecla pagina abaixo} ENTER = #13; {tecla RETURN ou ENTER} ESC = #27; {tecla ESC} BACKSPACE = #8; {tecla BACKSPACE}
Type Nome = String [80];
Var A,B: Integer ; C: Real ; N: Nome;
( ----------------------------------------------- Definições )
Procedure nome_do_procedimento(parâmetros); Begin comandos; End ;
Function nome_da_função(parâmetros): TIPO DA FUNÇAO; Begin comandos; End ;
( --------------------------------------- Programa Principal )
Begin comandos; End.
Em Pascal o programador pode definir seus próprios tipos de dados.
Uses Crt;
Type TIPO_DATA = Record ano: Integer; mes: 1..12; dia: 1..31; End; TIPO_NOME: String[80];
Var Data: TIPO_DATA; Nome: TIPO_NOME;
Begin ClrScr; Data.ano := 1995; Data.mes := 12; Data.dia := 19; Nome := _UCPel';
Var Contador,Acumulador: Integer ; Begin Contador := 1000; Acumulador := -32000;
Var Nome: String [40]; Begin ClrScr; Nome := 'Turbo Pascal 5.5'; Write('Nome: ',Nome);
Var Nome: Array [1..10] of String[80]; Nota: Array [1..10] of Real; Letra: Array [1..40] of Char; I: Byte; Begin ClrScr; For I := 1 to 10 do Begin Write('Nome: '); Readln(Nome[I]); Write('Nota: '); Readln(Nota[I]); End; For I := 1 to 40 do Begin Write('Letra: '); Letra[I] := ReadKey; End;
Var Numero_de_Alunos_Catolica,Numero_de_Funcionarios: Word ;
Uses Crt;
Var X,Y: Integer; Divisao: Real; Resto,Quociente: Integer;
Begin ClrScr; X := 7; Y := 2; Divisao := X / Y; { Divisao = 3,5 } Resto := X Mod Y; { Resto = 1 } Quociente := X Div Y; { Quociente = 3 }