Você está na página 1de 72

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
Shortint De –128
Até 127
Integer De –32.768
Até 32.767
Longint De –2.147.483.648
Até 2.147.483.647
Byte De 0
Até 255
Word De 0
Até 65.535
1.2.2 Tipos de Dados Reais

Tipo de Dado Faixa de Abrangência


Real
Real De 2,9 E-39
Até 1,7 E+38
Single De 1,5 E-45
Até 3,4 E+38
Double De 5,0 E-324
Até 1,7 E+308
Extended De 3,4 E-4.932
Até 1,1 E+4.932
Comp 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 Descrição
* Multiplicação
/ Divisão real
Div Divisão inteira
Mod 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ções-
membro 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 Características Características


ABCD ABEF ABCFG
2.2 Tipos de Dados

Tipo Bytes Escala


Char 1 -128 a 127
Int 2 -32.768 a 32.767
Float 4 3,4E-38 a 3,4E+38
Double 8 1,7E-308 a 1,7E+308
Void 0 Nenhum valor
2.2 Tipos de Dados

Tipo Bytes Escala


Unsigned char 1 0 a 255
Unsigned 2 0 a 65.535
Short 2 -32.768 a 32.767
Long 4 -2.147.483.648 a 2.147.483.647
Unsigned long 4 0 a 4.294.967.295
Long double 10 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 Representação
Decimal 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 Expressão Equivalente


Atribuição
A + = 2; A = A + 2;
B * = Y + 1; B = B * (Y + 1);
C / = 2.5; C = C / 2.5;
D % = 5; D = D % 5;
E - = 3; E = E - 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 de teste>)
{
<Instrução 1>;
<Instrução 2>;
<Instrução 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.

Você também pode gostar