SlideShare uma empresa Scribd logo
1 de 73
Baixar para ler offline
# Estrutura de Dados #
Aula - Revisão de C/C++ na Prática
Prof. Leinylson Fontinele Pereira
Na aula anterior...
 Ponteiros
 Funções
11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Introdução
11:28 3 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
O que vamos aprender?
 Preparação do ambiente de testes
 Conceitos básicos de C
 Sintaxe de alguns comandos
# Structs, funções, ponteiros
11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
11:28 5 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Linguagens de programação
11:28 6 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Linguagem C
Desenvolvida inicialmente
por Dennis M. Ritchie e Ken
Thompson no laboratório
Bell no ano de 1972.
Baseada na linguagem B
criada por Thompson, esta
linguagem evoluiu da
linguagem BCPL, dando
origem as duas linguagens
anteriores.
Ambientede Desenvolvimento – Opção01
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Ambiente de Desenvolvimento – Opção02
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Programa nº I
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Programa nº II
A linguagemC
11:28
 char tem 8 bits (não é 16 bits como em Java)
 Não existe tipo booleano (usar int ou char):
0 falso
≠ 0 verdadeiro
 Tipos inteiros podem ser: signed ou unsigned
 Não tem tipo string: usa-se vetor de char
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
LinguagemC: Tipos de dados
11:28
Tipos de dados primários - Tipos de dados derivados - Tipos definidos pelo usuário
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
LinguagemC: Tipos de dados
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Exibindo uma saída
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
O comando return
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Vetores: conceito
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
 Um vetor (= array) é uma estrutura de dados que armazena uma sequência de
objetos, todos do mesmo tipo, em posições consecutivas da memória RAM (=
random access memory) do computador.
Vetores: exemplo
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Entendendo Vetores
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Vetores: exercício
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
 Dado um vetor de inteiros, 𝑣[0. . 6], crie um
programa para determinar se a sequência de números
corresponde a um palíndromo.
[1, 2, 3, 4, 3, 2, 1]: vetor palíndromo
[1, 2, 3, 4, 5, 6, 7]: não é vetor palíndromo
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Qual é o número mínimo de comparações
necessárias para verificar se um vetor de
tamanho N é ou não palíndromo?
Vetores: exercício
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Matriz: exercício
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
00000
00000
00000
00000
00000
Struct: exercício
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Quais são as informações de um Aluno para a Faculdade?
- Nome
- Matrícula
- Série
- Turma
- Curso
No exemplo acima temos a estrutura Aluno que contém as informações ou as
características de um aluno. Muito semelhante a um registro de banco de dados.
Podemos dizer que em uma estrutura, estamos armazenando informações agrupadas logicamente.
Construindo uma Struct
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
struct aluno
{
char nome[255];
int matricula;
int serie;
int turma;
char curso[100];
};
Nome da estrutura
Palavra
reservada que
identifica uma
estrutura
Membros da estrutura
Chaves definem o
início e o fim da
estrutura
Termina com ponto
e vírgula
Struct
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Struct
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Struct
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Struct: acessando os campos
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Funções
11:28 30
Estruturaaaaaaa
Funções: Estrutura de uma função
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Retorno
da função
Nome da função
Parâmetros da
função
Corpo da função
Escopo de início e fim da função
double somar(double x, double y)
{
double resultado = x + y;
return resultado;
}
Ponteiros
11:28 32
Estruturaaaaaaa
Ponteiros : Operadores
11:28
 Para operação com ponteiros, utilizamos dois operadores unários:
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Operador Descrição
* Utilizado para declarar um ponteiro e para retornar o valor
& Utilizado para retornar o endereço de memória da variável
Declarando uma variável do tipoponteiro
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
int *ptr;
Tipo da variável
Nome da variável
Operador
unário
Declaraçãoe atribuição de ponteiros
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Variável
ponteiro
Atribuindo o endereço
de memória
int *ptr;
int valor;
valor = 1500;
ptr = &valor;
Ponteiros : Operadores
11:28
 Se x é uma variável, então &x é o seu endereço
int s = 999
int *p = &s
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Ponteiros : Operadores
11:28
 Todo ponteiro pode ter o valor NULL.
 NULL é uma constante, geralmente vale 0 (definida no arquivo interface stdlib)
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Ponteiros: Exemplo
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Vetores e Ponteiros
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
 Podemos usar ponteiros como se fossem matrizes:
int mat[] = { 1, 2 , 3 };
int *p = mat;
printf(“%d”, p[2]); // imprime 3
Exemplo
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
#include <stdio.h>
int main() {
int mat[50][50];
int i, j;
// percorre a matriz com dois loops
for (i = 0; i < 50; i++) {
for (j = 0; j < 50; j++) {
mat[i][j] = 0;
}
}
return 0;
}
Exemplo
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
#include <stdio.h>
int main() {
int mat[50][50];
int *p= (int *) mat, i;
// percorre a matriz com um único loop
for (i = 0; i < 2500; i++) {
*p = 0;
p++;
}
return 0;
}
É muito mais
rápido e diminui o
tamanho do código
Vetores e Ponteiros
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
int vetor[10];
int *ponteiro, i;
ponteiro = &i;
// as operações a seguir são inválidas
// ERRADO: vetor não é variável
vetor = vetor + 2;
// ERRADO: vetor não é variável
*vetor = 0;
// ERRADO: vetor não é variável
vetor = ponteiro;
Strings e Ponteiros
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
#include <stdio.h>
#include <string.h>
int main() {
char nome[15];
char *p = “Revisão de C/C++”;
// p pode ser usado como uma string
strcpy(nome, p);
printf("%s %sn", nome, p);
return 0;
}
Exemplo
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
#include <stdio.h>
int main() {
char *s = "string";
int a = 1, *p = &a;
float f = 2.0;
void *v;
v = p; // v aponta para um inteiro
a = *((int *) v);
v = s; // v aponta para uma string
s = (char *) v;
v = &f; // v aponta para um float
f = *((float *) v);
return 0;
}
Matrizes de Ponteiros
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
// vetor de ponteiros
int *vetor[10];
// vetor de strings
char *strings[] = {"EU", "TU", "ELE" };
// matriz de ponteiros
int *matriz[2][2];
Ponteiros para Ponteiros
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
#include <stdio.h>
int main() {
int a = 10, *p, **pp;
p = &a;
pp = &p;
printf("%dn", **pp); // imprime 10
return 0;
}
Obs.: Para acessar o valor
de a através de pp usamos
o operador * duas vezes
Avisosobre Ponteiros!
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
#include <iostream>
using namespace std;
int main(){
int *ptr_inteiro;
double valor;
valor = 345.76;
ptr_inteiro = &valor;
cout << *ptr_inteiro << endl;
}
ERRO !!!
Cuidados ao utilizar ponteiros
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
// Errado - Não execute
int main () {
int a,*p;
a = 10;
*p = a; // Para onde p aponta???
return 0;
}
Diretivas de Compilação
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
 Todas as diretivas começam por # e podem ser utilizadas em qualquer parte do
código
 Principais diretivas definidas no C ANSI:
#if, #ifdef, #ifndef, #else, #elif, #endif,#include,
#define, #undef, #error
A Diretiva#include
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
 Sintaxe:
 #include <nomeDoArquivo>
• O arquivo se encontra no path do compilador
 #include “nomeDoArquivo”
• O arquivo se encontra em outro local
 Exemplos:
 #include <string.h>
 #include “pessoa.h”
A Diretiva#define
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
 Sintaxe:
 #define nomeDaMacro corpoDaMacro
 copoDaMacro é opcional
 Exemplos:
 #define TAMANHO 10
 #define _WIN32
 #define max(a,b) ((a>b)?(a):(b))
A Diretiva#undef
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
 Sintaxe:
 #undef nomeDaMacro
 Exemplo:
 #undef max
O comando return
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
 Sintaxe:
 return nomeDaVariável;
 nomeDaVariável não é usado em funções que retornam void
 O return encerra a execução da função
 Pode ser comparado com o break usado nos loops
 Uma função pode ter mais de um return
Exemplo
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
int dividir(int a, int b) {
if (!b) {
return 0; // evita a divisão por 0
}
return a / b;
}
Protótipos de funções
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
 Os compiladores de C são muito eficientes, mas isto traz alguns problemas
 Funções só podem ser usadas se forem definidas anteriormente
 A solução é utilizar protótipos de funções
 Sintaxe:
 tipoDeRetorno nomeDaFunção(tipo1, ... , tipoN);
Protótipos de funções
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
void b(int); // protótipo de b
void a(int i) {
// ...
b(i);
// ...
}
void b(int j) {
// ...
a(j);
// ...
}
Ponteiros para Funções
11:28
Estrutura de Dados: Aula 02 - Estrutura de dados e TAD
 Sintaxe:
 tipoDeRetorno (*nomeDoPonteiro) (tipoP1, ... , tipoPN)
Exemplo:
int (*p)(const char *);
p = puts; // inicializa
(*p) (“NASSAU”); // faz a chamada
Também podemos passar ponteiros para funções como parâmetro de outras
funções
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Desafio!
Desafio I
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
a = 1
b = 10
Desafio II
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
a = 10
b = 1
A linguagem C++
11:28 61 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
A linguagemC++
11:28
 Total compatibilidade com C (qualquer programa em C é um programa C++)
 C++ traz ainda:
 Classes e variáveis/funções membros (atributos/métodos);
 Sobrecarga
 Herança (permite herança múltipla)
 Funções virtuais (sobrescrita de métodos)
 Etc.
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
A linguagemC++
11:28
 C++ não possui coletor de lixo como Java
 Porém as instruções de criação/destruição são mais simples do que malloc/free.
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Declaraçãode Classes
11:28
 A declaração de uma classe diz o que as instâncias da classe podem fazer (contrato)
 A definição/implementação de uma classe diz como as instâncias da classe farão o
que encontra-se no contrato
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Sobrecarga
11:28
 C++, assim como Java, permite sobrecarga
 Várias funções com mesmo nome
 O mesmo nome é permitido, desde que os parâmetrossejam diferentes:
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Construtor
11:28
 C++, assim como Java, permite sobrecarga
 Se nenhum construtor é dado, um construtor default (sem argumentos) é adicionado pelo C++
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Instâncias diretas ( . ) e ponteiros (->)
11:28
 O ( . ) e ( -> ) são usados para acessar membros da classe
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Destrutores
11:28
 Em C++, deve-se destruir as instâncias criadas, nãohá coletor de lixo
 Destrutores devem liberar memória dinâmica alocada pela classe durante a
construção da instância
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Resolução de escopo ( :: )
11:28
 A implementação de um método é prefixada com o operador de resolução de escopo
 Motivo: diferente de Java, o método não encontra-se obrigatoriamente dentro do
escopo da classe
 Pode-se usá-lo também para variáveis
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Concluindo...
11:28 70 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Atividade 1
11:28
1) Implemente as seguintes funções:
 int mystrlen(char *c)
• retorna o tamanho da string c
 void mystrcpy(char *dest, char *orig)
• copia orig para dest
 void mystrcat(char *dest, char *orig)
• concatena orig em dest
 int mystrchar(char *str, char c)
• Retorna o índice onde c ocorre em str
2) Declare um ponteiro para uma das funções que você fez no exercício anterior e chame-a utilizando o
mesmo
3) Crie as seguintes macros:
 min(a,b)
• Retorna o mínimo entra a e b
 isPar(a)
• Retorna 1 se a for par e 0 caso contrário
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Material: https://sites.google.com/site/leinylsonnassau
11:28
Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Material baseado nas aulas de:
 Algoritmos e Estruturas de Dados I, Prof. Jesús P. Mena-Chalco
Na próxima aula veremos...
 Listas Estáticas
11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
Alguma Dúvida?
11:28
Até a próxima aula...
leinylson@gmail.com

Mais conteúdo relacionado

Mais procurados

Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Leinylson Fontinele
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoLeinylson Fontinele
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem Cprofjr
 
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
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Diagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDiagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDjonathas Cardoso
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Leinylson Fontinele
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Leinylson Fontinele
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02thomasdacosta
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dadosinfo_cimol
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Pacc UAB
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 

Mais procurados (20)

Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Banco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - ApresentaçãoBanco de Dados II Aula 01 - Apresentação
Banco de Dados II Aula 01 - Apresentação
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Aula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem CAula sobre matrizes - Linguagem C
Aula sobre matrizes - Linguagem C
 
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,...
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Diagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados IDiagrama Entidade Relacionamento - Bancos de Dados I
Diagrama Entidade Relacionamento - Bancos de Dados I
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 

Destaque

Estrutura de Dados Aula 05 - Filas Estáticas
Estrutura de Dados  Aula 05 - Filas EstáticasEstrutura de Dados  Aula 05 - Filas Estáticas
Estrutura de Dados Aula 05 - Filas EstáticasLeinylson Fontinele
 
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaEstrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaLeinylson Fontinele
 
Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasLeinylson Fontinele
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Leinylson Fontinele
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Leinylson Fontinele
 
Sistemas Multimídia - Aula 09 - A TERCEIRA DIMENSÃO (Computação gráfica trid...
Sistemas Multimídia - Aula 09 -  A TERCEIRA DIMENSÃO (Computação gráfica trid...Sistemas Multimídia - Aula 09 -  A TERCEIRA DIMENSÃO (Computação gráfica trid...
Sistemas Multimídia - Aula 09 - A TERCEIRA DIMENSÃO (Computação gráfica trid...Leinylson Fontinele
 
Sistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e Laser
Sistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e LaserSistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e Laser
Sistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e LaserLeinylson Fontinele
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó DescritorEstrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó DescritorLeinylson Fontinele
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Leinylson Fontinele
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasLeinylson Fontinele
 
Pesquisa Operacional - Aula 07 - Problema de Transporte e Designação
Pesquisa Operacional - Aula 07 - Problema de Transporte e DesignaçãoPesquisa Operacional - Aula 07 - Problema de Transporte e Designação
Pesquisa Operacional - Aula 07 - Problema de Transporte e DesignaçãoLeinylson Fontinele
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 
Estrutura de Dados - Aula 08 - Recursão (conceito, utilização, exemplos)
Estrutura de Dados - Aula 08 - Recursão (conceito, utilização, exemplos)Estrutura de Dados - Aula 08 - Recursão (conceito, utilização, exemplos)
Estrutura de Dados - Aula 08 - Recursão (conceito, utilização, exemplos)Leinylson Fontinele
 
3Com 385640-001
3Com 385640-0013Com 385640-001
3Com 385640-001savomir
 
Business organisations financial statements
Business organisations financial statementsBusiness organisations financial statements
Business organisations financial statementsDyann Barras
 

Destaque (20)

Estrutura de Dados Aula 05 - Filas Estáticas
Estrutura de Dados  Aula 05 - Filas EstáticasEstrutura de Dados  Aula 05 - Filas Estáticas
Estrutura de Dados Aula 05 - Filas Estáticas
 
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaEstrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
 
Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas Estáticas
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
 
TI na Educação
TI na EducaçãoTI na Educação
TI na Educação
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
 
Sistemas Multimídia - Aula 09 - A TERCEIRA DIMENSÃO (Computação gráfica trid...
Sistemas Multimídia - Aula 09 -  A TERCEIRA DIMENSÃO (Computação gráfica trid...Sistemas Multimídia - Aula 09 -  A TERCEIRA DIMENSÃO (Computação gráfica trid...
Sistemas Multimídia - Aula 09 - A TERCEIRA DIMENSÃO (Computação gráfica trid...
 
Sistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e Laser
Sistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e LaserSistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e Laser
Sistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e Laser
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Estrutura de Dados - Grafos
Estrutura de Dados - GrafosEstrutura de Dados - Grafos
Estrutura de Dados - Grafos
 
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó DescritorEstrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
 
Pesquisa Operacional - Aula 07 - Problema de Transporte e Designação
Pesquisa Operacional - Aula 07 - Problema de Transporte e DesignaçãoPesquisa Operacional - Aula 07 - Problema de Transporte e Designação
Pesquisa Operacional - Aula 07 - Problema de Transporte e Designação
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
Estrutura de Dados - Aula 08 - Recursão (conceito, utilização, exemplos)
Estrutura de Dados - Aula 08 - Recursão (conceito, utilização, exemplos)Estrutura de Dados - Aula 08 - Recursão (conceito, utilização, exemplos)
Estrutura de Dados - Aula 08 - Recursão (conceito, utilização, exemplos)
 
3Com 385640-001
3Com 385640-0013Com 385640-001
3Com 385640-001
 
Todos están muertos
Todos están muertosTodos están muertos
Todos están muertos
 
Business organisations financial statements
Business organisations financial statementsBusiness organisations financial statements
Business organisations financial statements
 

Semelhante a Estrutura de Dados - Aula de revisão de c na prática

Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaLeinylson Fontinele
 
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesEstrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesLeinylson Fontinele
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03thomasdacosta
 
Curso matlab 6 especiais
Curso matlab 6 especiaisCurso matlab 6 especiais
Curso matlab 6 especiaisJosh Santos
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dadosgjpbg
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2Leandro Lopes
 
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
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasdiogoa21
 
04 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.004 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.0César Augusto Pessôa
 
Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06thomasdacosta
 

Semelhante a Estrutura de Dados - Aula de revisão de c na prática (20)

Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesEstrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Curso matlab 6 especiais
Curso matlab 6 especiaisCurso matlab 6 especiais
Curso matlab 6 especiais
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Apostila Oracle
Apostila OracleApostila Oracle
Apostila Oracle
 
Ed1
Ed1Ed1
Ed1
 
R para Iniciantes
R para IniciantesR para Iniciantes
R para Iniciantes
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2
 
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
 
Ativ complementar etapa 02
Ativ complementar etapa 02Ativ complementar etapa 02
Ativ complementar etapa 02
 
Apostila aed
Apostila aedApostila aed
Apostila aed
 
C 1
C 1C 1
C 1
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
 
Python 04
Python 04Python 04
Python 04
 
04 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.004 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.0
 
Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06
 

Mais de Leinylson Fontinele

Utilização do editor de texto Word
Utilização do editor de texto WordUtilização do editor de texto Word
Utilização do editor de texto WordLeinylson Fontinele
 
Aula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoAula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoLeinylson Fontinele
 
Aula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaAula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaLeinylson Fontinele
 
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Leinylson Fontinele
 
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Leinylson Fontinele
 
Aula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesAula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesLeinylson Fontinele
 
A história da Segurança da Informação
A história da Segurança da InformaçãoA história da Segurança da Informação
A história da Segurança da InformaçãoLeinylson Fontinele
 
Introdução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. CostaIntrodução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. CostaLeinylson Fontinele
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaLeinylson Fontinele
 

Mais de Leinylson Fontinele (20)

Utilização do editor de texto Word
Utilização do editor de texto WordUtilização do editor de texto Word
Utilização do editor de texto Word
 
Prática com slide.pptx
Prática com slide.pptxPrática com slide.pptx
Prática com slide.pptx
 
A galinha carijó
A galinha carijóA galinha carijó
A galinha carijó
 
Descrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzleDescrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzle
 
Aula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoAula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramento
 
Aula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaAula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurança
 
Aula 02 - Agentes Inteligentes
Aula 02 - Agentes InteligentesAula 02 - Agentes Inteligentes
Aula 02 - Agentes Inteligentes
 
Aula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IAAula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IA
 
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
 
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
 
Aula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesAula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informações
 
A história da Segurança da Informação
A história da Segurança da InformaçãoA história da Segurança da Informação
A história da Segurança da Informação
 
Introdução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. CostaIntrodução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. Costa
 
Caso 1 - Boing 777
Caso 1 - Boing 777Caso 1 - Boing 777
Caso 1 - Boing 777
 
Caso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de DenverCaso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de Denver
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de busca
 
Aula 01 - Visão geral da IA
Aula 01 - Visão geral da IAAula 01 - Visão geral da IA
Aula 01 - Visão geral da IA
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Aula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequenciaAula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequencia
 

Último

Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
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
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 

Último (20)

Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
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
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 

Estrutura de Dados - Aula de revisão de c na prática

  • 1. # Estrutura de Dados # Aula - Revisão de C/C++ na Prática Prof. Leinylson Fontinele Pereira
  • 2. Na aula anterior...  Ponteiros  Funções 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 3. Introdução 11:28 3 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 4. O que vamos aprender?  Preparação do ambiente de testes  Conceitos básicos de C  Sintaxe de alguns comandos # Structs, funções, ponteiros 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 5. 11:28 5 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Linguagens de programação
  • 6. 11:28 6 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Linguagem C Desenvolvida inicialmente por Dennis M. Ritchie e Ken Thompson no laboratório Bell no ano de 1972. Baseada na linguagem B criada por Thompson, esta linguagem evoluiu da linguagem BCPL, dando origem as duas linguagens anteriores.
  • 7. Ambientede Desenvolvimento – Opção01 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 8. Ambiente de Desenvolvimento – Opção02 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 9. Programa nº I 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 10. 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Programa nº II
  • 11. A linguagemC 11:28  char tem 8 bits (não é 16 bits como em Java)  Não existe tipo booleano (usar int ou char): 0 falso ≠ 0 verdadeiro  Tipos inteiros podem ser: signed ou unsigned  Não tem tipo string: usa-se vetor de char Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 12. LinguagemC: Tipos de dados 11:28 Tipos de dados primários - Tipos de dados derivados - Tipos definidos pelo usuário Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 13. LinguagemC: Tipos de dados 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 14. Exibindo uma saída 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 15. O comando return 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 16. Vetores: conceito 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática  Um vetor (= array) é uma estrutura de dados que armazena uma sequência de objetos, todos do mesmo tipo, em posições consecutivas da memória RAM (= random access memory) do computador.
  • 17. Vetores: exemplo 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 18. Entendendo Vetores 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 19. Vetores: exercício 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática  Dado um vetor de inteiros, 𝑣[0. . 6], crie um programa para determinar se a sequência de números corresponde a um palíndromo. [1, 2, 3, 4, 3, 2, 1]: vetor palíndromo [1, 2, 3, 4, 5, 6, 7]: não é vetor palíndromo
  • 20. 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Qual é o número mínimo de comparações necessárias para verificar se um vetor de tamanho N é ou não palíndromo?
  • 21. Vetores: exercício 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 22. Matriz: exercício 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática 00000 00000 00000 00000 00000
  • 23. Struct: exercício 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Quais são as informações de um Aluno para a Faculdade? - Nome - Matrícula - Série - Turma - Curso No exemplo acima temos a estrutura Aluno que contém as informações ou as características de um aluno. Muito semelhante a um registro de banco de dados. Podemos dizer que em uma estrutura, estamos armazenando informações agrupadas logicamente.
  • 24. Construindo uma Struct 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática struct aluno { char nome[255]; int matricula; int serie; int turma; char curso[100]; }; Nome da estrutura Palavra reservada que identifica uma estrutura Membros da estrutura Chaves definem o início e o fim da estrutura Termina com ponto e vírgula
  • 25. Struct 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 26. Struct 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 27. Struct 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 28. Struct: acessando os campos 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 30. Funções: Estrutura de uma função 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Retorno da função Nome da função Parâmetros da função Corpo da função Escopo de início e fim da função double somar(double x, double y) { double resultado = x + y; return resultado; }
  • 32. Ponteiros : Operadores 11:28  Para operação com ponteiros, utilizamos dois operadores unários: Estrutura de Dados: Aula - Revisão de C/C++ na Prática Operador Descrição * Utilizado para declarar um ponteiro e para retornar o valor & Utilizado para retornar o endereço de memória da variável
  • 33. Declarando uma variável do tipoponteiro 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática int *ptr; Tipo da variável Nome da variável Operador unário
  • 34. Declaraçãoe atribuição de ponteiros 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Variável ponteiro Atribuindo o endereço de memória int *ptr; int valor; valor = 1500; ptr = &valor;
  • 35. Ponteiros : Operadores 11:28  Se x é uma variável, então &x é o seu endereço int s = 999 int *p = &s Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 36. Ponteiros : Operadores 11:28  Todo ponteiro pode ter o valor NULL.  NULL é uma constante, geralmente vale 0 (definida no arquivo interface stdlib) Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 37. Ponteiros: Exemplo 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 38. Vetores e Ponteiros 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD  Podemos usar ponteiros como se fossem matrizes: int mat[] = { 1, 2 , 3 }; int *p = mat; printf(“%d”, p[2]); // imprime 3
  • 39. Exemplo 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD #include <stdio.h> int main() { int mat[50][50]; int i, j; // percorre a matriz com dois loops for (i = 0; i < 50; i++) { for (j = 0; j < 50; j++) { mat[i][j] = 0; } } return 0; }
  • 40. Exemplo 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD #include <stdio.h> int main() { int mat[50][50]; int *p= (int *) mat, i; // percorre a matriz com um único loop for (i = 0; i < 2500; i++) { *p = 0; p++; } return 0; } É muito mais rápido e diminui o tamanho do código
  • 41. Vetores e Ponteiros 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD int vetor[10]; int *ponteiro, i; ponteiro = &i; // as operações a seguir são inválidas // ERRADO: vetor não é variável vetor = vetor + 2; // ERRADO: vetor não é variável *vetor = 0; // ERRADO: vetor não é variável vetor = ponteiro;
  • 42. Strings e Ponteiros 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática #include <stdio.h> #include <string.h> int main() { char nome[15]; char *p = “Revisão de C/C++”; // p pode ser usado como uma string strcpy(nome, p); printf("%s %sn", nome, p); return 0; }
  • 43. Exemplo 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD #include <stdio.h> int main() { char *s = "string"; int a = 1, *p = &a; float f = 2.0; void *v; v = p; // v aponta para um inteiro a = *((int *) v); v = s; // v aponta para uma string s = (char *) v; v = &f; // v aponta para um float f = *((float *) v); return 0; }
  • 44. Matrizes de Ponteiros 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD // vetor de ponteiros int *vetor[10]; // vetor de strings char *strings[] = {"EU", "TU", "ELE" }; // matriz de ponteiros int *matriz[2][2];
  • 45. Ponteiros para Ponteiros 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática #include <stdio.h> int main() { int a = 10, *p, **pp; p = &a; pp = &p; printf("%dn", **pp); // imprime 10 return 0; } Obs.: Para acessar o valor de a através de pp usamos o operador * duas vezes
  • 46. Avisosobre Ponteiros! 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática #include <iostream> using namespace std; int main(){ int *ptr_inteiro; double valor; valor = 345.76; ptr_inteiro = &valor; cout << *ptr_inteiro << endl; } ERRO !!!
  • 47. Cuidados ao utilizar ponteiros 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD // Errado - Não execute int main () { int a,*p; a = 10; *p = a; // Para onde p aponta??? return 0; }
  • 48. Diretivas de Compilação 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD  Todas as diretivas começam por # e podem ser utilizadas em qualquer parte do código  Principais diretivas definidas no C ANSI: #if, #ifdef, #ifndef, #else, #elif, #endif,#include, #define, #undef, #error
  • 49. A Diretiva#include 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD  Sintaxe:  #include <nomeDoArquivo> • O arquivo se encontra no path do compilador  #include “nomeDoArquivo” • O arquivo se encontra em outro local  Exemplos:  #include <string.h>  #include “pessoa.h”
  • 50. A Diretiva#define 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD  Sintaxe:  #define nomeDaMacro corpoDaMacro  copoDaMacro é opcional  Exemplos:  #define TAMANHO 10  #define _WIN32  #define max(a,b) ((a>b)?(a):(b))
  • 51. A Diretiva#undef 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD  Sintaxe:  #undef nomeDaMacro  Exemplo:  #undef max
  • 52. O comando return 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD  Sintaxe:  return nomeDaVariável;  nomeDaVariável não é usado em funções que retornam void  O return encerra a execução da função  Pode ser comparado com o break usado nos loops  Uma função pode ter mais de um return
  • 53. Exemplo 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD int dividir(int a, int b) { if (!b) { return 0; // evita a divisão por 0 } return a / b; }
  • 54. Protótipos de funções 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD  Os compiladores de C são muito eficientes, mas isto traz alguns problemas  Funções só podem ser usadas se forem definidas anteriormente  A solução é utilizar protótipos de funções  Sintaxe:  tipoDeRetorno nomeDaFunção(tipo1, ... , tipoN);
  • 55. Protótipos de funções 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD void b(int); // protótipo de b void a(int i) { // ... b(i); // ... } void b(int j) { // ... a(j); // ... }
  • 56. Ponteiros para Funções 11:28 Estrutura de Dados: Aula 02 - Estrutura de dados e TAD  Sintaxe:  tipoDeRetorno (*nomeDoPonteiro) (tipoP1, ... , tipoPN) Exemplo: int (*p)(const char *); p = puts; // inicializa (*p) (“NASSAU”); // faz a chamada Também podemos passar ponteiros para funções como parâmetro de outras funções
  • 57. 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Desafio!
  • 58. Desafio I 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática a = 1 b = 10
  • 59. Desafio II 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática a = 10 b = 1
  • 60. A linguagem C++ 11:28 61 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 61. A linguagemC++ 11:28  Total compatibilidade com C (qualquer programa em C é um programa C++)  C++ traz ainda:  Classes e variáveis/funções membros (atributos/métodos);  Sobrecarga  Herança (permite herança múltipla)  Funções virtuais (sobrescrita de métodos)  Etc. Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 62. A linguagemC++ 11:28  C++ não possui coletor de lixo como Java  Porém as instruções de criação/destruição são mais simples do que malloc/free. Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 63. Declaraçãode Classes 11:28  A declaração de uma classe diz o que as instâncias da classe podem fazer (contrato)  A definição/implementação de uma classe diz como as instâncias da classe farão o que encontra-se no contrato Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 64. Sobrecarga 11:28  C++, assim como Java, permite sobrecarga  Várias funções com mesmo nome  O mesmo nome é permitido, desde que os parâmetrossejam diferentes: Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 65. Construtor 11:28  C++, assim como Java, permite sobrecarga  Se nenhum construtor é dado, um construtor default (sem argumentos) é adicionado pelo C++ Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 66. Instâncias diretas ( . ) e ponteiros (->) 11:28  O ( . ) e ( -> ) são usados para acessar membros da classe Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 67. Destrutores 11:28  Em C++, deve-se destruir as instâncias criadas, nãohá coletor de lixo  Destrutores devem liberar memória dinâmica alocada pela classe durante a construção da instância Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 68. Resolução de escopo ( :: ) 11:28  A implementação de um método é prefixada com o operador de resolução de escopo  Motivo: diferente de Java, o método não encontra-se obrigatoriamente dentro do escopo da classe  Pode-se usá-lo também para variáveis Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 69. Concluindo... 11:28 70 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 70. Atividade 1 11:28 1) Implemente as seguintes funções:  int mystrlen(char *c) • retorna o tamanho da string c  void mystrcpy(char *dest, char *orig) • copia orig para dest  void mystrcat(char *dest, char *orig) • concatena orig em dest  int mystrchar(char *str, char c) • Retorna o índice onde c ocorre em str 2) Declare um ponteiro para uma das funções que você fez no exercício anterior e chame-a utilizando o mesmo 3) Crie as seguintes macros:  min(a,b) • Retorna o mínimo entra a e b  isPar(a) • Retorna 1 se a for par e 0 caso contrário Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 71. Material: https://sites.google.com/site/leinylsonnassau 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática Material baseado nas aulas de:  Algoritmos e Estruturas de Dados I, Prof. Jesús P. Mena-Chalco
  • 72. Na próxima aula veremos...  Listas Estáticas 11:28 Estrutura de Dados: Aula - Revisão de C/C++ na Prática
  • 73. Alguma Dúvida? 11:28 Até a próxima aula... leinylson@gmail.com