UNIVERSIDADE LUTERANA DO BRASIL
COMUNIDADE EVANGÉLICA LUTERANA “SÃO PAULO”
Reconhecida pela Portaria Ministerial nº 681 de 07/12/89 – DOU de 11/12/89
Campus Torres
Estruturação de Linguagens (Pascal e C++)
Paradigmas de Linguagem de Programação
Aluno: Mauricio Volkweis Astiazara
Professor: Leonardo Pereira
Torres, 28 de Agosto de 2001
Introdução
Este trabalho pretende mostrar de forma breve uma
introdução à estas duas linguagem de programação,
com o objetivo de destacar as principais
características e para que se tenha uma base
mínima das possibilidades de cada linguagem.
1 Pascal









Ambiente
Tipos de Dados
Variáveis
Constantes
Operadores
Estrutura de um Programa
Comandos
Procedimentos e Funções
Biblioteca de Funções
1.1 Ambiente



Run
Compile
Debug
1.2 Tipos de Dados




Inteiros
Reais
Caracteres
Lógicos
1.2.1 Tipos de Dados Inteiros
Tipo de Dado
Faixa de Abrangência
Inteiro
De –128
Shortint
Integer
Longint
Byte
Word
Até 127
De –32.768
Até 32.767
De –2.147.483.648
Até 2.147.483.647
De 0
Até 255
De 0
Até 65.535
1.2.2 Tipos de Dados Reais
Tipo de Dado
Faixa de Abrangência
Real
De 2,9 E-39
Real
Single
Double
Extended
Comp
Até 1,7 E+38
De 1,5 E-45
Até 3,4 E+38
De 5,0 E-324
Até 1,7 E+308
De 3,4 E-4.932
Até 1,1 E+4.932
De –9,2 E+18
Até 9,2 E+18
1.2.3 Tipos de Dados Caracteres


String: armazena de 1 a 255 caracteres
Char: armazena somente 1 caracter
1.2.4 Tipo de Dado Lógico

Boolean: assume somente os valores True
(verdadeiro) e False (falso).
1.3 Variáveis




Regras para Nomeação
Declaração
Escopo
Comando de Atribuição
1.3.1 Regras para Nomeação





Deve ser constituído por um ou mais caracteres
Só poderão ser utilizadas letras, números e o
underscore ( _ )
O primeiro caractere deverá ser uma letra
Não pode possuir espaços em branco
Não pode ser uma palavra reservada
1.3.2 Declaração

Sintaxe:
Var
<nome 1> : <tipo 1>;
<nome 2> : <tipo 2>;
<nome N> : <tipo N>;

Exemplos:
Var
Nome : string;
Idade : integer;
Altura : real;
Var A, B, C : integer;
1.3.3 Escopo

Global: quando declarada no início do do programa,
podendo ser utilizada por qualquer subrotina
subordinada

Local: quando declarada após as subrotinas, ou
dentro de uma subrotina
1.3.4 Comando de Atribuição

Sintaxe:
<variável> := <expressão>;

Exemplos:
A:=5+1;
Nome:=‘Blaise Pascal‘;
1.4 Constantes
Sintaxe:
Const
<identificador 1>=<valor 1>;
<identificador 2>=<valor 2>;
<identificador N>=<valor N>;

Exemplos:
Const
PI=3.141592;
Ap=‘Sistema Integrado de Geometria
Espacial’;
Voltas=10;

1.5 Operadores Aritméticos
Operador
*
/
Div
Mod
+
-
Descrição
Multiplicação
Divisão real
Divisão inteira
Resto da divisão inteira
Adição
Subtração
1.6 Operadores Relacionais
Símbolo
=
<>
>
<
>=
<=
Significado
Igual a
Diferente de
Maior que
menor que
Maior ou igual
Menor ou igual
1.6 Operadores Relacionais

Exemplos:
Var a, b: boolean;
...
a:=20>10;
b:=‘A’>‘B’;
A variável “a” recebe o valor True
A variável “b” o valor False.
1.7 Operadores Lógicos
Operador
Lógica
Not
Retorna o oposto do valor. Este é o único
operador unário.
And
Retorna Verdadeiro somente se todos os
valores forem Verdadeiros
Or
Retorna Falso somente se todos os
valores forem Falsos
Xor
Retorna Verdadeiro se os valores forem
diferentes
1.8 Estrutura de um Programa



Cabeçalho
Área de declarações
Corpo do programa
1.8.1 Cabeçalho

Sintaxe:
Program <nome do programa>;

Exemplo:
Program Calculo;
1.8.2 Área de Declarações
Uses
Label
Const
Type
Var
Procedure
Function
1.8.3 Corpo do Programa
Begin
<instrução 1>;
<instrução 2>;
<instrução N>;
End.
1.9 Comandos de Entrada e Saída

Comandos de saída:
– Write
– Writeln

Comandos de entrada:
– Read
– Readln
1.9.1 Write e Writeln

Sintaxe:
Write(<expressões>);
Writeln(<expressões>);

Exemplos:
Writeln(‘Saída em vídeo’);
Write(2001);
Writeln(‘Média igual a ‘, media);
1.9.2 Read e Readln

Sintaxe:
Read(<variáveis>);
Readln(<variáveis>);

Exemplos:
Writeln(’Valor: ');
Readln(valor);
Readln(A, B, C);
1.10 Comentários

Sintaxe:
{ <comentários> }
{ <comentários>
<comentários>
<comentários> }
1.11 Desvio Condicional

Sintaxe Simples:
If <valor booleano> then
<instrução para valor=True>;

Exemplo:
If a>10 then
writeln (a, ‘ é maior que 10’);

Sintaxe Composta:
If <valor booleano> then
<instrução para valor=True>
else
<instrução para valor=True>;
1.12 Iteração
Sintaxe:
While <valor booleano> do
<instrução para valor=True>;

Exemplo:
While a<>10 do
begin
writeln(a);
a:=a+1;
end;

1.13 Procedimentos e Funções




Unidades Padrão
Procedure
Parâmetros
Function
1.13.1 Unidades Padrão






CRT
DOS
GRAPH
OVERLAY
PRINTER
SYSTEM
1.13.2 Procedure

Sintaxe:
Procedure <nome> [(<parâmetros>)];
Var
<variáveis>;
begin
<comandos>;
end;
1.13.2 Procedure

Exemplo:
Procedure Linha;
Var i : integer;
Begin
i:=1;
While i<>81 do
Begin
Write(‘_’);
i:=1+1;
End;
End;
1.13.3 Parâmetros

Por valor:
Procedure <nome> (<par>:<tipo>);
Procedure fatorial (n: integer);
Exemplo:
Fatorial (10);
A:=10;
Fatorial (A);
1.13.3 Parâmetros

Por referência:
Procedure <nome> (var <par>:<tipo>);
Procedure Quadrado (var n: integer);
Exemplo:
Quadrado (Numero);
1.13.4 Function

Sintaxe:
Function <nome>[(<parâmetros>)]:<tipo>;
Var
<variáveis>
begin
<comandos>
<nome da função>:=<valor>;
end;
1.13.4 Function

Exemplo:
function Potencia(base, expo:integer)
:integer;
var i,p :integer;
begin
p:=1;
for i:=1 to expo do
p:=p*base;
potencia:=p;
end;
1.14 Construindo uma Biblioteca de Rotinas
Sintaxe:
Unit <nome>;

Interface
<declaração das rotinas>
implementation
<rotinas>
end.
2 C++









Introdução à Orientação ao Objeto
Tipos de Dados
Variáveis
Constantes
Operadores
Estrutura de um Programa
Comandos
Procedimentos e Funções
Classes
2.1 Introdução à Orientação ao Objeto






Combinar num único registro dados e funções
Uma classe é considerada um tipo de dado
Uma variável de um tipo de classe é chamada objeto
Definir uma classe não cria um objeto
As funções de um objeto são chamadas funçõesmembro ou métodos
De modo geral, os métodos são o único meio de
acesso aos dados
2.1.2 Encapsular e Esconder




Não podemos acessar variáveis de instância
diretamente
Isto previne alterações incidentais
Os campos de dados e suas funções estão
encapsulados numa única identidade
“Chamar uma função membro de um objeto” é o
mesmo que “enviar uma mensagem a um objeto”.
2.1.3 Herança


Classes podem ser organizadas em hierarquias
As classes derivadas herdam as características da
classe base
Características
AB
Características
ABCD
Características
ABEF
Características
ABCFG
2.2 Tipos de Dados
Tipo
Char
Int
Float
Double
Void
Bytes
1
2
4
8
0
Escala
-128 a 127
-32.768 a 32.767
3,4E-38 a 3,4E+38
1,7E-308 a 1,7E+308
Nenhum valor
2.2 Tipos de Dados
Tipo
Unsigned char
Unsigned
Short
Long
Unsigned long
Long double
Bytes
1
2
2
4
4
10
Escala
0 a 255
0 a 65.535
-32.768 a 32.767
-2.147.483.648 a 2.147.483.647
0 a 4.294.967.295
3,4E-4932 a 1,1E+4932
2.3 Variáveis



Regras para Nomeação
Declaração
Operador de Atribuição
2.3.1 Regras para Nomeação






É permitido nome para variáveis com até 32
caracteres.
Caso haja mais caracteres que isso eles serão
ignorados.
O nome pode conter letras maiúsculas e minúsculas,
dígitos e sublinhado (underscore)
Obrigatoriamente o primeiro caracter deve ser uma
letra ou um sublinhado
Letras maiúsculas e minúsculas são diferentes
Não pode ser o nome de uma palavra reservada do
C++.
2.3.2 Declaração

Sintaxe:
<tipo> <nome> [= <valor inicial>];

Exemplos:
Int num;
Int A, C, D;
int evento=5;
char corrida=’C’;
float tempo=27.25;
2.3.3 Operador de Atribuição

Sintaxe:
<variável>=<expressão>;

Exemplos:
X=2000;
total=10+20+30;

Atribuição Múltipla:
Y=X=3;
equivale a
Y=(X=3);
2.4 Constantes

2.4.1 Constantes Numéricas
Base
Decimal
Representação
Escrevemos um número em decimal de
forma pura e simples, como aquela que
estamos acostumados. Ex.: 20, 280, 88
Hexadecimal Os números na base 16 devem ser
precedidos de 0x. Ex.: 0x41, 0x1afb, 0x54c2
Octal
Os números escritos na base 8 devem ser
precedidos de um zero. Ex.: 041, 010, 0754.
2.4 Constantes

2.4.2 Cadeia de Caracteres Constante: deve ser
representada entre aspas. Exemplo:
“Primeiro Programa”
“Linguagem C++”

2.4.3 O Qualificador const
Const char bip=’\a’;
Const double pi=3.141592;
2.5 Operadores Aritméticos



Operadores Aritméticos Básicos
Operadores de Incremento e Decremento
Operadores Aritméticos de Atribuição
2.5.1 Operadores Aritméticos Básicos
Símbolo
+
*
/
%
-
Operação
Adição
Subtração
Multiplicação
Divisão
Resto da divisão inteira
Multiplicação por –1 ex.: X = -5
2.5.2 Operadores de Incremento e Decremento

Exemplos:
X = X + 1; // adiciona 1 a X
++X; // adiciona 1 a X
X++; // adiciona 1 a X
X = X – 1; // subtrai 1 de X
-- X; // subtrai 1 de X
X --; // subtrai 1 de X
2.5.2 Operadores de Incremento e Decremento

Diferença de Sintaxe:
N = 5;
X = ++N;
O resultado dessas operações é N=6 e X=6.
N = 5;
X = N++;
O resultado é N=6 e X=5.
2.5.3 Operadores Aritméticos de Atribuição
Operador Aritmético de
Atribuição
A + = 2;
B * = Y + 1;
C / = 2.5;
D % = 5;
E - = 3;
Expressão Equivalente
A
B
C
D
E
=
=
=
=
=
A
B
C
D
E
+
*
/
%
-
2;
(Y + 1);
2.5;
5;
3;
2.6 Operadores Relacionais
Símbolo
>
<
>=
<=
==
!=
Operação
Maior
Menor
Maior ou igual
Menor ou igual
Igual
Diferente
2.6 Operadores Relacionais

Exemplos:
int verdadeiro, falso;
verdadeiro=(15<20);
falso=(15 ==20);
Os valores das variáveis serão:
Verdadeiro = 1
Falso = 0
2.7 Operadores Lógicos
Símbolo
&&
||
!
Operação
E
Ou
Não
2.8 Estrutura de um Programa


Forma geral das funções C++
O Primeiro Programa
2.8 Estrutura de um Programa

Forma geral das funções C++
<tipo> <nome> (<parâmetros> )
{
<instrução 1>;
<instrução 2>;
<instrução N>;
}
2.8 Estrutura de um Programa

O Primeiro Programa
#include <iostream.h>
void main( )
{
cout << “Primeiro Programa”;
}
2.9 Comandos de Entrada e Saída
Imprimindo usando cout e o operador de inserção:
#include <iostream.h>
void main()
{
cout << “Vênus está a “ << 67 <<
“milhões de milhas” << ‘\n’ << “do
sol”;
}

2.9 Comandos de Entrada e Saída
2.9.2 Lendo com cin e o operador de extração:
#include <iostream.h>
void main ()
{
cout << “\nDigite a sua idade em
anos: “;
int anos;
cin >> anos;
cout << “\nA sua idade em dias é: “
<< (anos * 365);
}

2.10 Comentários
// termina com o fim da linha
X = X * 0.5; // X é reduzido à metade
/* um dos tipos de comentários em C++
permite o uso de múltiplas linhas. */
2.11 Desvio Condicional

Sintaxe Simples:
If (<expressão de teste>)
<Instrução>;
If (<expressão
{
<Instrução
<Instrução
<Instrução
}
de teste>)
1>;
2>;
N>;
2.11 Desvio Condicional

Sintaxe Composta:
If (<expressão de teste>)
<Instrução>;
Else
<Instrução>;

Exemplo:
If (a>5)
cout << a << “ é maior que 5”;
else
cout << a << “ é menor que 6”;
2.12 Procedimentos e Funções
#include <iostream.h>
int celsius (int fahr)
{
int c;
c=(fahr –32)* 5/9;
return c;
}
void main()
{
int c, f;
cout << “\nDigite a temperatura em
Fahrenheit: “;
cin >> f;
c = celsius( f ); // chamada à função
cout << “\nCelsius = “ << c;
}
2.13 Classes

Sintaxe:
class <nome> {
<variáveis privadas>
<protótipo das funções privadas>
public:
<variáveis públicas>
<protótipos das funções públicas>
};
<implementação das funções>
2.13 Classes
#include <iostream.h>
class animal {
public:
void comer(void);
void dormir(void);
void respirar(void);
};
class elefante : public animal {
public:
void trompete(void);
void esguicho(void);
};
2.13 Classes
void animal :: comer (void)
{cout << “Comendo...\n”;}
void animal :: dormir (void)
{cout << “Dormindo...\n”;}
void animal :: respirando (void)
{cout << “Respirando...\n”;}
void elefante :: trompete (void)
{cout << “Trompete...\n”;}
void elefante :: esguicho (void)
{cout << “Esguichando...\n”;}
2.13 Classes
void main ()
{
elefante Dumbo;
Dumbo.respirar();
Dumbo.dormir();
Dumbo.comer();
Dumbo.trompete();
Dumbo.esguichar();
}
Conclusão



Pascal é a linguagem ideal para programadores
iniciantes, pelos conceitos e comandos simples.
C++ é uma linguagem mais poderosa, por
implementar a orientação ao objeto e manter as
características de “médio nível” herdadas do C.
C++ é indicado para programadores com alguma
experiência e compreensão da orientação ao objeto.
Download

void - Pasta do Mau