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


11 - Apostila LP I - Pascal, Notas de estudo de Informática

Apostila Pascal

Tipologia: Notas de estudo

2014

Compartilhado em 14/03/2014

pedro-arns-junior-10
pedro-arns-junior-10 🇧🇷

1 documento

1 / 54

Toggle sidebar

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

Não perca as partes importantes!

bg1
LP – Linguagem de Programação - Turbo Pascal Técnico em Informática
_________________________________________________________________________
ETE Monte Alto Informática – 1º Módulo Pág.: 1
A Linguagem Turbo Pascal ....................................................................................................2
Estrutura de um programa em Pascal: ....................................................................................2
Comentários ............................................................................................................................2
Declaração de Bibliotecas (Uses): ..........................................................................................3
Variáveis do Turbo Pascal ......................................................................................................3
Constantes...............................................................................................................................4
Operadores do Turbo Pascal ...................................................................................................5
Entrada de dados.....................................................................................................................7
Comandos Read e Readln ...................................................................................................7
Saída de dados ........................................................................................................................7
Comandos Write e Writeln .................................................................................................7
Exercícios................................................................................................................................9
Manipulação de Variáveis Numéricas ..................................................................................10
Função ABS......................................................................................................................10
Função DEC......................................................................................................................11
Função INC.......................................................................................................................11
Função EXP ......................................................................................................................12
Função FRAC ...................................................................................................................12
Função INT .......................................................................................................................12
Função RANDOM............................................................................................................13
Função RANDOMIZE......................................................................................................13
Função ROUND ...............................................................................................................13
Função TRUNC ................................................................................................................14
Função SQR......................................................................................................................14
Função SQRT ...................................................................................................................14
Biblioteca CRT – Recursos na Tela.....................................................................................14
Estruturas de Decisão: ..........................................................................................................18
SE...ENTÃO...SENÃO (IF...THEN...ELSE) ...................................................................18
Exercícios usando IF.........................................................................................................23
CASE...OF (Caso...Seja)...................................................................................................23
Exercícios usando Case ....................................................................................................28
Estrutura de Repetição ..........................................................................................................29
While...Do (Enquanto...Faça) ...........................................................................................29
Exercícios usando While Do.............................................................................................30
Repeat...Until (Repita...Até que) ......................................................................................30
Exercícios usando Repeat / Until......................................................................................32
FOR...TO...DO (PARA..ATÉ..FAÇA).............................................................................33
Exercícios de For/Do ........................................................................................................35
Estruturas de Dados Homogêneas ........................................................................................35
Matrizes Unidimensionais ou Vetores ou Arrays .............................................................35
Declaração de uma Matriz Unidimensional......................................................................39
Ordenação Vetores............................................................................................................42
Métodos de Pesquisa em uma Matriz ...................................................................................46
Método de Pesquisa Seqüencial ou Linear ...........................................................................46
Método de Pesquisa Binária (Manzano) ...............................................................................48
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36

Pré-visualização parcial do texto

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

_________________________________________________________________________

  • A Linguagem Turbo Pascal ....................................................................................................
  • Estrutura de um programa em Pascal: ....................................................................................
  • Comentários ............................................................................................................................
  • Declaração de Bibliotecas (Uses): ..........................................................................................
  • Variáveis do Turbo Pascal ......................................................................................................
  • Constantes...............................................................................................................................
  • Operadores do Turbo Pascal ...................................................................................................
  • Entrada de dados .....................................................................................................................
    • Comandos Read e Readln ...................................................................................................
  • Saída de dados ........................................................................................................................
    • Comandos Write e Writeln .................................................................................................
  • Exercícios................................................................................................................................
  • Manipulação de Variáveis Numéricas ..................................................................................
    • Função ABS ......................................................................................................................
    • Função DEC......................................................................................................................
    • Função INC.......................................................................................................................
    • Função EXP ......................................................................................................................
    • Função FRAC ...................................................................................................................
    • Função INT .......................................................................................................................
    • Função RANDOM ............................................................................................................
    • Função RANDOMIZE......................................................................................................
    • Função ROUND ...............................................................................................................
    • Função TRUNC ................................................................................................................
    • Função SQR ......................................................................................................................
    • Função SQRT ...................................................................................................................
  • Biblioteca CRT – Recursos na Tela.....................................................................................
  • Estruturas de Decisão: ..........................................................................................................
    • SE...ENTÃO...SENÃO (IF...THEN...ELSE) ...................................................................
    • Exercícios usando IF.........................................................................................................
    • CASE...OF (Caso...Seja)...................................................................................................
    • Exercícios usando Case ....................................................................................................
  • Estrutura de Repetição ..........................................................................................................
    • While...Do (Enquanto...Faça) ...........................................................................................
    • Exercícios usando While Do.............................................................................................
    • Repeat...Until (Repita...Até que) ......................................................................................
    • Exercícios usando Repeat / Until......................................................................................
    • FOR...TO...DO (PARA..ATÉ..FAÇA).............................................................................
    • Exercícios de For/Do ........................................................................................................
  • Estruturas de Dados Homogêneas ........................................................................................
    • Matrizes Unidimensionais ou Vetores ou Arrays .............................................................
    • Declaração de uma Matriz Unidimensional......................................................................
    • Ordenação Vetores............................................................................................................
  • Métodos de Pesquisa em uma Matriz ...................................................................................
  • Método de Pesquisa Seqüencial ou Linear ...........................................................................
  • Método de Pesquisa Binária (Manzano) ...............................................................................

_________________________________________________________________________

A Linguagem Turbo Pascal

O Pascal, cujo nome é uma homenagem ao filósofo Blaise Pascal, foi inventado por Niklaus Wirth no início da década de 70. Originalmente, a linguagem de programação Pascal foi criada para ser uma linguagem educacional, para ajudar programadores iniciantes a desenvolver bons hábitos, permitindo a elaboração de programas claros, concisos e estruturados. Antes do Pascal, a introdução à programação se fazia, em geral, através do Fortran, uma linguagem desestruturada e bem mais antiga. Wirth acreditava que muitos dos erros mais comuns de programação poderiam ser evitados com o uso de uma linguagem por blocos, e que trouxesse, embutido, um severo controle de tipos.

Apesar de todas as dificuldades iniciais, de seu propósito educacional e a facilidade de programação, o Pascal começou a ser utilizado por programadores de outras linguagens. Contudo, somente no final de 1983, quando a empresa Borland International lançou o Turbo Pascal é que esta linguagem ganhou maior fama.

Estrutura de um programa em Pascal:

Um programa em pascal tem a seguinte estrutura: Program NomePrograma; {------- Área de declarações de bibliotecas, variáveis, constantes e conjuntos} Uses ... { utilização das bibliotecas } Const... { definição de constantes } Type ... { definição de novos tipos } Var ... { declaração das variáveis } Begin {instruções e comandos}; End.

Exemplo de um programa simples em Pascal:

Program teste; {nome do programa} Var A : integer; {Estamos declarando a variável A como sendo do tipo inteiro} Begin {Início} Readln(A); {Leia A} Writeln('O valor de A é: ', A); {Escreva na tela: O valor de A é: e coloque na frente o valor de A} End. {Fim}

OBS: O Pascal não faz distinção entre letras minúsculas e letras maiúsculas

Comentários

_________________________________________________________________________

double 5.0e-324..1.7e308 8

extended 3.4e-4932..1.1e4932 10

Variáveis Alfanuméricas

Tipo Capacidade

Char Ocupa 1 byte. Capacidade para armazenar um caracter por vez.

String Ocupa de 2 a 256 bytes. Capacidade para armazenar de 1 a 256 caracteres

Variáveis Lógicas

Tipo Capacidade

Boolean Ocupa 1 byte. Assume os valores TRUE ou FALSE

Declarando uma Variável no Pascal:

A atribuição de valores para as variáveis é feita através do comando.

var1 := 1; { recebe um valor - inteiro, real...} var2 := X + Y; { recebe uma expressão } varBool := false; { atribuição lógica } varStr := 'atribui string'; { recebeu um string } varChar := a; { recebe um caracter }

Como em Pascal as variáveis não são inicializadas, temos a necessidade de as inicializar no começo de um programa, sempre lembrando que o que for atribuído à variável deve ter o tipo compatível com o da variável.

Ex: Program Atrib; var V : integer; begin V := 0; ... end.

Constantes

_________________________________________________________________________

A declaração const

Nesta subárea, podemos definir tantas constantes quantas quisermos.

Sintaxe:

Const Meu_telefone = '(16)3384-1111'; Minha_Faculdade = 'Politécnica Matão';

(* e assim por diante *)

Toda vez que nos referirmos às constantes acima, o Turbo Pascal substitui-la-á pelos seus respectivos valores.

Operadores do Turbo Pascal

Operadores Aritméticos

  • adição / divisão entre números reais
  • subtração DIV divisão entre números inteiros
  • multiplicação MOD resto da divisão

Exemplos:

(a+b) / (a-b) a div b

Operadores Lógicos

AND E lógico OR OU lógico XOR OU EXCLUSIVO lógico

Estes operadores só aceitam como operandos, valores lógicos, ou seja : TRUE e FALSE.

A operação AND resulta em TRUE se e somente se todos os operandos forem TRUE, se um deles ou mais de um for FALSE então o resultado será FALSE.

A operação OR resulta TRUE quando pelo menos um dos operandos for TRUE.

A operação XOR resulta TRUE quando os operandos forem diferentes entre si, isto é, quando um for TRUE o outro deverá ser FALSE.

_________________________________________________________________________

Entrada de dados

Comandos Read e Readln

Read - Comando que permite a entrada de dados através de dispositivos que não são o teclado. Esses dispositivos são geralmente arquivos em disco.

Read(<lista de variáveis>)

Readln -Comando que permite a entrada de dados através de variáveis oriundas de diversos dispositivos, principalmente o teclado.

Readln(<lista de variáveis>)

Saída de dados

Comandos Write e Writeln

São as principais procedures destinadas a exibir todos os tipos dados no vídeo.

Write - Comando que permite escrever em um dispositivo de saída (o vídeo, normalmente).

Writeln - Comando que permite escrever em um dispositivo de saída (vídeo), avançando o cursor para o início da próxima linha.

O comando Write (Writeln), permite ao usuário um certo controle com relação à formatação dos dados de saída. Podemos imprimir variáveis com justificação à direita e se o tipo da variável for real, double ou extended, podemos também definir a quantidade de casas decimais. As formatações seguem a seguinte forma:

Primeira forma:

Write(parâmetro_1,Parâmetro_2, ...);

Exemplo:

_________________________________________________________________________

Este programa resultaria na seguinte tela:

Segunda forma:

Write(parâmetro : n);

onde n é um número inteiro que determina quantas colunas o cursor deve ser deslocado à direita, antes do parâmetro ser escrito. Além disso, o parâmetro é escrito da direita para a esquerda, exemplo:

Resultaria a seguinte tela:

_________________________________________________________________________

  1. Criar um programa que pergunte o nome do produto, o preço e a quantidade e que ao terminar exiba o valor total do produto.
  2. Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é : F := (9*C+160)/5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius.
  3. Efetuar a leitura de um número inteiro e apresentar o resultado do quadrado desse número
  4. Elaborar um programa que efetue a leitura de três valores (A, B e C) e apresente como resultado final a soma dos quadrados dos três valores lidos.
  5. Fazer um programa que pegue o valor da compra, divida pelo número das parcelas e calcule o valor das parcelas.
  6. Crie um programa que lê a base e a altura de um triângulo e calcule sua área.
  7. Crie um programa que lê uma distância percorrida, o tempo gasto para percorrer tal distância e calcule a velocidade. (v=d/t)
  8. Fazer um programa que leia dois valores V1 e V2 e escolha a operação a ser executada entre as seguintes.  Soma (V1 + V2)  Subtração (V1 - V2)  Produto (V1 * V2)  Divisão ( V1 / V2)

Manipulação de Variáveis Numéricas

Com o intuito de se desenvolver problemas matemáticos que fogem das operações básicas de adição, subtração, multiplicação e divisão utilizando também nos algoritmos funções que nos auxiliam no cálculo de algumas operações matemáticas. Neste capítulo veremos cada dessas funções com exemplos e a sua correspondência na linguagem Turbo Pascal. Os fluxogramas foram omitidos devido à simplicidade dos algoritmos. Analise cada umas das funções com atenção, pois elas serão amplamente utilizadas nos capítulos posteriores.

Função ABS

Retorna o valor absoluto de uma expressão numérica. Pode ser utilizado na declaração de constantes. As variáveis podem ser do tipo inteiras ou fracionárias.

_________________________________________________________________________

Função DEC

Decrementa o valor de uma variável numérica inteira, em uma ou mais unidades. Se não for usado parâmetro para decremento será assumido 1. Utilizando somente com variáveis inteiras.

Função INC

Mesmo procedimento da função DEC, a diferença é que incrementa a variável utilizada em vez decrementar. Utilizando somente com variáveis inteiras.

_________________________________________________________________________

Função RANDOM

Retorna um número aleatório que pode variar de 0 a 1, ou por um limite passado como parâmetro.

Função RANDOMIZE

Se executarmos novamente o programa anterior veremos que o resultado é o mesmo. Para contornar este problema utilize a função randomize. Assim sempre que for executado o programa serão gerados números diferentes.

Função ROUND

Arredonda um número fracionário. Se o valor decimal for de 0.5 ou maior, o número é arredondado para cima, caso contrário, para baixo.

_________________________________________________________________________

Função TRUNC

Trunca um número fracionário, retorna sempre sua parte inteira.

Função SQR

Eleva um número ao quadrado. Aceita números inteiros e fracionários.

Função SQRT

Calcula a raiz quadrada de um número. Aceita números inteiros e fracionários.

Biblioteca CRT – Recursos na Tela

_________________________________________________________________________

LOWVIDEO – Coloca o texto em baixa intensidade.

NORMVIDEO – Faz com que o texto volte ao seu normal; sem cor.

SOUND - O comando sound emite um som em determinada freqüência. Deve ser utilizado em conjunto do comando NOSOUND que o desativa. Se o comando NOSOUND não for utilizado no programa o som continua ate que o programa seja novamente rodado com o NOSOUND. O programa abaixo ilustra o comando SOUND e NOSOUND em conjunto com o comando delay. Uma vez acionado o programa, de forma alguma utilize CTRL-BREAK para travá– lo, deixe que o nosound desative o som para depois uitilizá- lo.

WINDOW – Este procedimento permite que se defina a area utíl do video que sera utilizada. O default é a partir da coluna 1 linha 1 até coluna 80 e linha 25, para modo de 80 colunas, é coluna 1 até coluna 40 e linha 25, posições definidas pela nova window. Sua sintaxe: window(col1,lin2, col2, lin2). Vejamos um exemplo.

_________________________________________________________________________

READKEY – Permite efetuar a leitura de uma tecla. Pode ser utilizado também para efetuar uma pausa no final do programa.

DELLINE – Este procedimento elimina a linha em que estiver posicionado o cursor, fazendo o rolamento das linhas que estiverem abaixo desta e incrementando uma linha ao final do vídeo. Alinha deletada não pode ser recuperada. Tanot a linha deletada como a linha que foi introduzida, respeitam a WINDOW ativa no momento.

INSLINE– Este procedimento insere uma linha onde estiver posicionado o cursor, fazendo o rolamento das linhas que estiverem abaixo desta e incrementando uma linha ao final do vídeo. A ultima linha é perdida e não Poe ser recuperada.

_________________________________________________________________________

Somente se a condição é verdadeira, executamos comando escrever Aprovado.

Note que depois do THEN NÃO existe ponto e vírgulo (;)!

Desvio Condicional Composto Um comando condicional é representado em Pascal através do comando if...then...else.

If {<condição>} Then

{instruções para condição verdadeira}

else

{instruções para condição falsa}

Veja o exemplo do programa abaixo:

Importante: Note que, se existe o else então não se pode terminar a parte do then com ponto e vírgula (;). A presença do ponto e vírgula terminando a parte do then faz com que o compilador "pense" que não existe a parte do else automaticamente.

_________________________________________________________________________

Definição da instrução: uso de begin e end

Nos trechos acima induziu-se que só se pode executar uma instrução para cada then ou else. Isto não é verdade! Usando os delimitadores begin (começo) e end (fim) faz-se com que um conjunto de instruções sejam interpretados como uma única instrução (na verdade um bloco de instruções):

Desvios Condicionais Encadeados ou Aninhados

Aninhamento de if's:

Imagine o seguinte problema: Se eu não tiver dinheiro devo pedir emprestado ao banco. Se eu tiver pouco dinheiro não vou fazer nada, se eu tiver mais ou menos, vou comer uma pizza. Se eu tiver muito dinheiro vou jantar em Paris.

Observe a estrutura para um programa com desvios condicionais aninhados ou encadeados:

if condição1 then

if condição2 then instrução

else instrução

Quando a instrução2 é executada? Quando a condição2 for falsa ou quando a condição1 for falsa?