Respostas
Resposta:
Guia r´apido de referˆencia da linguagem Pascal
Vers˜ao Free Pascal
Marcos Castilho Everaldo Gomes Jos´e Ivan Gon¸calves J´unior
Loirto Alves dos Santos Rene Kultz
Eleandro Maschio Krynski Marcos Castilho
Vers˜ao 0.2
Dezembro de 2009
Sum´ario
1 Introdu¸c˜ao 6
2 Breve hist´orico da linguagem 7
3 O compilador Pascal 8
3.1 Obtendo o compilador . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Editando um programa-fonte . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Compilando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4 Exemplo de intera¸c˜ao com a m´aquina para compilar . . . . . . . . . . . 10
3.5 Erros de compila¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5.1 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 Estrutura de um programa-fonte em Pascal 12
4.1 Cabe¸calho (ou preˆambulo) . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.1 Se¸c˜ao de declara¸c˜ao de r´otulos . . . . . . . . . . . . . . . . . . . 13
4.1.2 Se¸c˜ao de declara¸c˜ao de constantes . . . . . . . . . . . . . . . . . 13
4.1.3 Se¸c˜ao de declara¸c˜ao de tipos . . . . . . . . . . . . . . . . . . . . 14
4.1.4 Se¸c˜ao de declara¸c˜ao de vari´aveis globais . . . . . . . . . . . . . . 14
4.1.5 Se¸c˜ao de declara¸c˜ao de procedimentos e fun¸c˜oes . . . . . . . . . 15
4.2 Programa principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5 Elementos b´asicos 20
5.1 S´ımbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2 Palavras reservadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.3 Coment´arios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.4 Identificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.5 Tipos de dados em Pascal . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.5.1 A fam´ılia de tipos ordinal . . . . . . . . . . . . . . . . . . . . . 24
5.5.2 Tipo enumer´avel . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.5.3 Tipo sub-faixa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.5.4 A fam´ılia de tipos real . . . . . . . . . . . . . . . . . . . . . . . 26
5.5.5 Tipo boolean (booleano) . . . . . . . . . . . . . . . . . . . . . . 27
5.5.6 Tipo char (caractere) . . . . . . . . . . . . . . . . . . . . . . . 28
5.5.7 Tipo string (cadeia de caracteres) . . . . . . . . . . . . . . . . 28
5.6 Tipo array (matriz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.7 Tipo record (registro) . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.8 Tipo file (arquivo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6 Express˜oes l´ogicas, aritm´eticas e operadores 34
6.1 Express˜oes aritm´eticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.1.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.1.2 Ordem de precedˆencia . . . . . . . . . . . . . . . . . . . . . . . 36
6.2 Express˜oes l´ogicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39