














































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
Apostila Pascal
Tipologia: Notas de estudo
1 / 54
Esta página não é visível na pré-visualização
Não perca as partes importantes!















































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.
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
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:
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?