Buscar

Pascal

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PASCAL 
 
1. Introdução 
 
A linguagem Pascal foi desenvolvida pelo cientista da computação suíço Niklaus Wirth 
durante o período de 1960 a meados de 1970. Baseada na linguagem de programação 
Algol, a linguagem Pascal buscava ser uma linguagem de fácil aprendizado, além de 
oferecer instruções que encorajavam o uso da programação estruturada (uma técnica de 
programação que visa a construção de programas mais simples e mais corretos). 
 
Ao longo dos anos, surgiram diversos compiladores para a linguagem Pascal, originando, 
dessa forma, diferentes dialetos para essa mesma linguagem. Dentre esses dialetos, os mais 
famosos foram: o Pascal Padrão que foi definido por comitês internacionais, e o Turbo 
Pascal que foi desenvolvido pela Borland em 1983. 
 
O Turbo Pascal, na verdade, é uma IDE que utiliza uma variação da linguagem Pascal 
definida pela Borland. A partir da versão 5.5, o Turbo Pascal passaria a utilizar a linguagem 
Object Pascal, uma evolução da linguagem utilizada até aquele momento com a adição de 
características do paradigma orientado a objetos. O Turbo Pascal seria descontinuado pela 
Borland em 1995 na versão 7 quando deu lugar ao ambiente Delphi. 
 
2. Elementos Básicos 
 
2.1 Forma Geral de um Programa Pascal 
 
[Program <identificador>;] 
 
[<cláusula uses>] 
 
[<seção de declarações>] 
 
BEGIN 
 
<corpo do programa> 
 
END. 
 
2.2 Comentários 
 
Os Comentários são delimitados por {} ou (* *) 
 
2.3 Identificadores 
 
Os Identificadores possuem as seguintes regras de formação: 
 
a) Devem começar com uma letra 
b) Devem ser formados por letras, dígitos ou caractere de sublinhado 
c) Não devem ser uma palavra reservada 
 
Somente os 63 primeiros caracteres de um identificador são significativos 
 
2.4 Tipos de Dados 
 
A linguagem pascal apresenta diversos tipos de dados: 
 
Tipo escalar – Representa um único dado 
Tipo estruturado – Representa uma coleção de dados 
Tipo apontador – Faz referência a outro dado 
 
 
Tipo Descrição 
boolean 
 
Tipo lógico. Pode assumir os valores true ou false 
 
char 
 
Pode assumir todos os valores do conjunto de caracteres ASCII 
(American Standard Code for Information Interchange) 
 
string 
 
Tipo estruturado definido como uma coleção do tipo char. 
 
shortint 
 
inteiros no intervalo –128 a 127 (1byte) 
 
integer 
 
inteiros no intervalo -32768 a 32767 (2 bytes) 
 
longint 
 
inteiros no intervalo –2147483648 a 2147483647 (4 bytes) 
 
byte 
 
inteiros no intervalo 0 a 255 (1 byte) 
 
word 
 
inteiros no intervalo 0 a 65535 (2 bytes) 
 
 
 
real 
 
 
dados em ponto flutuante no intervalo 2.9 x 10 
–39
 a 1.7 x 10
 38 
(6 bytes) 
single 
 
dados em ponto flutuante no intervalo 1.5 x 10
 –45
 a 3.4 x 10 
38 
(4 bytes) 
double 
 
dados em ponto flutuante no intervalo 5.0 x 10 
–324
 a 1.7 x 10 
308 
(8 bytes) 
extended 
 
dados em ponto flutuante no intervalo 1.9 x 10 
–4951
 a 1.1 x 10 
4932 
(10 bytes) 
 
 
 
2.5 Variáveis 
 
As variáveis em um programa devem ser declaradas na seção de declarações antes de serem 
utilizadas. As variáveis são declaradas com o comando var. 
 
 
Exemplo: 
 
Program Variaveis; 
 
var 
 X: integer; 
 Y, Soma: integer; 
 Z: real; 
 
BEGIN 
... 
END. 
 
Declaração de variáveis do tipo string 
 
A definição do tipo string é 
 
<variável> : string[comprimento]; onde comprimento é 
constante que pode variar de 1 a 255 
 
Exemplo: 
 
var 
 nome: string; 
 sobrenome: string[80]; 
 
2.6 Constantes 
 
As constantes são declaradas na seção de declarações com o comando const 
 
Exemplo: 
 
Program Constantes; 
 
const 
 X = 5; 
 Nome = ‘Andre’; 
 
2.7 Operação de Atribuição 
 
O comando de atribuição é := 
 
<variável> := <expressão>; 
 
2.8 Operações de Entrada 
 
Permitem que dados sejam lidos de uma unidade de entrada e atribuídos às variáveis 
indicadas 
 
read (<lista_de_variáveis>) 
 
readln(<lista_de_variáveis>) – Após atribuição das variáveis 
passa automaticamente para a próxima linha 
 
Exemplo: 
 
Program Entrada; 
 
var 
 I,J : integer; 
 X : real; 
 CH : char; 
 S : string[10]; 
 
BEGIN 
 readln(I, J, CH, S, X); 
END. 
 
Se os dados são 
 
36 24 ABCDEFGHIJ3.45 
 
 
Os valores atribuídos às variáveis seriam: 
I 36 
J 24 
CH ‘ ’ 
S ‘ABCDEFGHIJ’ 
 
2.9 Operações de Saída 
 
write (<lista_de_saída>) 
 
writeln (<lista_de_saída>) – Posiciona a unidade de saída no início da próxima linha 
 
Formato de impressão 
 
a) e 
 
O dado é impresso utilizando tantas colunas quantas forem necessárias 
 
z : = 5.98 
 
write(z) 
 
‘ 5.9800000000E+00’ 
 
b) e : comp 
 
comp indica o comprimento do campo a ser utilizado 
 
c) e: comp1: comp2 
 
comp2 é utilizado apenas para números reais e indica com quantas casas decimais o dado 
deve ser impresso 
 
2.10 Procedimentos Pré-Definidos 
 
length(S) 
 
Retorna o comprimento corrente do argumento que deve ser do tipo string. 
 
copy (S, Inic,Comp) 
 
Retorna uma substring da string S começando na posição Inic e tendo como comprimento 
Comp 
 
Exemplos: 
 
copy (‘ANDRE’,2,3) retorna NDR 
copy (‘ANDRE’,1,3) retorna AND 
copy (‘ANDRE’,2,9) retorna NDRE 
 
pos(SP, S) 
 
Retorna a posição da primeira ocorrência da string SP na string S. Se não existir nenhuma 
ocorrência de SP em S, o valor retornado será zero. 
 
abs(x) 
 
Retorna o valor absoluto do argumento (inteiro ou real) 
 
frac(x) 
 
Retorna a parte fracionária do argumento que deve ser do tipo real. 
 
int(x) 
 
Retorna a parte inteira do argumento que deve ser do tipo real, sem efetuar 
arredondamento. O resultado é do tipo real 
 
round(x) 
 
Retorna a parte inteira do argumento, que deve ser do tipo real, arredondando seu valor. O 
resultado é do tipo inteiro 
 
trunc(x) 
 
Retorna a parte inteira do argumento, que deve ser do tipo real, sem efetuar 
arredondamento. O resultado será do tipo inteiro. 
 
pi 
 
Retorna o valor de PI 
 
sqr(x) 
 
Calcula o quadrado do seu argumento 
 
sqrt(x) 
 
Calcula a raiz quadrada do argumento 
 
exp(x) 
 
Calcula o valor da base dos logaritmos naturais elevado à potência indicada pelo argumento 
 
ln(x) 
 
Calcula o logaritmo natural do argumento que deve ser do tipo real 
 
Nem todas as funções que necessitamos estão prontas e às vezes é necessário utilizar uma 
fórmula equivalente: 
 
Y
X
 = exp ( ln ( Y ) * X ) 
 
Yx
 = exp ( ln ( Y ) * ( 1 / X )) 
 
LOG (x) = ln ( X ) / LN ( 10 ) 
 
 
Exemplos: 
 
1.Programa para efetuar a soma de dois números lidos 
 
Program SomaXY; 
var 
 X:integer; 
 Y,Z:integer; 
begin 
 writeln('Digite o primeiro numero:'); 
 readln(X); 
 writeln('Digite o segundo numero:'); 
 readln(Y); 
 Z := X + Y; 
 writeln('A soma e: ', Z); 
end. 
 
2. Programa para calcular a área de um círculo 
 
Program Area_Circulo; 
var 
 raio, area :real; 
 
begin 
 writeln('Digite o raio:'); 
 readln(raio); 
 area := pi * sqr(raio); 
 writeln('A area e: ', area:8:2); 
end. 
 
 
 
3. Escreva um programa para calcular o valor da expressão x + x
3
 + x
11 
para um valor x 
lido. 
 
Program Expressao; 
var 
 x :real; 
 resultado:real; 
 
begin 
 writeln('Digite o valor de x:'); 
 readln(x); 
 resultado := x + exp(3 * ln(x)) + exp(11 * ln(x)); 
 writeln('O resultado e: ', resultado:8:2); 
end. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3. Expressões 
 
3.1 Expressões Numéricas 
 
Operadores numéricos: 
 
+ 
- 
* 
/ 
div - Retorna o quociente inteiro dos operandos, que devem ser também inteiros 
mod - Retorna o resto inteiro da divisão dos operandos, que devem ser também inteiros 
 
 
3.2 Expressões Literais 
 
Operador de Concatenação: + 
 
3.3 Expressões Relacionais 
 
Operadores relacionais 
 
=>= 
<= 
> 
< 
<> 
 
3.4 Expressões Lógicas 
 
Operadores lógicos 
 
not 
and 
or 
 
4. Estruturas de Seleção 
 
4.1 IF THEN ELSE 
 
if <expressão lógica> then 
 <comando> 
[else 
 <comando>] 
 
 
4.2 CASE 
 
case <expressão> of 
<rotulo-de-case> : comando; 
[<rotulo-de-case>: comando;] 
else 
 <comando>[;<comando>] 
end 
 
Exemplos: 
 
1. Programa para efetuar expressões aritméticas simples com dois operandos: 
 
Program calculadora; 
var 
 Operador:char; 
 Operando1, Operando2, Resultado: real; 
begin 
 readln(Operando1); 
 readln(Operador); 
 readln(Operando2); 
 case Operador of 
 ‘+’ : Resultado := Operando1 + Operando2; 
 ‘-’ : Resultado := Operando1 - Operando2; 
 ‘/’ : Resultado := Operando1 / Operando2; 
 ‘*’ : Resultado := Operando1 * Operando2; 
 end; 
 writeln(Resultado); 
end. 
 
5. Estruturas de Repetição 
 
5.1 While 
 
while <expressão lógica> do 
 <comando> 
 
 
5.2 Repeat 
 
repeat 
 <comando>[;<comando>]... 
until <expressão lógica> 
 
 
5.3 For 
 
for <variável> := <expressão1> to <expressão2> do 
 <comando> 
 
for <variável> := <expressão1> downto <expressão2> do 
 <comando> 
 
5.4 O Comando Continue 
 
O comando continue causa um desvio para o final do laço mais interno de um comando de 
repetição. 
 
5.5 O Comando Break 
 
O comando break causa uma saída incondicional do laço mais interno de um comando de 
repetição

Outros materiais