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


Pascal I - Apostilas - Informática Part1, Notas de estudo de Informática

Apostilas de Informática sobre a Linguagem Pascal, Introdução à programação, Definição de algoritmo, Algoritmo x programa, Linguagem de programação, A linguagem pascal, Estrutura de um programa pascal, O turbo pascal, Elementos da linguagem pascal.

Tipologia: Notas de estudo

2013

Compartilhado em 28/08/2013

Garoto
Garoto 🇪🇸

4.6

(121)

1 / 24

Toggle sidebar

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

Não perca as partes importantes!

bg1
UNIVERSIDADE TIRADENTES
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
Prof. José Maria Rodrigues Santos Júnior
Pascal
Aracaju 6 de Agosto de 1997
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Pré-visualização parcial do texto

Baixe Pascal I - Apostilas - Informática Part1 e outras Notas de estudo em PDF para Informática, somente na Docsity!

UNIVERSIDADE TIRADENTES

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Prof. José Maria Rodrigues Santos Júnior

Pascal

Aracaju 6 de Agosto de 1997

ÍNDICE

INTRODUÇÃO À PROGRAMAÇÃO
DEFINIÇÃO DE ALGORITMO
ALGORITMO X PROGRAMA
LINGUAGEM DE PROGRAMAÇÃO
A LINGUAGEM PASCAL
ESTRUTURA DE UM PROGRAMA PASCAL
O TURBO PASCAL
ELEMENTOS DA LINGUAGEM PASCAL
TIPOS DE DADOS
VARIÁVEIS
CONSTANTES
DECLARAÇÃO DE TIPOS ( TYPE )
COMANDOS DE ENTRADA E SAÍDA
EXPRESSÕES
FUNÇÕES PRE-DEFINIDAS
COMANDOS ESTRUTURADOS
ESTRUTURA DE DADOS TIPO ARRAY
ESTRUTURADA DE DADOS TIPO REGISTRO
ESTRUTURA DE DADOS TIPO CONJUNTO
SUBPROGRAMAS
ARQUIVOS

BIBLIOGRAFIA

GOTTFRIED , Byron S. Programação em Pascal - 2a Edição Coleção Schaum. Lisboa, Portugal .: McGraw-Hill de Portugal, 1994.

SCHMITZ, Eber Assis. TELES , Antônio Anibal de Souza. PASCAL e Técnicas de Programação - Rio de Janeiro - RJ .: LTC Editora, 1988.

Grilo, Maria Celia. Turbo Pascal

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

MONTADOR

Efetua a tradução de linguagem de montagem ( Assembly ) para a linguagem de máquina.

  1. Obtém próxima instrução do Assembly
  2. Traduz para as instruções correspondentes em linguagem de máquina
  3. Executa as instruções em linguagem de máquina
  4. Repete o passo 1 até o fim do programa

INTERPRETADOR

Efetua a tradução a de uma linguagem de alto nível para linguagem de máquina da seguinte forma:

  1. Obtém próxima instrução do código-fonte em linguagem de alto nível
  2. Traduz para as instruções correspondentes em linguagem de máquina
  3. Executa as instruções em linguagem de máquina
  4. Repete o passo 1 até o fim do programa

COMPILADOR

Efetua a tradução de todo o código-fonte em linguagem de alto nível para as instruções correspondentes em linguagem de máquina, gerando o código-objeto do programa. Em seguida é necessário o uso de um outro programa ( Link-Editor ) que é responsável pela junção de diversos códigos-objeto em um único programa executável.

EDIÇÃO COMPILAÇÃO LINK-EDIÇÃO

ALGORITMOCÓDIGO-FONTECÓDIGO-OBJETOPROGRAMA

EXECUTÁVEL

Possibilidades de Erros no Programa

 Erros de Compilação : Erros de digitação e de uso da sintaxe da linguagem  Erros de Link-Edição : Erro no uso de bibliotecas de sub-programas necessárias ao programa principal.  Erros de Execução : Erro na lógica do programa (algoritmo).

Podemos dizer, dessa forma, que o processo de programação consiste nos seguintes passos :

PROGRAMADOR

TRADUTOR

ALGORITMOLINGUAGEM DE PROGRAMAÇÃOLINGUAGEM DE

MÁQUINA

ESTILO DE PROGRAMAÇÃO

CRITÉRIOS DE QUALIDADE DE UM PROGRAMA

Integridade : Refere-se à precisão das informações manipuladas pelo programa, ou seja, os resultados gerados pelo processamento do programa devem estar corretos, caso contrário o programa simplesmente não tem sentido.  Clareza : Refere-se à facilidade de leitura do programa. Se um programa for escrito com clareza, deverá ser possível a outro programador seguir a lógica do programa sem muito esforço, assim como o próprio autor do programa entendê-lo após ter estado um longo período afastado dele. O Pascal favorece a escrita de programas com clareza e legibilidade.  Simplicidade : A clareza e precisão de um programa são normalmente melhoradas tornando as coisa o mais simples possível, consistentes com os objetivos do programa. Muitas vezes torna-se necessário sacrificar alguma eficiência de processamento, de forma a manter a estrutura do programa mais simples.  Eficiência : Refere-se à velocidade de processamento e a correta utilização da memória. Um programa deve ter performance SUFICIENTE para atender às necessidade do problema e do usuário, bem como deve utilizar os recursos de memória de forma moderada, dentro das limitações do problema.  Modularidade : Consiste no particionamento do programa em módulos menores bem identificáveis e com funções específicas, de forma que o conjunto desses módulos e a interação entre eles permite a resolução do problema de forma mais simples e clara.  Generalidade : É interessante que um programa seja tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos.

ESTRUTURA DE UM PROGRAMA PASCAL

Um programa em pascal consiste de um Cabeçalho ( program header ) seguido por uma Seção de Declarações, onde todos os objetos locais são definidos, e de um Corpo, onde são especificados, através de comandos, as ações a serem executadas sobre os objetos.

PROGRAM Nome_Do_Programa; { Cabeçalho }

[ declaração de units ]

[ declaração de rótulos ]

[ declaração de constantes ] { Seção de Declarações }

[ declaração de tipos ]

[ declaração de variáveis ]

[ declaração de subprogramas ]

begin

comando [ ; comando] ... { Corpo do Programa }

end.

Cabeçalho do Programa.

O cabeçalho consiste da palavra reservada Program seguida de um identificador que corresponde ao nome do programa, terminando com um ponto e vírgula.

Exemplos:

program Circulo; program Relatório;

Seção de Declarações

A sintaxe do pascal requer que todos os identificadores usados no programa sejam predefinidos ou que sejam declarados antes que você possa usa-los.

A declaração de identificadores é feita na seção de declaração onde são associados nomes aos objetos que serão usados no programa, tais como tipos de dados, variáveis e sub-programas.

Corpo do Programa

Onde são especificados, através dos comandos da linguagem as ações do programa. É a onde fica lógica do programa.

program Exemplo; var I : integer; begin for I := 1 to 100 do if I mod 7 = 0 then writeln( I:5, ´ e divisível por 7´); end.

O TURBO PASCAL

O Turbo Pascal é mais que um simples compilador da linguagem Pascal, ele é um Ambiente Integrado de Desenvolvimento ( IDE - Integrated Development Environment ), consistindo de um conjunto de ferramentas de desenvolvimento integradas. Entre as ferramentas que compõem o Turbo Pascal temos:

 Editor de Código-Fonte  Compilador  Link-Editor  Depurador  Ajuda On-Line da Linguagem e do próprio IDE

Principais Comandos do Turbo Pascal :

 Compilar o programa : ALT + F  Compilar e Executar o Programa : CTRL + F  Acessar o Menu : ALT + Letra realçada.  Criar um novo programa : menu FILE | NEW  Salvar o programa atual : F

 Sair do Turbo Pascal : ALT + X  Ver tela com os resultados do programa executado : ALT + F

PALAVRAS RESERVADAS

Pascal reconhece certo grupo de palavras como sendo reservadas. Essas palavras tem significado especial e não podem ser usadas como identificadores em um programa. A seguir listamos todas as palavras reservadas do Pascal Padrão:

Palavras reservadas do Turbo Pascal :

and downto In packed to

array else inline procedure type

asm End interface program unit

begin File Label record until

case For mod repeat until

const Foward nil set uses

constructor Function not shl var

destructor Goto object shr while

div If of string with

do implementation or then xor

COMENTÁRIOS

Comentários são textos escritos dentro do código-fonte para explicar ou descrever alguns aspectos relativos ao mesmo. Os comentários podem ser colocados em qualquer lugar do programa onde um espaço em branco possa existir.

Você pode colocar comentários de duas formas: ou envolvendo o texto entre chaves “{..}” ou entre “ (* .. *)”.

Quando o compilador encontra o símbolo “{“ ele salta todos os caracteres até encontrar um “}”. Da mesma forma, todos os caracteres que seguem “(* são pulados até ser detectado o símbolo ”)”. Como resultado disso, qualquer uma das formas pode ficar dentro da outra; por exemplo {...(...*)...} é um comentário.

Uma utilidade de se usar comentários dentro de comentários é quando queremos escrever alguns comandos temporários dentro do programa ( talvez para depuração ), como ilustramos abaixo:

(* if A = 10 then { este comando é somente para depuração } write( ´ A e igual a 10 ´ ); *)

TIPOS DE DADOS

Um tipo de dados especifica as características, ou seja os valores e operações possíveis de serem utilizados com um dado desse tipo. Toda variável e constante usada em um programa tem um tipo associado a ela.

CATEGORIAS

Os tipos podem ser divididos em três categorias :

 TIPO ESCALAR ( SIMPLES ): representa uma única peça de dados, podendo ser ordenados, isto é, seus valores mantêm um certa ordem. Os tipos integer, char, boolean, enumerado e subintervalo são ordinais, já o tipo real não é ordenado. Ex.:

integer Números inteiros

real Números reais

boolean Valores lógico TRUE ou FALSE

char Caracteres da Tabela ASCII

Enumerado Relação de Valores em ordem

Subintervalo Faixa de valores ordenados

 TIPO ESTRUTURADO : representa uma coleção de itens de dados Ex.:

string Cadeia de caracteres

array Conjunto de elementos de mesmo tipo

record Conjunto de elementos de tipos diferentes

set Conjunto de elementos

file Arquivos de registro

text Arquivos texto

 TIPO APONTADOR : representa uma peça de dados que referencia ou aponta para outra peça de dados Ex.:

pointer Referência para uma variável dinâmica

O programador também pode criar seus próprios tipos, como será visto posteriormente. No entanto o Pascal já oferece um conjunto de tipos predefinidos, são eles :

BOOLEAN

O tipo BOOLEAN representa os valores lógicos TRUE e FALSE. O tipo BOOLEAN é ordinal, onde : FALSE < TRUE.

var Aprovado : boolean; Confirma : boolean;

CHAR

O tipo CHAR representa um único caracter pertencente à tabela ASCII.

var Sexo : char;

TIPO ENUMERADO ( ENUMERATED )

O tipo escalar enumerado é um escalar ordenado onde os valores que as variáveis deste tipo podem assumir são descritos através de uma lista de valores. Cada valor é um identificador o qual é tratado como uma constante. Isto permite que nomes significativos sejam associados a cada valor usado para as variáveis.

A definição de um tipo enumerado é feita colocando-se entre parênteses os identificadores que as variáveis podem assumir, separados por vírgulas, como mostrado a seguir:

var Dias : ( Domingo, Segunda, Terca, Quarta, Quinta, Sexta, Sabado );

Nesse caso, os valores têm a seguinte ordem :

Domingo < Segunda < Terca < Quarta < Quinta < Sexta < Sabado

Ex.:

program Totaliza_Horas_De_Trabalho; var

Dias :(Domingo,Segunda,Terca,Quarta,Quinta,Sexta,Sabado);

Meses :(Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,Nov,Dez);

TotalHoras, HorasDeTrabalho : integer; begin

TotalHoras := 0; for Dias := Segunda to Sabado do begin readln( HorasDeTrabalho ); TotalHoras := TotalHoras + HorasDeTrabalho; end;

end.

TIPO SUBINTERVALO ( SUBRANGE )

O Pascal admite também um tipo denominado subintervalo ( subrange ) que representa um subconjunto de valores de tipos escalares ordenados.

Uma variável do tipo subintervalo é declarada da seguinte forma :

var NumDiadoMes : 1..31; LetrasMaiusculas : ´A´..´Z´; DiaDoAno : 1..365;

TIPOS DE DADOS ESTRUTURADOS

STRING

Armazena uma cadeia de caracteres com o tamanho máximo de até 255 caracteres, mas podemos ser especificar um tamanho menor que 255. A posição [0] da string armazena o seu comprimento. Esse tipo permite a concatenação utilizando-se o operador +.

var Frase : string; Nome : string[45];

OBS.: Os demais tipos estruturados e apontadores serão vistos posteriormente.

VARIÁVEIS

Uma variável é um valor que pode ser alterado dentro de um programa. Todas as variáveis usadas num programa devem ser declaradas usando a cláusula VAR , dentro da seção de declarações. Nesse comando, além de indicar o nome que deseja para as variáveis, indica-se também qual o tipo que as mesmas estão associadas.

Sintaxe:

var identif [ , identif ]... : tipo-do-dado;

[ identif [ , identif ]... : tipo-do-dado; ] ...

O tipo-do-dado é um dos tipos predefinidos ou um tipo definido pelo usuário:

Ex.:

var Soma, Total, Salario : real;

Idade, Contador : integer;

Mês : 1..12;

Dias : (SEG, TER, QUA, QUI, SEX, SAB, DOM );

CONSTANTES

Uma constante é um valor que não pode ser alterado durante a execução do programa.

As constantes podem ser divididas nas seguintes categorias de acordo com o tipo predefinido a que elas pertencem:

INTEIRAS Representadas pelos números inteiros.

Ex.: 1230 , - 1234 , 0 , 9

REAIS Representadas pelos números reais.

Ex.: 12.57, 100, 100.00, - 100.

23.45e-5 = 23.45E-5 = 23.45x

  • 5

LITERAIS Representadas pelos caracteres colocados entre apóstrofos.

Ex.: ´Isto é um exemplo´

´Bem vindo a Sergipe´

´Voce é o 1 colocado´

´´ - Literal Vazia

ARRAY Representadas por um array.

RECORD Representadas por um record

CONSTANTES TIPADAS

Constantes tipadas são constantes que têm tipo definido, mas que podem ter seu conteúdo alterado da mesma forma que uma variável. Na declaração de uma constante tipada é especificado tanto o tipo quanto o valor inicial da constante.

const

NumDias : integer = 7; { tipo integer }

NumAulas : integer = 14; { tipo integer }

PI : real = 3.141519265; { tipo real }

Esporte : string[20] = ´Futebol de Campo´; { tipo literal }

Fator : real = ( PI * 13.5 ) + 9; { tipo real }

AulasDia : real = NumAulas / NumDias; { tipo real }

program Area_Circulo;

Programa para calcular a área de um círculo.

const PI : real = 3.141519265; Raio : real = 1; var Area, Comprimento : real; BEGIN writeln( ´Digite o Raio : ´ ); readln( Raio ); Area := PI * Raio * Raio; Comprimento := 2 * PI * Raio; writeln( ´Área = ´, Area ); writeln( ´Comprimento da Circunferencia = ´, Comprimento ); END.

DECLARAÇÃO DE TIPOS ( TYPE )

Uma declaração de tipo, permite que se associe um identificador à descrição de um tipo. Uma vez declarado, tal identificador pode ser usado da mesma forma que o nome de um tipo predefinido.

Sintaxe:

type ident = descrição-do-tipo;

[ident = descrição-do-tipo;] ...

Onde:

ident = é o nome que passará a identificar o tipo definido.

Descrição-do-tipo = é a descrição de um tipo válido em Pascal.

Exemplo:

program Uso_Do_Type; type TDias = (Dom,Seg,Ter,Qua,Qui,Sex,Sab ); TMeses= (Janeiro, Fevereiro, Marco, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro ); TMaiusculas = ‘A’..’Z’; TContador = 1..MAXINT; Boolean = ( FALSE, TRUE ); var Dias : TDias; Meses : TMeses; DiasUteis : Seg..Sex; I, J : TContador; BEGIN ... END.

Comandos de Entrada e Saída

Na maioria das vezes um programa necessita de interatividade com o usuário, ou seja, durante a sua execução o programa ler valores fornecidos pelo o usuário e escreve outros para o usuário. Essa interatividade é conseguida através dos comando de entrada e saída.

Comandos WRITE e WRITELN

São comandos de saída do Pascal, a diferença é que o comando writeln após exibir o conteúdo dos seus parâmetros efetua uma quebra de linha.

write (Variável ou Expressão); writeln(Variável ou Expressão);

Comandos READ e READLN

Representam os comandos de entrada do pascal, onde o readln também executa uma quebra de linha após ler os seus parâmetros.

write (Variável); writeln(Variável);

OPERADOR ATRIBUIÇÃO ( := )

Usado para atribuir o valor de uma expressão a uma variável.

Exemplo: A := 10; Nome := ´Josias´;

OPERADORES ARITMÉTICOS

Usados para efetuar operações aritméticas com número inteiros e reais.

Subtração -

Adição +

Multiplicação *

Divisão Real /

Divisão Inteira ( truncada ) div

Resto da Divisão Inteira mod

Inverte Sinal -

Mantém Sinal +

Exemplo: var A, B : integer; C, D : real; BEGIN A := 1; B := 3; C := 5; D := 10; A := 1 + B; A := B + D; { errado, D é real } B := 10 div 3; A := 10 mod 3; C := D / C; D := 10 div C; { errado, o operado div é só para inteiros } A := -1; B := 5 + A; B := -A; C := D * A; B := C * B; { errado, C é real } END.

OPERADORES DE MANIPULAÇÃO DE BITS

Usados para efetuar a manipulação dos bits de uma variável.

E binário and

Deslocamento de bits ( Shift Left ) shl

Deslocamento de bits ( Shift Right ) shr

OU binário or

XOR binário xor

NOT binário not

OPERADOR CONCATENAÇÃO ( + )

Efetua a junção de duas variáveis ou constantes do tipo string. Exemplo: var PreNome, SobreNome, NomeCompleto : string[ 30 ];

BEGIN

{ Suponhamos o nome Josias Lima Santos } PreNome := ´Josias´; SobreNome := ´Santos´;

NomeCompleto := PreNome + SobreNome; writeln( NomeCompleto );

NomeCompleto := ´Jose´ + ´Maria´; writeln( NomeCompleto ); ... END.

OPERADORES RELACIONAIS

Usados para efetuar a comparação entre dados de mesmo tipo.

Maior que >

Menor que <

Maior ou igual >=

Menor ou igual <=

Igual =

Diferente <>