SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Palestra: Introdu¸c˜ao ao C++
Lucas Santana Lellis
lellis@unifesp.br
PESL - Programa de Educa¸c˜ao em Software livre
Universidade Federal de S˜ao Paulo
20 de Setembro de 2013
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
1 Introdu¸c˜ao
Recursos
C e C++
2 Conceitos B´asicos
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
3 Objetos e Classes
Objetos
Classes
4 Recursos interessantes
Containers, Templates e Operators
5 Bibliografia e Conclus˜ao
Bibliografia
O que vem pela frente?
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Recursos
C e C++
Introdu¸c˜ao
Foi desenvolvido por Bjarne Stroustrub em 1983, com o nome
”C with classes”
Considerada uma linguagem de m´edio n´ıvel, pois combina
caracter´ısticas de linguagens de alto e baixo n´ıveis.
Possibilita um aprendizado gradual, vocˆe vai aprendendo
conforme as necessidades dos seus projetos.
Surgiu a partir da linguagem C. Apesar disso, a sua forma de
programar ´e muito diferente.
Caracter´ısticas emprestadas das linguagens: Simula 67,
ALGOL 68, Ada, CLU e ML.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Recursos
C e C++
Recursos
´E uma C melhor
Suporta abstra¸c˜ao de dados
Suporte `a orienta¸c˜ao a objetos
Heran¸ca m´ultipla
Programa¸c˜ao gen´erica (Templates)
Fun¸c˜oes virtuais
Sobrecarga de operadores
Tratamento de exce¸c˜oes
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Recursos
C e C++
C e C++
Os c´odigos em C podem ser reaproveitados normalmente em
C++, assim, torna-se desnecess´aria a reescritura dos c´odigos.
Muitas fun¸c˜oes da biblioteca do C podem ser utilizadas em
c´odigos de C++, tornando mais f´acil a adapta¸c˜ao dos
desenvolvedores e de seus projetos.
Sugest˜oes para programadores C:
Declare uma vari´avel somente quando for utiliz´a-la de fato,
inclusive dentro de la¸cos de repeti¸c˜ao (for)
N˜ao use Malloc(), o operador new faz melhor a mesma tarefa.
E, em vez de realloc(), tente vector.
Minimize a utiliza¸c˜ao de arrays primitivos e strings ao estilo de
C. As classes string e vector da biblioteca padr˜ao do C++ s˜ao
mais completas e vers´ateis.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
Conceitos B´asicos
Nesse trecho vamos aprender alguns conceitos b´asicos do C++:
A estrutura de um programa;
Os tipos de dados b´asicos e operadores;
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
A estrutura de um programa
Provavelmente, a melhor forma de aprender uma linguagem de
programa¸c˜ao ´e escrevendo um programa, vamos come¸car
lembrando como seria uma implementa¸c˜ao em C do famoso
programa ”Hello World”:
Exemplo 01 - Hello World em C
//Exemplo do programa em C
#include <stdio.h>
#include <stdlib.h>
int main ()
{
printf("Hello World!");
return 0;
}
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
Vejamos agora, o mesmo programa escrito em C++:
Exemplo 02 - Hello World em C++
//Nosso primeiro programa em C++
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!";
return 0;
}
A estrutura do programa em C++ ´e muito semelhante `a da
linguagem C. A declara¸c˜ao de vari´aveis e fun¸c˜oes, os coment´arios,
os agrupamentos e os la¸cos de repeti¸c˜ao permanecem os mesmos.
Percebe-se a utiliza¸c˜ao de novos operadores e fun¸c˜oes diferentes
para entrada e sa´ıda do console. A fun¸c˜ao cout imprime uma
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
Vari´aveis, tipos de dados e operadores
Em C++, assim como era em C, ´e necess´ario declarar uma vari´avel
em um tipo de dados antes de poder utiliz´a-la, ela deve ser
declarada com um tipo e um nome. Por exemplo:
Exemplo 03: Declara¸c˜ao de vari´aveis em C++
int main () {
int a = 2, b(3), soma; /*Podemos declarar as valores
iniciais para as variaveis de duas formas diferentes*/
soma = a + b + 2;
return 0;
}
Cuidado ao nomear suas vari´aveis, elas n˜ao podem sobrescrever os
identificadores, que s˜ao palavras reservadas pela linguagem, nem
sobrescrever outras vari´aveis com o mesmo nome.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
Podemos citar alguns tipos de dados fundamentais:
Tipos fundamentais
bool Booleano*, poss´ıveis valores s˜ao true ou false.
char Caract´ere, exemplo: ’a’, ’z’ e ’9’.
int N´umero inteiro, como 1, 12545 e 0.
short N´umero inteiro pequeno
long N´umero inteiro grande
float N´umero ponto flutuante.
double N´umero ponto flutuante com dupla precis˜ao.
ng double N´umero p. f. longo com dupla precis˜ao.
*O tipo bool ´e o ´unico que ainda n˜ao existia na linguagem C.
Obs. : Ao adicionar ”unsigned” antes de qualquer um desses tipos
retira-se a possibilidade de existirem numeros negativos.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
Para qualquer um deles, podemos utilizar os seguintes operadores:
Operadores aritm´eticos
+ soma
- subtra¸c˜ao
* multiplica¸c˜ao
/ divis˜ao
% resto da divis˜ao
Operadores de compara¸c˜ao
== igual
!= diferente
< menor
> maior
<= menor ou igual
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
strings
O C++ oferece um suporte mais completo `as strings, agora
definidas pela classe ”string”. Manipul´a-las se tornou uma tarefa
muito mais simples. Veja o exemplo abaixo:
Exemplo 04 - Manipula¸c˜ao de strings
int main (){
string nome = "Bjarne";
string sobrenome("Stroustrup");
string completo = nome + ’ ’ + sobrenome;
cout << "Seu nome completo eh: " << completo << endl;
return 0;
}
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
Um detalhe da linguagem C++, ´e que, para declarar um vetor, ou
matriz primitivos com um tamanho x, n˜ao ´e mais necess´ario
realizar a aloca¸c˜ao dinˆamica, exemplo:
Declara¸c˜ao de vetor de tamanho x
int main (){
int tamanho;
cin >> tamanho;
int[tamanho] vetor; //Isso nao e possivel em C
}
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
A estrutura de um programa
Vari´aveis, tipos de dados e operadores
Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores
Em alguns casos n˜ao ´e poss´ıvel declarar um vetor, ou matriz
diretamente, a aloca¸c˜ao dinˆamica de vari´aveis agora ´e feita atrav´es
do operador new:
Aloca¸c˜ao dinˆamica de uma matriz
int main (){
int lin, col;
cin >> lin >> col;
int** mat = new int* [lin]; //Alocando um vetor de
ponteiros
for(int i = 0; i < lin; i++){
mat[ i ] = new int [ col ];
}
}
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Objetos
Classes
Objetos
O Mundo Real ´e formado por objetos que interagem entre si (casa,
carro, aluno, professor, etc)
O que ´e um objeto?
Qualquer coisa, real ou abstrata, com limites e significados bem
definidos para a aplica¸c˜ao. Possuem um estado (valores de
atributos) e oferecem opera¸c˜oes (comportamentos) para examinar
ou alterar este estado.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Objetos
Classes
Podemos representar um objeto como uma entidade individual, que
possui seus atributos e suas fun¸c˜oes.
Em C++, os atributos seriam as vari´aveis que guardam suas
informa¸c˜oes. E as fun¸c˜oes, ou ( m´etodos ), s˜ao fun¸c˜oes usadas
para interagir com esse objeto, como uma fun¸c˜ao usada para
mudar algum atributo, por exemplo.
Pera a´ı!
S´o um detalhe, n´os n˜ao programamos objetos diretamente!!
Temos que criar uma CLASSE de objetos antes.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Objetos
Classes
Classes
O que ´e uma classe?
´E uma forma de CLASSIFICAR um tipo de objetos.. Ou seja,
quando dois objetos possuem o mesmo tipo de atributos e as
mesmas fun¸c˜oes, eles pertencem a uma mesma classe.
Assim que criamos uma classe, podemos INSTANCIAR um objeto,
com seus respectivos atributos, que s˜ao individuais para cada
objeto.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Objetos
Classes
Classes em C++
Declarando uma classe.
class nome_da_classe {
//Atributos
int X, Y;
public:
//Metodos
int funcao ( int val ) {
return ( X*val + Y );
}
};
Podemos decidir ”o quˆe” e ”como” as outras classes interagem
com a nossa classe. Por meio do ”encapsulamento”, que ser´a
melhor trabalhado nas pr´oximas palestras.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Containers, Templates e Operators
Recursos interessantes
Nessa parte, ser˜ao apresentados alguns recursos interessantes do
C++, que ser˜ao trabalhados individualmente nas pr´oximas
palestras. Fique atento `as atualiza¸c˜oes da p´agina oficial do PESL!
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Containers, Templates e Operators
Containers, Templates e Operators
O que s˜ao Containers?
Containers s˜ao classes especiais usadas para armazenar qualquer
tipo de objeto ou vari´avel. Muitas estruturas de dados conhecidas
j´a est˜ao implementadas na forma de container, como vetor, fila e
pilha, e o melhor, eles podem ser aplicados para qualquer objeto ou
vari´avel, basta passar o tipo de dados ( ou a classe ) como
parˆametro, ou seja, elas s˜ao classes ”Template”.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Containers, Templates e Operators
Template? Nunca ouvi falar..
Templates s˜ao classes que recebem um tipo de dados, ou at´e outra
classe como parˆametro, ´e uma caracter´ıstica muito favor´avel `a
programa¸c˜ao gen´erica, permitindo que as mesmas linhas de c´odigo
sejam aplicadas em outras partes do programa, ou at´e em outros
projetos. Esse recurso ´e muito ´util no desenvolvimento de
bibliotecas de c´odigo aberto, j´a que os usu´arios podem ter mais
flexibilidade ao usar seus recursos.
Vocˆes ainda v˜ao precisar de um tempo para aprender a usar classes,
e um pouco mais de experiˆencia em C++ para usar e explorar bem
esses recursos. Nas pr´oximas palestras vamos apresentar cada um
desses recursos com muito mais cuidado, mostrando exemplos de
c´odigos, e fazendo exerc´ıcios durante a oficina.
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Bibliografia
O que vem pela frente?
Referˆencias Bibliogr´aficas
Livros e Sites interessantes
1 Bjarne Stroustrup - A linguagem de programa¸c˜ao C++
2 Scott Meyers - Effective C++, Effective STL e More Effective
C++
3 http://www.cplusplus.com/
4 http://www.cplusplus.com/doc/tutorial/
5 http://punchlet.wordpress.com/
6 http://stackoverflow.com/
7 http://www.parashift.com/c++-faq-lite/index.html
Lucas Lellis Introdu¸c˜ao ao C++
Introdu¸c˜ao
Conceitos B´asicos
Objetos e Classes
Recursos interessantes
Bibliografia e Conclus˜ao
Bibliografia
O que vem pela frente?
O que vem pela frente?
Teremos, em breve, um ciclo de palestras, para podermos explorar
essa linguagem ao m´aximo.. Fique de olho no nosso portal e na
p´agina oficial do facebook. Todos as apresenta¸c˜oes desse ciclo de
palestras ser˜ao colocadas no moodle do PESL!
Nossos canais de comunica¸c˜ao
1 MOODLE do PESL - Curso de C++ :
http://pinguim.pro.br/moodle/course/view.php?id=6
2 Portal do Programa de Educa¸c˜ao em Software Livre
http://pinguim.pro.br/
3 Facebook: https://www.facebook.com/PESL.PInguim
4 Youtube: http://www.youtube.com/user/pinguimvideos/
Lucas Lellis Introdu¸c˜ao ao C++

Mais conteúdo relacionado

Mais procurados

1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Introdução ao Word
Introdução ao WordIntrodução ao Word
Introdução ao WordArtur Coelho
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...Marcello Thiry
 
POO - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)
POO   - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)POO   - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)
POO - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)Marcello Thiry
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Curso de Básico de Excel 2013 - Parte I
Curso de Básico de Excel  2013 - Parte ICurso de Básico de Excel  2013 - Parte I
Curso de Básico de Excel 2013 - Parte IABCursos OnLine
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisLuciano Crecente
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Daniel Brandão
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Excel Básico
Excel BásicoExcel Básico
Excel Básicoaprcds
 
C++ introducao
C++ introducaoC++ introducao
C++ introducaoSedu
 

Mais procurados (20)

1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Introdução ao Word
Introdução ao WordIntrodução ao Word
Introdução ao Word
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Aula I - Excel
Aula I - ExcelAula I - Excel
Aula I - Excel
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
 
POO - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)
POO   - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)POO   - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)
POO - Unidade 2 (parte 1) - Diagrama de Classe - Associação (versão 2)
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Curso de Básico de Excel 2013 - Parte I
Curso de Básico de Excel  2013 - Parte ICurso de Básico de Excel  2013 - Parte I
Curso de Básico de Excel 2013 - Parte I
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas Operacionais
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Apresentacao Seminario
Apresentacao SeminarioApresentacao Seminario
Apresentacao Seminario
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Excel basico
Excel basicoExcel basico
Excel basico
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Excel Básico
Excel BásicoExcel Básico
Excel Básico
 
C++ introducao
C++ introducaoC++ introducao
C++ introducao
 

Destaque

Presentation on C++ Programming Language
Presentation on C++ Programming LanguagePresentation on C++ Programming Language
Presentation on C++ Programming Languagesatvirsandhu9
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Leinylson Fontinele
 
Aula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisAula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisPacc UAB
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )PeslPinguim
 
Aula c++ estruturas de dados
Aula c++   estruturas de dadosAula c++   estruturas de dados
Aula c++ estruturas de dadosJean Martina
 
TRABALHO PARADIGMAS - C++
TRABALHO PARADIGMAS - C++TRABALHO PARADIGMAS - C++
TRABALHO PARADIGMAS - C++Ellen Diana
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - MatrizesPacc UAB
 

Destaque (14)

SubProgramas
SubProgramasSubProgramas
SubProgramas
 
Presentation on C++ Programming Language
Presentation on C++ Programming LanguagePresentation on C++ Programming Language
Presentation on C++ Programming Language
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
 
599026
599026599026
599026
 
Aula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisAula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionais
 
Apresentação c++ UFC-Quixadá
Apresentação c++ UFC-QuixadáApresentação c++ UFC-Quixadá
Apresentação c++ UFC-Quixadá
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )
 
Aula c++ estruturas de dados
Aula c++   estruturas de dadosAula c++   estruturas de dados
Aula c++ estruturas de dados
 
TRABALHO PARADIGMAS - C++
TRABALHO PARADIGMAS - C++TRABALHO PARADIGMAS - C++
TRABALHO PARADIGMAS - C++
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - Matrizes
 
Aula1 c++ builder
Aula1   c++ builderAula1   c++ builder
Aula1 c++ builder
 
C++ Funções
 C++ Funções C++ Funções
C++ Funções
 
C++ Presentation
C++ PresentationC++ Presentation
C++ Presentation
 
C++ programming
C++ programmingC++ programming
C++ programming
 

Semelhante a Aula 01 - Introdução ao C++

Aula 03 - Classes em C++ ( Parte 2 )
Aula 03 - Classes em C++ ( Parte 2 )Aula 03 - Classes em C++ ( Parte 2 )
Aula 03 - Classes em C++ ( Parte 2 )PeslPinguim
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#biandamakengo08
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Motalucianacmota
 
Aula 04 - Templates e Operators
Aula 04 - Templates e OperatorsAula 04 - Templates e Operators
Aula 04 - Templates e OperatorsPeslPinguim
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Tutorial aed iii 009 - algoritmo de ordenação heapsort
Tutorial aed iii   009 - algoritmo de ordenação heapsortTutorial aed iii   009 - algoritmo de ordenação heapsort
Tutorial aed iii 009 - algoritmo de ordenação heapsortFlávio Freitas
 
Palestra: LINQ via C#
Palestra: LINQ via C# Palestra: LINQ via C#
Palestra: LINQ via C# Thiago Vidal
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETJosé Corrêa Viana
 
apostila-desenvolvimento-asp-net
 apostila-desenvolvimento-asp-net apostila-desenvolvimento-asp-net
apostila-desenvolvimento-asp-netSandra Rocha
 
Tutorial aed iii 003 - algoritmo de ordenação shellsort
Tutorial aed iii   003 - algoritmo de ordenação shellsortTutorial aed iii   003 - algoritmo de ordenação shellsort
Tutorial aed iii 003 - algoritmo de ordenação shellsortFlávio Freitas
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens PooInfogenius
 

Semelhante a Aula 01 - Introdução ao C++ (20)

Aula02
Aula02Aula02
Aula02
 
Aula03
Aula03Aula03
Aula03
 
Aula 03 - Classes em C++ ( Parte 2 )
Aula 03 - Classes em C++ ( Parte 2 )Aula 03 - Classes em C++ ( Parte 2 )
Aula 03 - Classes em C++ ( Parte 2 )
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#
 
Introdução ao LINQ
Introdução ao LINQIntrodução ao LINQ
Introdução ao LINQ
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Aula 04 - Templates e Operators
Aula 04 - Templates e OperatorsAula 04 - Templates e Operators
Aula 04 - Templates e Operators
 
Aula04
Aula04Aula04
Aula04
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Tutorial aed iii 009 - algoritmo de ordenação heapsort
Tutorial aed iii   009 - algoritmo de ordenação heapsortTutorial aed iii   009 - algoritmo de ordenação heapsort
Tutorial aed iii 009 - algoritmo de ordenação heapsort
 
Semanaupecaruaru2013 c++para iniciantes
Semanaupecaruaru2013 c++para iniciantesSemanaupecaruaru2013 c++para iniciantes
Semanaupecaruaru2013 c++para iniciantes
 
Introducao basica-linguagem-java
Introducao basica-linguagem-javaIntroducao basica-linguagem-java
Introducao basica-linguagem-java
 
Slide_Python.pdf
Slide_Python.pdfSlide_Python.pdf
Slide_Python.pdf
 
Palestra: LINQ via C#
Palestra: LINQ via C# Palestra: LINQ via C#
Palestra: LINQ via C#
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
 
apostila-desenvolvimento-asp-net
 apostila-desenvolvimento-asp-net apostila-desenvolvimento-asp-net
apostila-desenvolvimento-asp-net
 
Tutorial aed iii 003 - algoritmo de ordenação shellsort
Tutorial aed iii   003 - algoritmo de ordenação shellsortTutorial aed iii   003 - algoritmo de ordenação shellsort
Tutorial aed iii 003 - algoritmo de ordenação shellsort
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
 
LabTeX Presentation
LabTeX  PresentationLabTeX  Presentation
LabTeX Presentation
 

Mais de PeslPinguim

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao ArduinoPeslPinguim
 
Aula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalAula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalPeslPinguim
 
Aula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalAula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalPeslPinguim
 
Aula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalAula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalPeslPinguim
 
Aula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalAula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalPeslPinguim
 
Aula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalAula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalPeslPinguim
 
Aula 1 apresentacao
Aula 1 apresentacaoAula 1 apresentacao
Aula 1 apresentacaoPeslPinguim
 
Aula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalAula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalPeslPinguim
 
Apresentação1_
Apresentação1_Apresentação1_
Apresentação1_PeslPinguim
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10PeslPinguim
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5PeslPinguim
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1PeslPinguim
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7PeslPinguim
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3PeslPinguim
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9PeslPinguim
 
Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 PeslPinguim
 
Eletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroEletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroPeslPinguim
 

Mais de PeslPinguim (20)

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Aula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalAula 4 redes Inclusão Digital
Aula 4 redes Inclusão Digital
 
Aula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalAula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão Digital
 
Aula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalAula 3 software Inclusão Digital
Aula 3 software Inclusão Digital
 
Aula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalAula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão Digital
 
Aula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalAula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão Digital
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Aula 1 apresentacao
Aula 1 apresentacaoAula 1 apresentacao
Aula 1 apresentacao
 
Aula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalAula 5 internet Inclusão Digital
Aula 5 internet Inclusão Digital
 
Apresentação1_
Apresentação1_Apresentação1_
Apresentação1_
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9
 
Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8
 
Eletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroEletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoro
 

Último

Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosLucianoPrado15
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptjricardo76
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxLeonardoGabriel65
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAssuser2ad38b
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxMARIADEFATIMASILVADE
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 

Último (20)

Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 

Aula 01 - Introdução ao C++

  • 1. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Palestra: Introdu¸c˜ao ao C++ Lucas Santana Lellis lellis@unifesp.br PESL - Programa de Educa¸c˜ao em Software livre Universidade Federal de S˜ao Paulo 20 de Setembro de 2013 Lucas Lellis Introdu¸c˜ao ao C++
  • 2. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao 1 Introdu¸c˜ao Recursos C e C++ 2 Conceitos B´asicos A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores 3 Objetos e Classes Objetos Classes 4 Recursos interessantes Containers, Templates e Operators 5 Bibliografia e Conclus˜ao Bibliografia O que vem pela frente? Lucas Lellis Introdu¸c˜ao ao C++
  • 3. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Recursos C e C++ Introdu¸c˜ao Foi desenvolvido por Bjarne Stroustrub em 1983, com o nome ”C with classes” Considerada uma linguagem de m´edio n´ıvel, pois combina caracter´ısticas de linguagens de alto e baixo n´ıveis. Possibilita um aprendizado gradual, vocˆe vai aprendendo conforme as necessidades dos seus projetos. Surgiu a partir da linguagem C. Apesar disso, a sua forma de programar ´e muito diferente. Caracter´ısticas emprestadas das linguagens: Simula 67, ALGOL 68, Ada, CLU e ML. Lucas Lellis Introdu¸c˜ao ao C++
  • 4. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Recursos C e C++ Recursos ´E uma C melhor Suporta abstra¸c˜ao de dados Suporte `a orienta¸c˜ao a objetos Heran¸ca m´ultipla Programa¸c˜ao gen´erica (Templates) Fun¸c˜oes virtuais Sobrecarga de operadores Tratamento de exce¸c˜oes Lucas Lellis Introdu¸c˜ao ao C++
  • 5. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Recursos C e C++ C e C++ Os c´odigos em C podem ser reaproveitados normalmente em C++, assim, torna-se desnecess´aria a reescritura dos c´odigos. Muitas fun¸c˜oes da biblioteca do C podem ser utilizadas em c´odigos de C++, tornando mais f´acil a adapta¸c˜ao dos desenvolvedores e de seus projetos. Sugest˜oes para programadores C: Declare uma vari´avel somente quando for utiliz´a-la de fato, inclusive dentro de la¸cos de repeti¸c˜ao (for) N˜ao use Malloc(), o operador new faz melhor a mesma tarefa. E, em vez de realloc(), tente vector. Minimize a utiliza¸c˜ao de arrays primitivos e strings ao estilo de C. As classes string e vector da biblioteca padr˜ao do C++ s˜ao mais completas e vers´ateis. Lucas Lellis Introdu¸c˜ao ao C++
  • 6. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores Conceitos B´asicos Nesse trecho vamos aprender alguns conceitos b´asicos do C++: A estrutura de um programa; Os tipos de dados b´asicos e operadores; Lucas Lellis Introdu¸c˜ao ao C++
  • 7. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores A estrutura de um programa Provavelmente, a melhor forma de aprender uma linguagem de programa¸c˜ao ´e escrevendo um programa, vamos come¸car lembrando como seria uma implementa¸c˜ao em C do famoso programa ”Hello World”: Exemplo 01 - Hello World em C //Exemplo do programa em C #include <stdio.h> #include <stdlib.h> int main () { printf("Hello World!"); return 0; } Lucas Lellis Introdu¸c˜ao ao C++
  • 8. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores Vejamos agora, o mesmo programa escrito em C++: Exemplo 02 - Hello World em C++ //Nosso primeiro programa em C++ #include <iostream> using namespace std; int main () { cout << "Hello World!"; return 0; } A estrutura do programa em C++ ´e muito semelhante `a da linguagem C. A declara¸c˜ao de vari´aveis e fun¸c˜oes, os coment´arios, os agrupamentos e os la¸cos de repeti¸c˜ao permanecem os mesmos. Percebe-se a utiliza¸c˜ao de novos operadores e fun¸c˜oes diferentes para entrada e sa´ıda do console. A fun¸c˜ao cout imprime uma Lucas Lellis Introdu¸c˜ao ao C++
  • 9. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores Vari´aveis, tipos de dados e operadores Em C++, assim como era em C, ´e necess´ario declarar uma vari´avel em um tipo de dados antes de poder utiliz´a-la, ela deve ser declarada com um tipo e um nome. Por exemplo: Exemplo 03: Declara¸c˜ao de vari´aveis em C++ int main () { int a = 2, b(3), soma; /*Podemos declarar as valores iniciais para as variaveis de duas formas diferentes*/ soma = a + b + 2; return 0; } Cuidado ao nomear suas vari´aveis, elas n˜ao podem sobrescrever os identificadores, que s˜ao palavras reservadas pela linguagem, nem sobrescrever outras vari´aveis com o mesmo nome. Lucas Lellis Introdu¸c˜ao ao C++
  • 10. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores Podemos citar alguns tipos de dados fundamentais: Tipos fundamentais bool Booleano*, poss´ıveis valores s˜ao true ou false. char Caract´ere, exemplo: ’a’, ’z’ e ’9’. int N´umero inteiro, como 1, 12545 e 0. short N´umero inteiro pequeno long N´umero inteiro grande float N´umero ponto flutuante. double N´umero ponto flutuante com dupla precis˜ao. ng double N´umero p. f. longo com dupla precis˜ao. *O tipo bool ´e o ´unico que ainda n˜ao existia na linguagem C. Obs. : Ao adicionar ”unsigned” antes de qualquer um desses tipos retira-se a possibilidade de existirem numeros negativos. Lucas Lellis Introdu¸c˜ao ao C++
  • 11. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores Para qualquer um deles, podemos utilizar os seguintes operadores: Operadores aritm´eticos + soma - subtra¸c˜ao * multiplica¸c˜ao / divis˜ao % resto da divis˜ao Operadores de compara¸c˜ao == igual != diferente < menor > maior <= menor ou igual Lucas Lellis Introdu¸c˜ao ao C++
  • 12. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores strings O C++ oferece um suporte mais completo `as strings, agora definidas pela classe ”string”. Manipul´a-las se tornou uma tarefa muito mais simples. Veja o exemplo abaixo: Exemplo 04 - Manipula¸c˜ao de strings int main (){ string nome = "Bjarne"; string sobrenome("Stroustrup"); string completo = nome + ’ ’ + sobrenome; cout << "Seu nome completo eh: " << completo << endl; return 0; } Lucas Lellis Introdu¸c˜ao ao C++
  • 13. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores Um detalhe da linguagem C++, ´e que, para declarar um vetor, ou matriz primitivos com um tamanho x, n˜ao ´e mais necess´ario realizar a aloca¸c˜ao dinˆamica, exemplo: Declara¸c˜ao de vetor de tamanho x int main (){ int tamanho; cin >> tamanho; int[tamanho] vetor; //Isso nao e possivel em C } Lucas Lellis Introdu¸c˜ao ao C++
  • 14. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao A estrutura de um programa Vari´aveis, tipos de dados e operadores Declara¸c˜ao e aloca¸c˜ao dinˆamica de vetores Em alguns casos n˜ao ´e poss´ıvel declarar um vetor, ou matriz diretamente, a aloca¸c˜ao dinˆamica de vari´aveis agora ´e feita atrav´es do operador new: Aloca¸c˜ao dinˆamica de uma matriz int main (){ int lin, col; cin >> lin >> col; int** mat = new int* [lin]; //Alocando um vetor de ponteiros for(int i = 0; i < lin; i++){ mat[ i ] = new int [ col ]; } } Lucas Lellis Introdu¸c˜ao ao C++
  • 15. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Objetos Classes Objetos O Mundo Real ´e formado por objetos que interagem entre si (casa, carro, aluno, professor, etc) O que ´e um objeto? Qualquer coisa, real ou abstrata, com limites e significados bem definidos para a aplica¸c˜ao. Possuem um estado (valores de atributos) e oferecem opera¸c˜oes (comportamentos) para examinar ou alterar este estado. Lucas Lellis Introdu¸c˜ao ao C++
  • 16. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Objetos Classes Podemos representar um objeto como uma entidade individual, que possui seus atributos e suas fun¸c˜oes. Em C++, os atributos seriam as vari´aveis que guardam suas informa¸c˜oes. E as fun¸c˜oes, ou ( m´etodos ), s˜ao fun¸c˜oes usadas para interagir com esse objeto, como uma fun¸c˜ao usada para mudar algum atributo, por exemplo. Pera a´ı! S´o um detalhe, n´os n˜ao programamos objetos diretamente!! Temos que criar uma CLASSE de objetos antes. Lucas Lellis Introdu¸c˜ao ao C++
  • 17. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Objetos Classes Classes O que ´e uma classe? ´E uma forma de CLASSIFICAR um tipo de objetos.. Ou seja, quando dois objetos possuem o mesmo tipo de atributos e as mesmas fun¸c˜oes, eles pertencem a uma mesma classe. Assim que criamos uma classe, podemos INSTANCIAR um objeto, com seus respectivos atributos, que s˜ao individuais para cada objeto. Lucas Lellis Introdu¸c˜ao ao C++
  • 18. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Objetos Classes Classes em C++ Declarando uma classe. class nome_da_classe { //Atributos int X, Y; public: //Metodos int funcao ( int val ) { return ( X*val + Y ); } }; Podemos decidir ”o quˆe” e ”como” as outras classes interagem com a nossa classe. Por meio do ”encapsulamento”, que ser´a melhor trabalhado nas pr´oximas palestras. Lucas Lellis Introdu¸c˜ao ao C++
  • 19. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Containers, Templates e Operators Recursos interessantes Nessa parte, ser˜ao apresentados alguns recursos interessantes do C++, que ser˜ao trabalhados individualmente nas pr´oximas palestras. Fique atento `as atualiza¸c˜oes da p´agina oficial do PESL! Lucas Lellis Introdu¸c˜ao ao C++
  • 20. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Containers, Templates e Operators Containers, Templates e Operators O que s˜ao Containers? Containers s˜ao classes especiais usadas para armazenar qualquer tipo de objeto ou vari´avel. Muitas estruturas de dados conhecidas j´a est˜ao implementadas na forma de container, como vetor, fila e pilha, e o melhor, eles podem ser aplicados para qualquer objeto ou vari´avel, basta passar o tipo de dados ( ou a classe ) como parˆametro, ou seja, elas s˜ao classes ”Template”. Lucas Lellis Introdu¸c˜ao ao C++
  • 21. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Containers, Templates e Operators Template? Nunca ouvi falar.. Templates s˜ao classes que recebem um tipo de dados, ou at´e outra classe como parˆametro, ´e uma caracter´ıstica muito favor´avel `a programa¸c˜ao gen´erica, permitindo que as mesmas linhas de c´odigo sejam aplicadas em outras partes do programa, ou at´e em outros projetos. Esse recurso ´e muito ´util no desenvolvimento de bibliotecas de c´odigo aberto, j´a que os usu´arios podem ter mais flexibilidade ao usar seus recursos. Vocˆes ainda v˜ao precisar de um tempo para aprender a usar classes, e um pouco mais de experiˆencia em C++ para usar e explorar bem esses recursos. Nas pr´oximas palestras vamos apresentar cada um desses recursos com muito mais cuidado, mostrando exemplos de c´odigos, e fazendo exerc´ıcios durante a oficina. Lucas Lellis Introdu¸c˜ao ao C++
  • 22. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Bibliografia O que vem pela frente? Referˆencias Bibliogr´aficas Livros e Sites interessantes 1 Bjarne Stroustrup - A linguagem de programa¸c˜ao C++ 2 Scott Meyers - Effective C++, Effective STL e More Effective C++ 3 http://www.cplusplus.com/ 4 http://www.cplusplus.com/doc/tutorial/ 5 http://punchlet.wordpress.com/ 6 http://stackoverflow.com/ 7 http://www.parashift.com/c++-faq-lite/index.html Lucas Lellis Introdu¸c˜ao ao C++
  • 23. Introdu¸c˜ao Conceitos B´asicos Objetos e Classes Recursos interessantes Bibliografia e Conclus˜ao Bibliografia O que vem pela frente? O que vem pela frente? Teremos, em breve, um ciclo de palestras, para podermos explorar essa linguagem ao m´aximo.. Fique de olho no nosso portal e na p´agina oficial do facebook. Todos as apresenta¸c˜oes desse ciclo de palestras ser˜ao colocadas no moodle do PESL! Nossos canais de comunica¸c˜ao 1 MOODLE do PESL - Curso de C++ : http://pinguim.pro.br/moodle/course/view.php?id=6 2 Portal do Programa de Educa¸c˜ao em Software Livre http://pinguim.pro.br/ 3 Facebook: https://www.facebook.com/PESL.PInguim 4 Youtube: http://www.youtube.com/user/pinguimvideos/ Lucas Lellis Introdu¸c˜ao ao C++