SlideShare uma empresa Scribd logo
1 de 72
Baixar para ler offline
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

s   Ambiente
s   Tipos de Dados
s   Variáveis
s   Constantes
s   Operadores
s   Estrutura de um Programa
s   Comandos
s   Procedimentos e Funções
s   Biblioteca de Funções
1.1 Ambiente

s   Run
s   Compile
s   Debug
1.2 Tipos de Dados

s   Inteiros
s   Reais
s   Caracteres
s   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

s   String: armazena de 1 a 255 caracteres
s   Char: armazena somente 1 caracter
1.2.4 Tipo de Dado Lógico

s   Boolean: assume somente os valores True
    (verdadeiro) e False (falso).
1.3 Variáveis

s   Regras para Nomeação
s   Declaração
s   Escopo
s   Comando de Atribuição
1.3.1 Regras para Nomeação

s   Deve ser constituído por um ou mais caracteres
s   Só poderão ser utilizadas letras, números e o
    underscore ( _ )
s   O primeiro caractere deverá ser uma letra
s   Não pode possuir espaços em branco
s   Não pode ser uma palavra reservada
1.3.2 Declaração

s   Sintaxe:
    Var
    <nome 1> : <tipo 1>;
    <nome 2> : <tipo 2>;
    <nome N> : <tipo N>;
s   Exemplos:
    Var
    Nome : string;
    Idade : integer;
    Altura : real;

    Var A, B, C : integer;
1.3.3 Escopo

s   Global: quando declarada no início do do programa,
    podendo ser utilizada por qualquer subrotina
    subordinada
s   Local: quando declarada após as subrotinas, ou
    dentro de uma subrotina
1.3.4 Comando de Atribuição

s   Sintaxe:
    <variável> := <expressão>;

s   Exemplos:
    A:=5+1;
    Nome:=‘Blaise Pascal‘;
1.4 Constantes

s Sintaxe:
Const
<identificador 1>=<valor 1>;
<identificador 2>=<valor 2>;
<identificador N>=<valor N>;

s 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

s   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

s   Cabeçalho
s   Área de declarações
s   Corpo do programa
1.8.1 Cabeçalho

s   Sintaxe:
    Program <nome do programa>;

s   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

s   Comandos de saída:
    – Write
    – Writeln


s   Comandos de entrada:
    – Read
    – Readln
1.9.1 Write e Writeln

s   Sintaxe:
    Write(<expressões>);
    Writeln(<expressões>);

s   Exemplos:
    Writeln(‘Saída em vídeo’);
    Write(2001);
    Writeln(‘Média igual a ‘, media);
1.9.2 Read e Readln

s   Sintaxe:
    Read(<variáveis>);
    Readln(<variáveis>);

s   Exemplos:
    Writeln(’Valor: ');
    Readln(valor);

    Readln(A, B, C);
1.10 Comentários

s   Sintaxe:
    { <comentários> }

    { <comentários>
      <comentários>
      <comentários> }
1.11 Desvio Condicional

s   Sintaxe Simples:
If <valor booleano> then
<instrução para valor=True>;
s   Exemplo:
If a>10 then
writeln (a, ‘ é maior que 10’);
s   Sintaxe Composta:
If <valor booleano> then
<instrução para valor=True>
else
<instrução para valor=True>;
1.12 Iteração

s   Sintaxe:
While <valor booleano> do
   <instrução para valor=True>;

s   Exemplo:
While a<>10 do
begin
    writeln(a);
    a:=a+1;
end;
1.13 Procedimentos e Funções

s   Unidades Padrão
s   Procedure
s   Parâmetros
s   Function
1.13.1 Unidades Padrão

s   CRT
s   DOS
s   GRAPH
s   OVERLAY
s   PRINTER
s   SYSTEM
1.13.2 Procedure

s   Sintaxe:
    Procedure <nome> [(<parâmetros>)];
    Var
    <variáveis>;
    begin
         <comandos>;
    end;
1.13.2 Procedure

s   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

s   Por valor:
    Procedure <nome> (<par>:<tipo>);
    Procedure fatorial (n: integer);

    Exemplo:
    Fatorial (10);
    A:=10;
    Fatorial (A);
1.13.3 Parâmetros

s   Por referência:
    Procedure <nome> (var <par>:<tipo>);
    Procedure Quadrado (var n: integer);

    Exemplo:
    Quadrado (Numero);
1.13.4 Function

s   Sintaxe:
    Function <nome>[(<parâmetros>)]:<tipo>;
    Var
    <variáveis>
    begin
        <comandos>
        <nome da função>:=<valor>;
    end;
1.13.4 Function

s   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

s Sintaxe:
Unit <nome>;

Interface
<declaração das rotinas>

implementation
<rotinas>

end.
2 C++

s   Introdução à Orientação ao Objeto
s   Tipos de Dados
s   Variáveis
s   Constantes
s   Operadores
s   Estrutura de um Programa
s   Comandos
s   Procedimentos e Funções
s   Classes
2.1 Introdução à Orientação ao Objeto

s   Combinar num único registro dados e funções
s   Uma classe é considerada um tipo de dado
s   Uma variável de um tipo de classe é chamada objeto
s   Definir uma classe não cria um objeto
s   As funções de um objeto são chamadas funções-
    membro ou métodos
s   De modo geral, os métodos são o único meio de
    acesso aos dados
2.1.2 Encapsular e Esconder

s   Não podemos acessar variáveis de instância
    diretamente
s   Isto previne alterações incidentais
s   Os campos de dados e suas funções estão
    encapsulados numa única identidade
s   “Chamar uma função membro de um objeto” é o
    mesmo que “enviar uma mensagem a um objeto”.
2.1.3 Herança

s    Classes podem ser organizadas em hierarquias
s    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

s   Regras para Nomeação
s   Declaração
s   Operador de Atribuição
2.3.1 Regras para Nomeação

s   É permitido nome para variáveis com até 32
    caracteres.
s   Caso haja mais caracteres que isso eles serão
    ignorados.
s   O nome pode conter letras maiúsculas e minúsculas,
    dígitos e sublinhado (underscore)
s   Obrigatoriamente o primeiro caracter deve ser uma
    letra ou um sublinhado
s   Letras maiúsculas e minúsculas são diferentes
s   Não pode ser o nome de uma palavra reservada do
    C++.
2.3.2 Declaração

s   Sintaxe:
    <tipo> <nome> [= <valor inicial>];

s   Exemplos:
    Int num;
    Int A, C, D;
    int evento=5;
    char corrida=’C’;
    float tempo=27.25;
2.3.3 Operador de Atribuição

s   Sintaxe:
    <variável>=<expressão>;
s   Exemplos:
    X=2000;
    total=10+20+30;
s   Atribuição Múltipla:
    Y=X=3;
    equivale a
    Y=(X=3);
2.4 Constantes

s   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

s   2.4.2 Cadeia de Caracteres Constante: deve ser
    representada entre aspas. Exemplo:
    “Primeiro Programa”
    “Linguagem C++”

s   2.4.3 O Qualificador const
    Const char bip=’a’;
    Const double pi=3.141592;
2.5 Operadores Aritméticos

s   Operadores Aritméticos Básicos
s   Operadores de Incremento e Decremento
s   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

s   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

s   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

s   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

s   Forma geral das funções C++
s   O Primeiro Programa
2.8 Estrutura de um Programa

s   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

s   O Primeiro Programa

#include <iostream.h>
void main( )
{
    cout << “Primeiro Programa”;
}
2.9 Comandos de Entrada e Saída

s 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

s 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

s   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

s   Sintaxe Composta:
    If (<expressão de teste>)
         <Instrução>;
    Else
         <Instrução>;

s   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

s   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

s   Pascal é a linguagem ideal para programadores
    iniciantes, pelos conceitos e comandos simples.
s   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.
s   C++ é indicado para programadores com alguma
    experiência e compreensão da orientação ao objeto.

Mais conteúdo relacionado

Mais procurados

Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de ProgramaçãoAndré Agostinho
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Gercélia Ramos
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Lógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosLógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosWesley R. Bezerra
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programaçãoElaine Cecília Gatto
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascalTácito Graça
 

Mais procurados (20)

Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Aula02
Aula02Aula02
Aula02
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Lógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosLógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dados
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascal
 

Destaque (20)

Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Guia Rápido Da Linguagem Pascal
Guia Rápido Da Linguagem PascalGuia Rápido Da Linguagem Pascal
Guia Rápido Da Linguagem Pascal
 
Pascal
PascalPascal
Pascal
 
Caderno didatico pascal
Caderno didatico pascalCaderno didatico pascal
Caderno didatico pascal
 
Aula 02 operadores aritiméticos
Aula 02   operadores aritiméticosAula 02   operadores aritiméticos
Aula 02 operadores aritiméticos
 
Apostila pascal
Apostila pascalApostila pascal
Apostila pascal
 
Passar de algoritmo para pascal
Passar de algoritmo para pascalPassar de algoritmo para pascal
Passar de algoritmo para pascal
 
Apostila curso php_my_sql(portugues)
Apostila curso php_my_sql(portugues)Apostila curso php_my_sql(portugues)
Apostila curso php_my_sql(portugues)
 
Apostila pascal
Apostila pascal Apostila pascal
Apostila pascal
 
Aula 03 estrutura de seleção
Aula 03   estrutura de seleçãoAula 03   estrutura de seleção
Aula 03 estrutura de seleção
 
Apostila de-delphi
Apostila de-delphiApostila de-delphi
Apostila de-delphi
 
Pascal Unit
Pascal UnitPascal Unit
Pascal Unit
 
Agoritmo e l gica de programa--o - apostila pascal
Agoritmo e l gica de programa--o - apostila pascalAgoritmo e l gica de programa--o - apostila pascal
Agoritmo e l gica de programa--o - apostila pascal
 
Pascal
PascalPascal
Pascal
 
Aula 05 subprogramas
Aula 05   subprogramasAula 05   subprogramas
Aula 05 subprogramas
 
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGOEVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
 
Apostila ib
Apostila ibApostila ib
Apostila ib
 
Marinha concursos
Marinha   concursosMarinha   concursos
Marinha concursos
 
Exercícios para EsSA
Exercícios para EsSAExercícios para EsSA
Exercícios para EsSA
 
Atari 2600 Programming for Fun
Atari 2600 Programming for FunAtari 2600 Programming for Fun
Atari 2600 Programming for Fun
 

Semelhante a Estruturação de Linguagens de Programação (Pascal e C++)

Semelhante a Estruturação de Linguagens de Programação (Pascal e C++) (20)

Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
 
Ed1
Ed1Ed1
Ed1
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Cap 2
Cap 2Cap 2
Cap 2
 
Cap 2
Cap 2Cap 2
Cap 2
 
Linguagem_C.pdf
Linguagem_C.pdfLinguagem_C.pdf
Linguagem_C.pdf
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Tradutor de Pig Latin
Tradutor de Pig LatinTradutor de Pig Latin
Tradutor de Pig Latin
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
Standard ML / CPN ML
Standard ML / CPN MLStandard ML / CPN ML
Standard ML / CPN ML
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Java2
Java2Java2
Java2
 
Aula de C e C++
Aula de C e C++Aula de C e C++
Aula de C e C++
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2
 

Mais de Mauricio Volkweis Astiazara

Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Mauricio Volkweis Astiazara
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Mauricio Volkweis Astiazara
 
Comparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningComparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningMauricio Volkweis Astiazara
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeMauricio Volkweis Astiazara
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeMauricio Volkweis Astiazara
 

Mais de Mauricio Volkweis Astiazara (20)

Como Programar Melhor em Java
Como Programar Melhor em JavaComo Programar Melhor em Java
Como Programar Melhor em Java
 
Sistemas Imunológicos Artificiais
Sistemas Imunológicos ArtificiaisSistemas Imunológicos Artificiais
Sistemas Imunológicos Artificiais
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
 
Comparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningComparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-Learning
 
Classificador de Documentos Naïve Bayes
Classificador de Documentos Naïve BayesClassificador de Documentos Naïve Bayes
Classificador de Documentos Naïve Bayes
 
Visão Computacional
Visão ComputacionalVisão Computacional
Visão Computacional
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre Saúde
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre Saúde
 
Processamento de Imagens
Processamento de ImagensProcessamento de Imagens
Processamento de Imagens
 
Percepção, Movimento e Ação
Percepção, Movimento e AçãoPercepção, Movimento e Ação
Percepção, Movimento e Ação
 
Memória e Aprendizagem
Memória e AprendizagemMemória e Aprendizagem
Memória e Aprendizagem
 
Gerência de Requisitos
Gerência de RequisitosGerência de Requisitos
Gerência de Requisitos
 
Testes de Sistema
Testes de SistemaTestes de Sistema
Testes de Sistema
 
Telefonia Móvel
Telefonia MóvelTelefonia Móvel
Telefonia Móvel
 
Telefonia Móvel
Telefonia MóvelTelefonia Móvel
Telefonia Móvel
 
Realidade Virtual
Realidade VirtualRealidade Virtual
Realidade Virtual
 
Protótipo de Simulador de Elevadores
Protótipo de Simulador de ElevadoresProtótipo de Simulador de Elevadores
Protótipo de Simulador de Elevadores
 
Protótipo de Simulador de Elevadores
Protótipo de Simulador de ElevadoresProtótipo de Simulador de Elevadores
Protótipo de Simulador de Elevadores
 
Planejamento de Informática
Planejamento de InformáticaPlanejamento de Informática
Planejamento de Informática
 

Estruturação de Linguagens de Programação (Pascal e C++)

  • 1. 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
  • 2. 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.
  • 3. 1 Pascal s Ambiente s Tipos de Dados s Variáveis s Constantes s Operadores s Estrutura de um Programa s Comandos s Procedimentos e Funções s Biblioteca de Funções
  • 4. 1.1 Ambiente s Run s Compile s Debug
  • 5. 1.2 Tipos de Dados s Inteiros s Reais s Caracteres s Lógicos
  • 6. 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
  • 7. 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
  • 8. 1.2.3 Tipos de Dados Caracteres s String: armazena de 1 a 255 caracteres s Char: armazena somente 1 caracter
  • 9. 1.2.4 Tipo de Dado Lógico s Boolean: assume somente os valores True (verdadeiro) e False (falso).
  • 10. 1.3 Variáveis s Regras para Nomeação s Declaração s Escopo s Comando de Atribuição
  • 11. 1.3.1 Regras para Nomeação s Deve ser constituído por um ou mais caracteres s Só poderão ser utilizadas letras, números e o underscore ( _ ) s O primeiro caractere deverá ser uma letra s Não pode possuir espaços em branco s Não pode ser uma palavra reservada
  • 12. 1.3.2 Declaração s Sintaxe: Var <nome 1> : <tipo 1>; <nome 2> : <tipo 2>; <nome N> : <tipo N>; s Exemplos: Var Nome : string; Idade : integer; Altura : real; Var A, B, C : integer;
  • 13. 1.3.3 Escopo s Global: quando declarada no início do do programa, podendo ser utilizada por qualquer subrotina subordinada s Local: quando declarada após as subrotinas, ou dentro de uma subrotina
  • 14. 1.3.4 Comando de Atribuição s Sintaxe: <variável> := <expressão>; s Exemplos: A:=5+1; Nome:=‘Blaise Pascal‘;
  • 15. 1.4 Constantes s Sintaxe: Const <identificador 1>=<valor 1>; <identificador 2>=<valor 2>; <identificador N>=<valor N>; s Exemplos: Const PI=3.141592; Ap=‘Sistema Integrado de Geometria Espacial’; Voltas=10;
  • 16. 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
  • 17. 1.6 Operadores Relacionais Símbolo Significado = Igual a <> Diferente de > Maior que < menor que >= Maior ou igual <= Menor ou igual
  • 18. 1.6 Operadores Relacionais s 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.
  • 19. 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
  • 20. 1.8 Estrutura de um Programa s Cabeçalho s Área de declarações s Corpo do programa
  • 21. 1.8.1 Cabeçalho s Sintaxe: Program <nome do programa>; s Exemplo: Program Calculo;
  • 22. 1.8.2 Área de Declarações Uses Label Const Type Var Procedure Function
  • 23. 1.8.3 Corpo do Programa Begin <instrução 1>; <instrução 2>; <instrução N>; End.
  • 24. 1.9 Comandos de Entrada e Saída s Comandos de saída: – Write – Writeln s Comandos de entrada: – Read – Readln
  • 25. 1.9.1 Write e Writeln s Sintaxe: Write(<expressões>); Writeln(<expressões>); s Exemplos: Writeln(‘Saída em vídeo’); Write(2001); Writeln(‘Média igual a ‘, media);
  • 26. 1.9.2 Read e Readln s Sintaxe: Read(<variáveis>); Readln(<variáveis>); s Exemplos: Writeln(’Valor: '); Readln(valor); Readln(A, B, C);
  • 27. 1.10 Comentários s Sintaxe: { <comentários> } { <comentários> <comentários> <comentários> }
  • 28. 1.11 Desvio Condicional s Sintaxe Simples: If <valor booleano> then <instrução para valor=True>; s Exemplo: If a>10 then writeln (a, ‘ é maior que 10’); s Sintaxe Composta: If <valor booleano> then <instrução para valor=True> else <instrução para valor=True>;
  • 29. 1.12 Iteração s Sintaxe: While <valor booleano> do <instrução para valor=True>; s Exemplo: While a<>10 do begin writeln(a); a:=a+1; end;
  • 30. 1.13 Procedimentos e Funções s Unidades Padrão s Procedure s Parâmetros s Function
  • 31. 1.13.1 Unidades Padrão s CRT s DOS s GRAPH s OVERLAY s PRINTER s SYSTEM
  • 32. 1.13.2 Procedure s Sintaxe: Procedure <nome> [(<parâmetros>)]; Var <variáveis>; begin <comandos>; end;
  • 33. 1.13.2 Procedure s Exemplo: Procedure Linha; Var i : integer; Begin i:=1; While i<>81 do Begin Write(‘_’); i:=1+1; End; End;
  • 34. 1.13.3 Parâmetros s Por valor: Procedure <nome> (<par>:<tipo>); Procedure fatorial (n: integer); Exemplo: Fatorial (10); A:=10; Fatorial (A);
  • 35. 1.13.3 Parâmetros s Por referência: Procedure <nome> (var <par>:<tipo>); Procedure Quadrado (var n: integer); Exemplo: Quadrado (Numero);
  • 36. 1.13.4 Function s Sintaxe: Function <nome>[(<parâmetros>)]:<tipo>; Var <variáveis> begin <comandos> <nome da função>:=<valor>; end;
  • 37. 1.13.4 Function s 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;
  • 38. 1.14 Construindo uma Biblioteca de Rotinas s Sintaxe: Unit <nome>; Interface <declaração das rotinas> implementation <rotinas> end.
  • 39. 2 C++ s Introdução à Orientação ao Objeto s Tipos de Dados s Variáveis s Constantes s Operadores s Estrutura de um Programa s Comandos s Procedimentos e Funções s Classes
  • 40. 2.1 Introdução à Orientação ao Objeto s Combinar num único registro dados e funções s Uma classe é considerada um tipo de dado s Uma variável de um tipo de classe é chamada objeto s Definir uma classe não cria um objeto s As funções de um objeto são chamadas funções- membro ou métodos s De modo geral, os métodos são o único meio de acesso aos dados
  • 41. 2.1.2 Encapsular e Esconder s Não podemos acessar variáveis de instância diretamente s Isto previne alterações incidentais s Os campos de dados e suas funções estão encapsulados numa única identidade s “Chamar uma função membro de um objeto” é o mesmo que “enviar uma mensagem a um objeto”.
  • 42. 2.1.3 Herança s Classes podem ser organizadas em hierarquias s As classes derivadas herdam as características da classe base Características AB Características Características Características ABCD ABEF ABCFG
  • 43. 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
  • 44. 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
  • 45. 2.3 Variáveis s Regras para Nomeação s Declaração s Operador de Atribuição
  • 46. 2.3.1 Regras para Nomeação s É permitido nome para variáveis com até 32 caracteres. s Caso haja mais caracteres que isso eles serão ignorados. s O nome pode conter letras maiúsculas e minúsculas, dígitos e sublinhado (underscore) s Obrigatoriamente o primeiro caracter deve ser uma letra ou um sublinhado s Letras maiúsculas e minúsculas são diferentes s Não pode ser o nome de uma palavra reservada do C++.
  • 47. 2.3.2 Declaração s Sintaxe: <tipo> <nome> [= <valor inicial>]; s Exemplos: Int num; Int A, C, D; int evento=5; char corrida=’C’; float tempo=27.25;
  • 48. 2.3.3 Operador de Atribuição s Sintaxe: <variável>=<expressão>; s Exemplos: X=2000; total=10+20+30; s Atribuição Múltipla: Y=X=3; equivale a Y=(X=3);
  • 49. 2.4 Constantes s 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.
  • 50. 2.4 Constantes s 2.4.2 Cadeia de Caracteres Constante: deve ser representada entre aspas. Exemplo: “Primeiro Programa” “Linguagem C++” s 2.4.3 O Qualificador const Const char bip=’a’; Const double pi=3.141592;
  • 51. 2.5 Operadores Aritméticos s Operadores Aritméticos Básicos s Operadores de Incremento e Decremento s Operadores Aritméticos de Atribuição
  • 52. 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
  • 53. 2.5.2 Operadores de Incremento e Decremento s 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
  • 54. 2.5.2 Operadores de Incremento e Decremento s 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.
  • 55. 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;
  • 56. 2.6 Operadores Relacionais Símbolo Operação > Maior < Menor >= Maior ou igual <= Menor ou igual == Igual != Diferente
  • 57. 2.6 Operadores Relacionais s Exemplos: int verdadeiro, falso; verdadeiro=(15<20); falso=(15 ==20); Os valores das variáveis serão: Verdadeiro = 1 Falso = 0
  • 58. 2.7 Operadores Lógicos Símbolo Operação && E || Ou ! Não
  • 59. 2.8 Estrutura de um Programa s Forma geral das funções C++ s O Primeiro Programa
  • 60. 2.8 Estrutura de um Programa s Forma geral das funções C++ <tipo> <nome> (<parâmetros> ) { <instrução 1>; <instrução 2>; <instrução N>; }
  • 61. 2.8 Estrutura de um Programa s O Primeiro Programa #include <iostream.h> void main( ) { cout << “Primeiro Programa”; }
  • 62. 2.9 Comandos de Entrada e Saída s 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”; }
  • 63. 2.9 Comandos de Entrada e Saída s 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); }
  • 64. 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. */
  • 65. 2.11 Desvio Condicional s Sintaxe Simples: If (<expressão de teste>) <Instrução>; If (<expressão de teste>) { <Instrução 1>; <Instrução 2>; <Instrução N>; }
  • 66. 2.11 Desvio Condicional s Sintaxe Composta: If (<expressão de teste>) <Instrução>; Else <Instrução>; s Exemplo: If (a>5) cout << a << “ é maior que 5”; else cout << a << “ é menor que 6”;
  • 67. 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; }
  • 68. 2.13 Classes s 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>
  • 69. 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); };
  • 70. 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”;}
  • 71. 2.13 Classes void main () { elefante Dumbo; Dumbo.respirar(); Dumbo.dormir(); Dumbo.comer(); Dumbo.trompete(); Dumbo.esguichar(); }
  • 72. Conclusão s Pascal é a linguagem ideal para programadores iniciantes, pelos conceitos e comandos simples. s 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. s C++ é indicado para programadores com alguma experiência e compreensão da orientação ao objeto.