universidade luterana do brasil comunidade evangÉlica luterana sÃo paulo reconhecida pela portaria...
TRANSCRIPT
UNIVERSIDADE LUTERANA DO BRASILCOMUNIDADE 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 DadoInteiro
Faixa de Abrangência
Shortint De –128Até 127
Integer De –32.768Até 32.767
Longint De –2.147.483.648Até 2.147.483.647
Byte De 0Até 255
Word De 0Até 65.535
1.2.2 Tipos de Dados Reais
Tipo de DadoReal
Faixa de Abrangência
Real De 2,9 E-39Até 1,7 E+38
Single De 1,5 E-45Até 3,4 E+38
Double De 5,0 E-324Até 1,7 E+308
Extended De 3,4 E-4.932Até 1,1 E+4.932
Comp De –9,2 E+18Até 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:
VarNome : 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:
ConstPI=3.141592;Ap=‘Sistema Integrado de Geometria Espacial’;
Voltas=10;
1.5 Operadores Aritméticos
Operador Descrição* Multiplicação/ Divisão realDiv Divisão inteiraMod 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ógicaNot Retorna o oposto do valor. Este é o único
operador unário.And Retorna Verdadeiro somente se todos os
valores forem VerdadeirosOr Retorna Falso somente se todos os
valores forem FalsosXor 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 thenwriteln (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ísticasA B
CaracterísticasA B C D
CaracterísticasA B E F
CaracterísticasA B C F G
2.2 Tipos de Dados
Tipo Bytes EscalaChar 1 -128 a 127Int 2 -32.768 a 32.767Float 4 3,4E-38 a 3,4E+38Double 8 1,7E-308 a 1,7E+308Void 0 Nenhum valor
2.2 Tipos de Dados
Tipo Bytes EscalaUnsigned 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çãoDecimal Escrevemos um número em decimal de
forma pura e simples, como aquela queestamos acostumados. Ex.: 20, 280, 88
Hexadecimal Os números na base 16 devem serprecedidos de 0x. Ex.: 0x41, 0x1afb, 0x54c2
Octal Os números escritos na base 8 devem serprecedidos 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 deAtribuição
Expressão Equivalente
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 = 1Falso = 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”;
elsecout << 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.