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


Linguagem de programação Pascal (João) -signed, Notas de estudo de Cultura

Programação

Tipologia: Notas de estudo

2014

Compartilhado em 03/11/2014

cristiane-nascimento-pimentel-10
cristiane-nascimento-pimentel-10 🇧🇷

4.4

(5)

2 documentos

1 / 32

Toggle sidebar

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

Não perca as partes importantes!

bg1
INSTITUTO BENJAMIN CONSTANT IBC
João Batista dos Santos Pimentel
Diego Melo dos Passos
Bruno Robsosn dos Santos
Ronilson Almeida Santos
LINGUAGEM DE PROGRAMAÇÃO PASCAL
Manaus Am
2014
João Pimentel
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20

Pré-visualização parcial do texto

Baixe Linguagem de programação Pascal (João) -signed e outras Notas de estudo em PDF para Cultura, somente na Docsity!

INSTITUTO BENJAMIN CONSTANT – IBC

João Batista dos Santos Pimentel Diego Melo dos Passos Bruno Robsosn dos Santos Ronilson Almeida Santos

LINGUAGEM DE PROGRAMAÇÃO PASCAL

Manaus – Am 2014

João Pimentel

João Batista dos Santos Pimentel Diego Melo dos Passos Bruno Robsosn dos Santos Ronilson Almeida Santos

LINGUAGEM DE PROGRAMAÇÃO PASCAL

Projeto de pesquisa apresentado para obtenção de nota na disciplina Lógica de Programação do curso Técnico em Automação Industrial do Instituto Benjamin Constant - IBC.

Prof.(o): Alacy Serrão

Manaus – Am 2014

    1. História de Pascal
    • 1.1 Histórico da Linguagem Pascal
    1. Estrutura de um programa em pascal........................................................................................................
    • 2.1 Cabeçalho do Programa
    • 2.2 Área de Declarações...............................................................................................................................
    • 2.3 Corpo do Programa................................................................................................................................
    1. Tipos de Dados Pré-definidos
    • 3.1 Tipos de Dados Inteiros
    • 3.2 Tipos de Dados Reais
    • 3.3 Tipos de Dados Caracteres
    • 3.4 Tipos Lógicos
    1. Identificadores
    1. Variáveis
    1. Constantes..................................................................................................................................................
    1. Comentários ...............................................................................................................................................
    1. Comando de Atribuição (<-)......................................................................................................................
    1. Operadores ................................................................................................................................................
    • 9.1 Operadores Aritméticos .........................................................................................................................
    • 10.2 Dados de Entrada ................................................................................................................................
    • 11.1 A instrução if..then...............................................................................................................................
    • 11.2 A instrução if...then...else .....................................................................................................................
    • 11.3 Estrutura while....do ............................................................................................................................
    • 11.4 Estrutura repet....until..........................................................................................................................
    • 11.5 Estrutura for do ...................................................................................................................................
    1. Múltiplas Seleções: case else ....................................................................................................................
    1. Estrutura de Dados Homogêneos ............................................................................................................
    • 13.1 Vetores ................................................................................................................................................
    • 13.2 Matrizes ..............................................................................................................................................
    1. Estrutura de Dados Heterogêneos ...........................................................................................................
    • 14.1 Procedimentos .....................................................................................................................................
    • 14.2 Funções ...............................................................................................................................................
    1. Arquivos ...................................................................................................................................................
    • 15.1 Definição de um Arquivo .....................................................................................................................
    • 15.2 Operações de um Arquivo ....................................................................................................................
    • 15.3 Formas de Acesso em um Arquivo ........................................................................................................
      • 15.3.1 Acesso Seqüencial ........................................................................................................................
      • 15.3.2 Acesso Direto ...............................................................................................................................
      • 15.3.3 Acesso Indexado ...........................................................................................................................
    1. Arquivos do Tipo Texto ...........................................................................................................................
    1. Arquivos com Tipo Definido ....................................................................................................................
    1. Ambiente de desenvolvimento visual baseado no Object Pascal .............................................................
  • Conclusão.......................................................................................................................................................
  • Referências ....................................................................................................................................................

A linguagem Pascal, cujo nome é uma homenagem ao matemático francês Blaise Pascal, foi desenvolvida na década de 60 pelo professor Niklaus Wirth. Inicialmente, sua finalidade era ser uma linguagem para uso didático, que permitisse ensinar com clareza os principais conceitos envolvidos na programação estruturada de computadores. Hoje, numa versão mais moderna denominada Delphi, essa linguagem é também utilizada por profissionais de diversas áreas tais como processamento de dados, computação e engenharia.

1. História de Pascal

Linguagem de programação estruturada, recebeu este nome em homenagem ao matemático Blaise Pascal, foi criada em 1971 pelo suíço Niklaus Wirth, visando promover o uso de código estruturado, teve grande sucesso na década de 1980, sendo utilizada em computadores baseados na arquitetura 8080 e 8086, gera programas compilados (.EXE). Pascal e normalmente uma das linguagens de escolha para ensinar programação.

1.1 Histórico da Linguagem Pascal

Origem: desenvolvida nos anos entre 1968 e 1970 por Nicklaus Wirth na Universidade Técnica de Zurique, Suíça. Em 1970 é disponibilizado o primeiro compilador para a linguagem. Objetivo: desenvolver uma linguagem de programação disciplinada de alto nível para ensinar programação estruturada. Esta linguagem foi batizada com o nome de Pascal, em homenagem a Blaise Pascal, filósofo e matemático francês que viveu entre 1623 e 1662. Padronização: ANSI ( American National Standars Institute ) e IEEE ( Institute of Eletrical and Eletronics Engineers ) Padrão de Fato: Borland International cria em 1983 o Turbo Pascal. Atualizações: durante os últimos anos foram lançadas diversas variações da linguagem Pascal-Padrão, implementando recursos que não são encontrados na estrutura padrão da linguagem. Nas mãos da Borland, já foram lançadas as versões 3.0, 4.0, 5.0 e 5.5 na década de 80. Durante a década de 90 foram lançadas as versões 6.0, 7.0 e o lançamento da linguagem Delphi, para programação em ambiente Windows.

2. Estrutura de um programa em pascal

Todo programa escrito em Pascal é subdividido em três áreas distintas: cabeçalho do programa, área de declarações e corpo do programa.

3. Tipos de Dados Pré-definidos

Os dados são representados pelas informações a serem processadas por um computador. Um tipo de dados especifica 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. A linguagem Pascal fornece ao programador um conjunto de tipos de dados predefinidos.

3.1 Tipos de Dados Inteiros

São caracterizados tipos inteiros, os dados numéricos positivos ou negativos, excluindo-se qualquer número fracionário. Em Pascal, este tipo de dado pode ser referenciado por um dos seguintes identificadores: Tipo de dado inteiro Faixa de abrangência^ Tamanho(bytes ) shortint de – 128 até 127 1 byte integer de – 32.768 a 32.767 2 bytes longint de – 2.147.483.648 a 2.147.483.647 4 bytes byte de 0 até 255 1 byte word de 0 até 65535 2 bytes Tabela 1 – Identificadores de dados inteiros Exemplo: var NumAlunos : integer; Cont,cont1 : integer; 3.2 Tipos de Dados Reais

O tipo de dado real permite trabalhar com números fracionários, tanto positivos como negativos, sendo sua capacidade de armazenamento maior que dos números inteiros. Tipo de dado real Faixa de abrangência Tamanho(bytes ) real de 2.9 e-39 até 1.7 e38 6 bytes single de 1.5 e-45 até 3.4 e38 4 bytes double de 5.0 e-324 até 1.7e308 8 bytes extended de 3.4 e-4.932 até 1.1 e4.932 10 bytes comp de – 9.2 e18 até 9.2 e18 8 bytes Tabela 2 – Identificadores de dados reais Exemplo: var

Nota : real; Salario, media : real; 3.3 Tipos de Dados Caracteres

São considerados tipos caracteres, as seqüências contendo letras, números e símbolos especiais. Uma seqüência de caracteres, em Pascal, deve ser representada entre apóstrofos („‟). Este tipo de dado é referenciado pelo identificador string, podendo armazenar de 1 até 255 caracteres. Podemos ainda especificar um tamanho menor do que os 255 caracteres permitidos. Vejamos a sintaxe utilizada para criar uma variável do tipo string com tamanho limitado.

Sintaxe: variável : string[tamanho]; Exemplo do uso de strings: var Frase : string; Nome : string[45]; Existe ainda o tipo char , utilizado da mesma forma que o tipo string, porém com uma pequena diferença: é usado para strings de apenas um caractere. Exemplo do tipo de dado char : var Sexo : char;

3.4 Tipos Lógicos

São caracterizados tipos lógicos, os dados com valores true (verdadeiro) e false (false). Este tipo de dado também e chamado de tipo boleano. Ele é representado pelo identificador boolean. Exemplo da utilização do tipo de dado boolean: var Aprovado : boolean; Confirma : boolean;

4. Identificadores

Exemplo: var Soma, Total, Salario : real; Idade, Contador : integer;

6. Constantes

Constante e um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Conforme o seu tipo, a constante e classificada como sendo numérica, lógica e literal. Sintaxe: const identificador = expressão; ... identificador = expressão; Exemplo:

7. Comentários

program Area_Circulo; { Programa para calcular a área de um círculo. } const PI = 3.141519265; var Area, Comprimento, Raio : 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.

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.

8. Comando de Atribuição (<-)

O comando de atribuição tem a forma: := <expressão> No comando de atribuição, a variável e a expressão devem ser do mesmo tipo, exceto nos seguintes casos: a) a variável sendo real , a expressão pode ser integer b) a variável sendo string , a expressão pode ser char EXEMPLOS: Var I : Integer; R : Real; S : String; C : Char; Begin I := 5; R := I; C := 'A'; S := C End.

Exemplos:

Na construção de algoritmos, é conveniente que o usuário possa informar dados externos, para serem operados pelo programa. Assim, um programa pode receber um dado informado por um operador através de um comando de leitura. Da mesma forma, pode ser necessário conhecer o resultado de determinada operação executada pelo computador, então será necessária uma forma de exibir os dados. Cada linguagem tem uma forma específica para entrada e saída de dados. Em algoritmos usaremos os comandos genéricos leia() e escreva(), para realizar a interface com o usuário.

10.1 Dados de Entrada e Saída

O Pascal oferece um conjunto de funções predefinidas (built-in functions), que são usadas com vários tipos de dados simples. As funções, na maioria das vezes, necessitam de dados como parâmetro. Nome Função Objetivo Tipo Parâmetro Tipo do Retorno abs( x ) Calcula o valor absoluto de x. inteiro ou real o mesmo que x cos( x ) Calcula o coseno de x em radianos inteiro ou real real exp( x ) (^) sistema natural de logaritmos neperianos.Calcula eˣ, em que e=2.7182818 é inteiro ou real real ln( x ) Calcula o logaritmo natural de x (x>0) inteiro ou real real exp(ln(x)*y) Retorna x elevado a y {utilizando regras de logaritmos}. inteiro ou real real sin( x ) Calcula o seno de x em radianos inteiro ou real real sqr( x ) Calcula o quadrado de x inteiro ou real o mesmo que x sqrt( x ) Calcula a raiz quadrada de x (x>=0) inteiro ou real real odd( x ) Determina se x é par ou impar TRUE, X é par / FALSE, X é impar inteiro boolean random( x )

Retorna um número pseudo-aleatório entre 0 e x. Se x não for especificado retorna um valor entre 0.0 e 1.

inteiro real pi Retorna o valor de PI (3.1415...) Nenhum real Tabela 3 - Funções Matemáticas

Nome Função Objetivo Tipo Parâmetro Tipo do

Retorno length( x ) Determina o número de caracteres de x string inteiro concat( x1, x2, x3,...)

Concatena duas ou mais strings (máx 255 caracteres) string^ string

copy( x, y, z )

Retorna uma subcadeia da cadeia x, com z caracteres, começando no caracter y.

string, inteiro, inteiro string

UpCase( x ) Retorna x convertido para maiúscula char char Tabela 4 - Funções Literais

Nome Função Objetivo Tipo Parâmetro Tipo doRetorno trunc( x ) Trunca x para um número inteiro real inteiro int( x ) Retorna a parte inteira de x real real real real frac( x ) Retorna a parte fracionária de x real real round( x ) Arredonda x para um inteiro real inteiro chr( x ) Determina o caracter por xe^ ASCII representado inteiro char Tabela 5 - Funções para Conversão Nome Função Objetivo Tipo Parâmetro Tipo do Retorno sizeof( x ) Retorna o número de byte de x qualquer tipo inteiro gotoxy(x,y) Move o curso para a coluna x e linha y inteiro Tabela 6 - Funções e Procedimentos de Uso Geral

10.2 Dados de Entrada

Um comando de entrada serve para que o programa solicite dados no momento em que o mesmo está sendo executado. Esses dados fornecidos serão armazenados em variáveis na memória. Em geral a unidade de entrada é o teclado, podendo também ser uma memória auxiliar como o winchester. Considerando a unidade de entrada padrão, o teclado, o comando seria: READ (<identificador-1>,...<identificador-n>) ou READLN (<identificador-1>,...,<identificador-n>) Com READ o cursor permanece na mesma linha após a execução do comando; com o READLN o cursor muda para a próxima linha.

10.3 Dados de Saída

if (x > 10) then writeln (“O valor da variavel X e 10”); ... Caso venha a existir mais de uma instrução verdadeira para uma determinada condição, estas deverão estar inseridas em um bloco. Um bloco é o conjunto de instruções estar entre begin e end. Sintaxe: if <condição> then begin <instrução para condição verdadeira > <instrução para condição verdadeira > <instrução para condição verdadeira > <instrução para condição verdadeira > end; <instrução para condição falsa ou após condição ser verdadeira > Observe que o end é finalizado com um ponto-e-vírgula ( ; ) e não apenas ponto. O uso de ponto ao final de um end ocorre somente na finalização de um programa. Exemplo de um trecho de programa com a utilização de um bloco de instruções: ... if (x > 10) then begin writeln (“O valor da variavel X e 10”); x : = x + 1; writeln (“O valor da variavel X agora e11”); end; ... Exemplo completo de um programa com o uso da instrução if...then. “Ler dois valores inteiros e independentemente da ordem em que foram inseridos, estes deverão ser exibidos em ordem crescente, ou seja, se forem fornecidos 5 e 3 respectivamente, deverão ser apresentados 3 e 5. O programa em questão deverá efetuar a troca dos valores entre as duas variáveis”

11.2 A instrução if...then...else

Assim como a instrução if...then, a instrução if...then...else tem por finalidade tomar uma decisão e efetuar um desvio no processamento. Se a condição for verdadeira será executada a instrução logo abaixo do if. Sendo a condição falsa , será executada a instrução que estiver posicionada logo após a instrução else. O conceito de blocos de instruções vale também para esta instrução. Sintaxe: if < condição > then < instruções para condição verdadeira > else < instruções para condição falsa >; Caso venha a existir mais de uma instrução verdadeira ou falsa para uma condição, estas deverão estar inseridas em um bloco. Sintaxe: if < condição > then begin < instruções para condição verdadeira >; < instruções para condição verdadeira >; end else begin < instruções para condição falsa >; < instruções para condição falsa >; end; Observe que nos dois casos abordados acima, qualquer instrução que antecede a instrução else está escrita sem o ponto-e-vírgula (;). Isto ocorre pelo fato de a instrução else ser uma extensão da instrução if...then , e sendo assim, o final da condição somente ocorre após o processamento da instrução else. Exemplo: “ Ler dois valores numéricos e efetuar a adição. Caso o valor somado seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5. Caso o valor somado não seja maior ou igual a 10, esta deverá ser apresentado subtraindo-se 7.11.3 Estrutura while....do

A estrutura de controle FOR permite que um comando simples ou composto seja repetido um número específico de vezes. A sua forma geral é: FOR := TO DO Onde é uma variável de controle, do tipo inteira, que assumirá inicialmente o valor inicial e será incrementada do valor 1 após cada repetição do laço. A repetição será finalizada quando o conteúdo de for superior ao valor final . O também pode ser simples ou composto. Uma outra forma da estrutura FOR é a seguinte: FOR := DOWNTO DO Neste caso, a variável de controle será decrementada do valor 1 após cada repetição do laço e a repetição será finalizada quando o conteúdo de for inferior ao valor final . EXEMPLO: {escreve os números inteiros de 1 a 100} Var N : integer; Begin for N := 1 to 100 do writeln(N) End. Observe, no exemplo acima, que não foi necessário utilizar um comando para atribuir um valor inicial a variável N, nem também um outro comando para incrementá-la com o valor 1. Isto é feito automaticamente pela estrutura FOR. A estrutura de repetição FOR é especialmente indicada para quando o número de repetições é previamente conhecido. Caso contrário, devemos utilizar o WHILE ou o REPEAT, dependendo do caso.

12. Múltiplas Seleções: case else

O comando case é um comando que permite selecionar um ou mais comandos para serem executados conforme o valor de uma expressão escalar (ou seja, o valor deve ser simples, não pode ser, por exemplo, uma string). Somente os tipos inteiro, caractere, lógico, e tipos enumerados podem ser usados. Neste comando o valor da expressão é comparado com os valores dos casos previstos de execução. No máximo um caso pode ser verdadeiro.

Os valores dos casos podem ser:  um valor de uma constante escalar.  uma lista de valores escalares, separados por vírgulas.  uma faixa de valores da forma <valor-1> .. <valor-2>, significando o conjunto de valores contidos no intervalo de <valor-1> a <valor-2>.  uma combinação de faixas de valores e listas de valores, separados por virgulas. Além disso os valores não podem ser repetidos, ou seja, um valor só pode aparecer em apenas um dos casos. Sintaxe: case <expressão> of Lista Constantes Escalares-1: Comando-1; Lista Constantes Escalares-2: Comando -2;

... Lista Constantes Escalares-k: Comando-k; else Comando; ... Comando;

end

13. Estrutura de Dados Homogêneos

Ao utilizamos variáveis, podemos armazenar apenas um valor por vez. Agora, imagine um programa onde precisa-se armazenar as notas de 5 provas realizadas por um aluno. Com os conhecimentos que você possui até agora, seria necessário criar cinco variáveis para armazenar as notas. Exemplo: NOTA1, NOTA2, NOTA3, NOTA4, NOTA5 : integer ;

13.1 Vetores