APOSTILA DE TÉCNICAS DE PROGRAMAÇÃO E LINGUAGEM PASCAL - UFRJ

APOSTILA DE T?CNICAS DE PROGRAMA??O

E LINGUAGEM PASCAL

SUM?RIO

1 INTRODU??O ? PROGRAMA??O .......................................................................................4

1.1 DEFINI??O DE ALGORITMO........................................................................................................4 1.1.1 Algoritmo x Programa .....................................................................................................4

1.2 LINGUAGEM DE PROGRAMA??O ................................................................................................4 1.2.1 Tipos de Linguagens de Programa??o..............................................................................4 1.2.2 Processo de Cria??o e Execu??o de um Programa...........................................................5

1.3 CRIT?RIOS DE QUALIDADE DE UM PROGRAMA............................................................................6 1.4 A LINGUAGEM PASCAL .............................................................................................................7

1.4.1 Hist?rico .........................................................................................................................7 1.4.2 O Turbo Pascal ...............................................................................................................7

2 ESTRUTURA DE UM PROGRAMA EM PASCAL..................................................................9

2.1 CABE?ALHO DO PROGRAMA ......................................................................................................9 2.2 ?REA DE DECLARA??ES............................................................................................................9 2.3 CORPO DO PROGRAMA.............................................................................................................10 2.4 EXEMPLO DE UM PROGRAMA EM PASCAL ................................................................................. 10

3 VARI?VEIS E CONSTANTES ................................................................................................12

3.1 IDENTIFICADORES.................................................................................................................... 12 3.2 PALAVRAS RESERVADAS .........................................................................................................12 3.3 COMENT?RIOS ........................................................................................................................13 3.4 TIPOS DE DADOS .....................................................................................................................13

3.4.1 Tipos de Dados Inteiros .................................................................................................13 3.4.2 Tipos de Dados Reais ....................................................................................................14 3.4.3 Tipos de Dados Caracteres ............................................................................................14 3.4.4 Tipos L?gicos ................................................................................................................15 3.5 VARI?VEIS..............................................................................................................................15 3.6 CONSTANTES...........................................................................................................................15

4 OPERADORES E EXPRESS?ES............................................................................................17

4.1 PRIORIDADE DAS OPERA??ES ..................................................................................................17 4.2 TIPOS DE EXPRESS?ES .............................................................................................................17 4.3 TIPOS DE OPERADORES ............................................................................................................18

4.3.1 Operador de Atribui??o.................................................................................................18 4.3.2 Operadores Aritm?ticos .................................................................................................18 4.3.3 Operador de Concatena??o ...........................................................................................19 4.3.4 Operadores Relacionais.................................................................................................20 4.3.5 Operadores L?gicos.......................................................................................................21 4.4 FUN??ES PREDEFINIDAS ..........................................................................................................22

5 ESTRUTURAS DE DECIS?O .................................................................................................24

5.1 A INSTRU??O IF..THEN ............................................................................................................24 5.2 A INSTRU??O IF...THEN...ELSE .................................................................................................26

6 ESTRUTURAS DE REPETI??O (LOOPS)............................................................................29

6.1 INSTRU??O FOR ......................................................................................................................29 6.2 INSTRU??O WHILE...DO ........................................................................................................... 30 6.3 INSTRU??O REPEAT...UNTIL .....................................................................................................32

7 VETORES, MATRIZES E REGISTROS................................................................................. 35

7.1 VETORES.................................................................................................................................35 7.2 MATRIZES...............................................................................................................................39 7.3 REGISTROS..............................................................................................................................43

8 PROCEDURES E FUNCTIONS ..............................................................................................46

8.1 UTILIZA??O DE UNITS.............................................................................................................46

2

8.2 PROCEDURES...........................................................................................................................47 8.2.1 Vari?veis Globais e Locais.............................................................................................51

8.3 PAR?METROS ..........................................................................................................................52 8.3.1 Passagem por Valor ......................................................................................................53 8.3.2 Passagem por Refer?ncia...............................................................................................54

8.4 FUNCTIONS .............................................................................................................................55 9 ARQUIVOS ...............................................................................................................................58

9.1 DEFINI??O DE UM ARQUIVO ....................................................................................................58 9.2 OPERA??ES DE UM ARQUIVO ...................................................................................................58 9.3 FORMAS DE ACESSO EM UM ARQUIVO ......................................................................................59

9.3.1 Acesso Seq?encial..........................................................................................................59 9.3.2 Acesso Direto ................................................................................................................60 9.3.3 Acesso Indexado ............................................................................................................60 9.4 ARQUIVOS DO TIPO TEXTO ......................................................................................................60 9.5 ARQUIVOS COM TIPO DEFINIDO ...............................................................................................61 9.6 ARQUIVO COM TIPO DEFINIDO DE REGISTRO ............................................................................63

3

1 INTRODU??O ? PROGRAMA??O

1.1 Defini??o de Algoritmo

? a descri??o, de forma l?gica, dos passos a serem executados no cumprimento de determinada tarefa.

? a forma pela qual descrevemos solu??es de problemas do nosso mundo, afim de serem implementadas utilizando os recursos do mundo computacional. Como este possu? severas limita??es em rela??o ao nosso mundo, exige que sejam impostas algumas regras b?sicas na forma de solucionar os problemas para que possamos utilizar os recursos de hardware e software dispon?veis.

1.1.1 Algoritmo x Programa

Um algoritmo ? uma seq??ncia l?gica de a??es a serem executadas para se executar uma determinada tarefa. Um programa ? a formaliza??o de um algoritmo em uma determinada linguagem de programa??o, segundo suas regras de sintaxe e sem?ntica, de forma a permitir que o computador possa entender a seq??ncia de a??es.

1.2 Linguagem de Programa??o

Uma linguagem de programa??o ? um conjunto de s?mbolos ( comandos, identificadores, caracteres ASCII, etc. ... ) e regras de sintaxe que permitem a constru??o de senten?as que descrevem de forma precisa a??es compreens?veis e execut?veis para o computador.

LINGUAGEM DE PROGRAMA??O = S?MBOLOS + REGRAS DE SINTAXE

Uma linguagem de programa??o ? uma nota??o formal para descri??o de algoritmos que ser?o executados por um computador. Como todas as nota??es formais, uma linguagem de programa??o tem dois componentes: Sintaxe e Sem?ntica. A sintaxe consiste em um conjunto de regras formais, que especificam a composi??o de programas a partir de letras, d?gitos, e outros s?mbolos. Por exemplo, regras de sintaxe podem especificar que cada par?nteses aberto em uma express?o aritm?tica deve corresponder a um par?nteses fechado, e que dois comandos quaisquer devem ser separados por um ponto-e-v?rgula. As regras de sem?ntica especificam o "significado" de qualquer programa, sintaticamente v?lido, escrito na linguagem.

1.2.1 Tipos de Linguagens de Programa??o

Existem diversas linguagens de programa??o, cada uma com suas caracter?sticas espec?ficas e com n?veis de complexidade e objetivos diferentes, como pode ser visto na tab. 1.1.

4

LINGUAGEM

CARACTER?STICAS

Linguagem de M?quina

?nica compreendida pelo computador.

Espec?fica de cada computador.

Linguagens de Baixo N?vel

Utiliza mnem?nicos para representar instru??es

elementares

Ex.: Assembly

Linguagens de Alto N?vel

Utiliza instru??es pr?ximas da linguagem humana de

forma a facilitar o racioc?nio.

Ex.: Uso Cient?fico : Fortran

Prop?sito Geral : Pascal, C, Basic

Uso Comercial : Cobol, Clipper

Uso espec?fico : Lisp, Prolog

TABELA 1.1 ? TIPOS DE LINGUAGENS DE PROGRAMA??O E SUAS CARACTER?STICAS

1.2.2 Processo de Cria??o e Execu??o de um Programa

Embora seja teoricamente poss?vel a constru??o de computadores especiais, capazes de executar programas escritos em uma linguagem de programa??o qualquer, os computadores, existentes hoje em dia s?o capazes de executar somente programas em linguagem de baixo n?vel, a Linguagem de M?quina.

Linguagens de M?quina s?o projetadas levando-se em conta os seguintes aspectos :

? rapidez de execu??o de programas; ? custo de sua implementa??o; e ? flexibilidade com que permite a constru??o de programas de n?vel mais alto.

Por outro lado, linguagens de programa??o de alto n?vel s?o projetadas em fun??o de :

? facilidade de constru??o de programas; e ? confiabilidade dos programas.

O PROBLEMA ?: Como a linguagem de n?vel mais alto pode ser implementada em um computador, cuja linguagem ? bastante diferente e de n?vel mais baixo ?

SOLU??O: Atrav?s da tradu??o de programas escritos em linguagens de alto n?vel para a linguagem de baixo n?vel do computador.

Para isso existem tr?s tipos de programas tradutores : Montadores, Interpretadores e Compiladores. Vejamos o que cada um deles representa.

MONTADOR Efetua a tradu??o de linguagem de montagem ( Assembly ) para a linguagem de m?quina, da seguinte forma: ? obt?m a pr?xima instru??o do Assembly; ? traduz para as instru??es correspondentes em linguagem de m?quina;

5

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download