SlideShare uma empresa Scribd logo
1 de 72
Estruturação de Linguagens
Exemplos de (Pascal e C++)
Linguagem de Programação
- Clássica -
Introdução
A apresentação 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
Inteiro
Faixa de Abrangência
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
Real
Faixa de Abrangência
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
AB C D
Características
AB E F
Características
AB C F G
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.Cadeia de Caracteres Constante: deve ser
representada entre aspas. Exemplo:
“Primeiro Programa”
“Linguagem C++”
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
Atribuiçã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 = 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.

Mais conteúdo relacionado

Semelhante a Estruturação Linguagens Programação Pascal C

53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-iEdvan Mateó
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introduçãoRicardo Fahham
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+cThiago Freitas
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
 
Alg aula 02 - algoritmos 1 tp1
Alg   aula 02 - algoritmos 1 tp1Alg   aula 02 - algoritmos 1 tp1
Alg aula 02 - algoritmos 1 tp1Thalles Anderson
 
RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxClaudia Ferlin
 
Aula01
Aula01Aula01
Aula01vdlos
 
Paradigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
Paradigmas de Linguagens de Programação - Expressões e Instruções de AtribuiçãoParadigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
Paradigmas de Linguagens de Programação - Expressões e Instruções de AtribuiçãoAdriano Teixeira de Souza
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem cvingue
 
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/10Marco Mendes
 

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

53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Cap 2
Cap 2Cap 2
Cap 2
 
Cap 2
Cap 2Cap 2
Cap 2
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introdução
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Alg aula 02 - algoritmos 1 tp1
Alg   aula 02 - algoritmos 1 tp1Alg   aula 02 - algoritmos 1 tp1
Alg aula 02 - algoritmos 1 tp1
 
RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptx
 
Aula01
Aula01Aula01
Aula01
 
Paradigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
Paradigmas de Linguagens de Programação - Expressões e Instruções de AtribuiçãoParadigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
Paradigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Fundamentos de C#
Fundamentos de C#Fundamentos de C#
Fundamentos de C#
 
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
 
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
 
Python 02
Python 02Python 02
Python 02
 
Slide_Python.pdf
Slide_Python.pdfSlide_Python.pdf
Slide_Python.pdf
 

Estruturação Linguagens Programação Pascal C

  • 1. Estruturação de Linguagens Exemplos de (Pascal e C++) Linguagem de Programação - Clássica -
  • 2. Introdução A apresentação 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 Ambiente Tipos de Dados Variáveis Constantes Operadores Estrutura de um Programa Comandos Procedimentos e Funções Biblioteca de Funções
  • 5. 1.2 Tipos de Dados Inteiros Reais Caracteres Lógicos
  • 6. 1.2.1 Tipos de Dados Inteiros Tipo de Dado Inteiro Faixa de Abrangência 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 Real Faixa de Abrangência 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 String: armazena de 1 a 255 caracteres Char: armazena somente 1 caracter
  • 9. 1.2.4 Tipo de Dado Lógico Boolean: assume somente os valores True (verdadeiro) e False (falso).
  • 10. 1.3 Variáveis Regras para Nomeação Declaração Escopo Comando de Atribuição
  • 11. 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
  • 12. 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;
  • 13. 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
  • 14. 1.3.4 Comando de Atribuição Sintaxe: <variável> := <expressão>; Exemplos: A:=5+1; Nome:=‘Blaise Pascal‘;
  • 15. 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;
  • 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 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 Cabeçalho Área de declarações Corpo do programa
  • 21. 1.8.1 Cabeçalho Sintaxe: Program <nome do programa>; 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 Comandos de saída: – Write – Writeln Comandos de entrada: – Read – Readln
  • 25. 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);
  • 26. 1.9.2 Read e Readln Sintaxe: Read(<variáveis>); Readln(<variáveis>); Exemplos: Writeln(’Valor: '); Readln(valor); Readln(A, B, C);
  • 27. 1.10 Comentários Sintaxe: { <comentários> } { <comentários> <comentários> <comentários> }
  • 28. 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>;
  • 29. 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;
  • 30. 1.13 Procedimentos e Funções Unidades Padrão Procedure Parâmetros Function
  • 32. 1.13.2 Procedure Sintaxe: Procedure <nome> [(<parâmetros>)]; Var <variáveis>; begin <comandos>; end;
  • 33. 1.13.2 Procedure 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 Por valor: Procedure <nome> (<par>:<tipo>); Procedure fatorial (n: integer); Exemplo: Fatorial (10); A:=10; Fatorial (A);
  • 35. 1.13.3 Parâmetros Por referência: Procedure <nome> (var <par>:<tipo>); Procedure Quadrado (var n: integer); Exemplo: Quadrado (Numero);
  • 37. 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;
  • 38. 1.14 Construindo uma Biblioteca de Rotinas Sintaxe: Unit <nome>; Interface <declaração das rotinas> implementation <rotinas> end.
  • 39. 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
  • 40. 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
  • 41. 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”.
  • 42. 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 AB C D Características AB E F Características AB C F G
  • 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 Regras para Nomeação Declaração Operador de Atribuição
  • 46. 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++.
  • 47. 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;
  • 48. 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);
  • 49. 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.
  • 50. 2.4 Constantes 2.Cadeia de Caracteres Constante: deve ser representada entre aspas. Exemplo: “Primeiro Programa” “Linguagem C++” 3. O Qualificador const Const char bip=’a’; Const double pi=3.141592;
  • 51. 2.5 Operadores Aritméticos Operadores Aritméticos Básicos Operadores de Incremento e Decremento 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 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 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 Atribuiçã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;
  • 56. 2.6 Operadores Relacionais Símbolo Operação > Maior < Menor >= Maior ou igual <= Menor ou igual = = Igual ! = Diferente
  • 57. 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
  • 58. 2.7 Operadores Lógicos Símbolo Operação && E || Ou ! Não
  • 59. 2.8 Estrutura de um Programa Forma geral das funções C++ O Primeiro Programa
  • 60. 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>; }
  • 61. 2.8 Estrutura de um Programa O Primeiro Programa #include <iostream.h> void main( ) { cout << “Primeiro Programa”; }
  • 62. 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”; }
  • 63. 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); }
  • 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 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 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”;
  • 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 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 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.