estruturação de linguagens (pascal e c++) paradigmas de linguagem de programação

Post on 12-Jan-2016

33 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

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.

top related