
















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
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
1 / 24
Esta página não é visível na pré-visualização
Não perca as partes importantes!

















Aracaju 6 de Agosto de 1997
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
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.
Efetua a tradução de linguagem de montagem ( Assembly ) para a linguagem de máquina.
Efetua a tradução a de uma linguagem de alto nível para linguagem de máquina da seguinte forma:
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
ALGORITMO CÓDIGO-FONTE CÓDIGO-OBJETO PROGRAMA
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
ALGORITMO LINGUAGEM DE PROGRAMAÇÃO LINGUAGEM DE
MÁQUINA
ESTILO DE PROGRAMAÇÃO
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.
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.
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;
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.
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 é 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
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
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:
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 ´ ); *)
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.
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.:
TIPO ESTRUTURADO : representa uma coleção de itens de dados Ex.:
TIPO APONTADOR : representa uma peça de dados que referencia ou aponta para outra peça de dados Ex.:
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 :
O tipo BOOLEAN representa os valores lógicos TRUE e FALSE. O tipo BOOLEAN é ordinal, onde : FALSE < TRUE.
var Aprovado : boolean; Confirma : boolean;
O tipo CHAR representa um único caracter pertencente à tabela ASCII.
var Sexo : char;
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 :
Ex.:
program Totaliza_Horas_De_Trabalho; var
TotalHoras, HorasDeTrabalho : integer; begin
TotalHoras := 0; for Dias := Segunda to Sabado do begin readln( HorasDeTrabalho ); TotalHoras := TotalHoras + HorasDeTrabalho; end;
end.
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;
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];
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.
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;
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:
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
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.
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.
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.
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.
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.
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);
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);
Usado para atribuir o valor de uma expressão a uma variável.
Exemplo: A := 10; Nome := ´Josias´;
Usados para efetuar operações aritméticas com número inteiros e reais.
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.
Usados para efetuar a manipulação dos bits de uma variável.
Efetua a junção de duas variáveis ou constantes do tipo string. Exemplo: var PreNome, SobreNome, NomeCompleto : string[ 30 ];
{ Suponhamos o nome Josias Lima Santos } PreNome := ´Josias´; SobreNome := ´Santos´;
NomeCompleto := PreNome + SobreNome; writeln( NomeCompleto );
NomeCompleto := ´Jose´ + ´Maria´; writeln( NomeCompleto ); ... END.
Usados para efetuar a comparação entre dados de mesmo tipo.