universidade luterana do brasil comunidade evangÉlica luterana sÃo paulo reconhecida pela portaria...

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

Upload: internet

Post on 16-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 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

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

Page 2: 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

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.

Page 3: 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

1 Pascal

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

Page 4: 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

1.1 Ambiente

Run Compile Debug

Page 5: 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

1.2 Tipos de Dados

Inteiros Reais Caracteres Lógicos

Page 6: 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

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

Page 7: 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

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

Page 8: 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

1.2.3 Tipos de Dados Caracteres

String: armazena de 1 a 255 caracteres Char: armazena somente 1 caracter

Page 9: 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

1.2.4 Tipo de Dado Lógico

Boolean: assume somente os valores True (verdadeiro) e False (falso).

Page 10: 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

1.3 Variáveis

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

Page 11: 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

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

Page 12: 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

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;

Page 13: 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

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

Page 14: 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

1.3.4 Comando de Atribuição

Sintaxe:

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

Exemplos:

A:=5+1;

Nome:=‘Blaise Pascal‘;

Page 15: 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

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;

Page 16: 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

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

Page 17: 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

1.6 Operadores Relacionais

Símbolo Significado= Igual a<> Diferente de> Maior que< menor que>= Maior ou igual<= Menor ou igual

Page 18: 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

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.

Page 19: 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

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

Page 20: 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

1.8 Estrutura de um Programa

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

Page 21: 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

1.8.1 Cabeçalho

Sintaxe:

Program <nome do programa>;

Exemplo:

Program Calculo;

Page 22: 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

1.8.2 Área de Declarações

Uses

Label

Const

Type

Var

Procedure

Function

Page 23: 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

1.8.3 Corpo do Programa

Begin

<instrução 1>;

<instrução 2>;

<instrução N>;

End.

Page 24: 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

1.9 Comandos de Entrada e Saída

Comandos de saída:– Write – Writeln

Comandos de entrada:– Read– Readln

Page 25: 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

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);

Page 26: 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

1.9.2 Read e Readln

Sintaxe:

Read(<variáveis>);

Readln(<variáveis>);

Exemplos:

Writeln(’Valor: ');

Readln(valor);

Readln(A, B, C);

Page 27: 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

1.10 Comentários

Sintaxe:

{ <comentários> }

{ <comentários>

<comentários>

<comentários> }

Page 28: 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

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>;

Page 29: 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

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;

Page 30: 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

1.13 Procedimentos e Funções

Unidades Padrão Procedure Parâmetros Function

Page 31: 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

1.13.1 Unidades Padrão

CRT DOS GRAPH OVERLAY PRINTER SYSTEM

Page 32: 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

1.13.2 Procedure

Sintaxe:

Procedure <nome> [(<parâmetros>)];

Var

<variáveis>;

begin

<comandos>;

end;

Page 33: 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

1.13.2 Procedure

Exemplo:

Procedure Linha;

Var i : integer;

Begin

i:=1;

While i<>81 do

Begin

Write(‘_’);

i:=1+1;

End;

End;

Page 34: 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

1.13.3 Parâmetros

Por valor:

Procedure <nome> (<par>:<tipo>);

Procedure fatorial (n: integer);

Exemplo:

Fatorial (10);

A:=10;

Fatorial (A);

Page 35: 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

1.13.3 Parâmetros

Por referência:

Procedure <nome> (var <par>:<tipo>);

Procedure Quadrado (var n: integer);

Exemplo:

Quadrado (Numero);

Page 36: 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

1.13.4 Function

Sintaxe:

Function <nome>[(<parâmetros>)]:<tipo>;

Var

<variáveis>

begin

<comandos>

<nome da função>:=<valor>;

end;

Page 37: 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

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;

Page 38: 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

1.14 Construindo uma Biblioteca de Rotinas

Sintaxe:

Unit <nome>;

Interface

<declaração das rotinas>

implementation

<rotinas>

end.

Page 39: 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

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

Page 40: 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

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

Page 41: 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

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”.

Page 42: 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

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

Page 43: 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

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

Page 44: 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

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

Page 45: 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

2.3 Variáveis

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

Page 46: 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

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+

+.

Page 47: 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

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;

Page 48: 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

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);

Page 49: 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

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.

Page 50: 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

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;

Page 51: 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

2.5 Operadores Aritméticos

Operadores Aritméticos Básicos Operadores de Incremento e Decremento Operadores Aritméticos de Atribuição

Page 52: 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

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

Page 53: 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

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

Page 54: 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

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.

Page 55: 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

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;

Page 56: 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

2.6 Operadores Relacionais

Símbolo Operação> Maior< Menor>= Maior ou igual<= Menor ou igual= = Igual! = Diferente

Page 57: 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

2.6 Operadores Relacionais

Exemplos:

int verdadeiro, falso;verdadeiro=(15<20);falso=(15 ==20);

Os valores das variáveis serão:

Verdadeiro = 1Falso = 0

Page 58: 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

2.7 Operadores Lógicos

Símbolo Operação&& E|| Ou! Não

Page 59: 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

2.8 Estrutura de um Programa

Forma geral das funções C++ O Primeiro Programa

Page 60: 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

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>;

}

Page 61: 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

2.8 Estrutura de um Programa

O Primeiro Programa

#include <iostream.h>

void main( )

{

cout << “Primeiro Programa”;

}

Page 62: 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

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”;

}

Page 63: 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

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);

}

Page 64: 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

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. */

Page 65: 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

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>;}

Page 66: 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

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”;

Page 67: 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

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;}

Page 68: 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

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>

Page 69: 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

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);

};

Page 70: 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

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”;}

Page 71: 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

2.13 Classes

void main ()

{

elefante Dumbo;

Dumbo.respirar();

Dumbo.dormir();

Dumbo.comer();

Dumbo.trompete();

Dumbo.esguichar();

}

Page 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

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.