Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila Completa Turbo Pascal, Notas de estudo de Engenharia Mecânica

Apostila Completa Turbo Pascal por Paulo Roberto Gomes Luzzardi

Tipologia: Notas de estudo

2011

Compartilhado em 30/04/2011

agatha-faria-8
agatha-faria-8 🇧🇷

5

(1)

3 documentos

1 / 90

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Universidade Católica de Pelotas
Escola de Informática
L i n g u a g e m P a s c a l
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.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a

Pré-visualização parcial do texto

Baixe Apostila Completa Turbo Pascal e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

Universidade Católica de Pelotas

Escola de Informática

L i n g u a g e m P a s c a l

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.

Conteúdo Programático

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.1.1 CGA

15.1.2 EGA

15.1.3 VGA

15.2 Coordenadas de Tela

20. Interrupções1. Introdução à Linguagem Pascal

1.1 Histórico

Desenvolvido em 1970 pelo Prof. Nicklaus Wirth no Technical University - Zurique - Suiça.Nome em homenagem à Blaise Pasca l (Séc. XVII).

1.2 Objetivos

a) Ensino da Programação, pois é uma linguagem didática; b) Programação Estruturada.

1.3 Características do Sistema em uma Linguagem Ideal

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.

2. Ambiente Turbo Pascal 5.

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

2.1 File (Arquivo) [ALT][F]

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.

Load (Carregar) [F3]

É exibida uma caixa de diálogo solicitando o nome do arquivo a ser carregado, se for pressionado a tecla é exibida outra caixa de dialógo contendo os nomes de todos os arquivos "*.pas" contidos no disco. O programador seleciona um arquivo (seta direita, esquerda, acima ou abaixo) e pressiona logo após, o arquivo é carregado do Disco para o Editor.

Pick (Pegar)[ALT][F3]

É 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 ".

New (Novo)

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).

Save (Salvar) [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 ".

Write to (Escrever Como)

Escreve (grava) o conteúdo do editor num outro arquivo indicado pelo usuário (conserva o antigo no disco e o novo no editor ).

Directory (Diretório)

Exibe o diretório do disco corrente, de acordo com uma máscara especificada, permite ainda, que um arquivo seja carregado.

Change dir (Mudar Diretório)

Permite mudar o subdiretório ( drive:\path ) corrente.

Os Shell (Saída Temporária ao Sistema Operacional)

Exibe a tela de execução do programa.

2.4 Compile (Compilar) [ALT][C]

Compile (Compilar) [ALT][F9]

Compila o programa fonte e linka as unidades.

Make (Fazer) [F9]

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.

Build (Construir)

Recompila todos os arquivos relacionados ao arquivo primário (" Primary File ").

Destination (Destinação) [Memory ou Disk]

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 ).

Find error (Achar Erro)

Localiza um erro de execução " RunTime Error " (Erro em Tempo de Execução).

Primary file (Arquivo Principal)

Usado para definir o arquivo principal, usado pelo " Make " e " Build ".

Get info (Mostra Informações)

Exibe uma janela contendo informações do arquivo fonte.

2.5 Options (Opções) [ALT][O]

Compiler (Compilador)

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.

Parameters (Parâmetros)

Permite a especificação de parâmetros para que o programa possa ser compilado na memória.

Save options (Salva Opções)

Salva o arquivo de configuração " _.TP_* " ( default " TURBO.TP ").

Retrieve options (Recuperar Opções)

Carrega o arquivo de configuração " _.TP_* " ( default " TURBO.TP ").

2.6 Debug (Depuração) [ALT][D]

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.

2.7 Break/watch [ALT][B]

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 ".

2.8 Como usar o DEBUG

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 ";

3.2 Comentários

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 }

3.3 Estrutura Geral

( ----------------------------------------- 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.

3.4 Definição de Tipos (Type)

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';

4. Tipos de Dados

4.1 - Integer : (2 bytes) Faixa: [-32768 à 32767]

Var Contador,Acumulador: Integer ; Begin Contador := 1000; Acumulador := -32000;

4.6 - String[n] : (n+1 bytes)

Var Nome: String [40]; Begin ClrScr; Nome := 'Turbo Pascal 5.5'; Write('Nome: ',Nome);

4.7 - Array[faixa] Of Tipo :

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;

4.8 - Word : (2 bytes) (0 à 65535)

Var Numero_de_Alunos_Catolica,Numero_de_Funcionarios: Word ;

4.9 - ShortInt : (1 byte) (-128 à 127)

4.10 - LongInt : (4 bytes) (-2147483648 à 2147483647)

5. Operadores

5.1 - Operadores Aritméticos

5.1.1 - Com REAIS

  • Adição
  • Subtração
  • Multiplicação / Divisão

5.1.2 - Com INTEIROS

  • Adição
  • Subtração
  • Multiplicação / Divisão com resultado real Div Resultado inteiro da divisão Mod Resto da divisão

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 }

5.1.3 HIERARQUIA (Precedência)

  1. Parênteses: ()
  2. Operador unário: -(valor)
  3. Funções
  4. Operador Not
    • / Div Mod And
      • Or Xor
  5. = <> > < >= <= (Operadores Relacionais)