You are on page 1of 34

Organizao e Recuperao de Informaes

Introduo
Prof. Dr. Rodrigo Plotze

rodrigoplotze@gmail.com
2010

Unidade 01

PLANO DE ENSINO

Plano de Ensino
1. Fundamentos de Programao Orientada a Objetos em C++ 2. rvores 3. rvores Binrias 4. rvores Lexicogrficas 5. rvores Multivias 6. Tabelas Hash 7. Estrutura e Organizao de Arquivos
3

Plano de Ensino
Bibliografia
DROZDEK, A. Estruturas de Dados e Algoritmos em C++. So Paulo: Pioneira Thonsom Learning, 2002. JOYANES, A. L. Programao em C++ - Algoritmos, Estruturas de Dados e Objetos. So Paulo: McGraw-Hill, 2008. TENENBAUM, A.; et al. Estruturas de Dados usando C. So Paulo: Editora Makron Books, 1995. FERRAZ, I. N. Programao com Arquivos. Portugal: Editora Manole, 2003.
4

Plano de Ensino
Avaliao
Tpicos: 1 a 3
Prova Parcial (0,6) + Mdia Aritmtica dos Trabalhos Prticos (0,4)

Tpicos: 4 a 7
Prova Final (0,8) + Mdia Aritmtica dos Trabalhos Prticos (0,2)

OBS:
As Provas sero descritivas, individuais e sem consulta; Os Trabalhos Prticos sero individuais ou em duplas.

Plano de Ensino
Plataforma Computacional
Microsoft Visual Studio Dev-C++ Code::Blocks

Unidade 01

FUNDAMENTOS DE PROGRAMAO ORIENTADA A OBJETOS


7

Fundamentos :: POO
Estruturada
Aplicao Funo Objeto Funo Dados Dados Objeto Dados

Orientao a Objetos
Aplicao

Funo Mtodos Funo Mtodos

Fundamentos :: POO
Programao Estruturada
Processo

Orientao a Objeto
Objeto

Revela Dados

Oculta Dados

Projeto Monoltico

Projeto Modular

Uso nico

Reutilizao

Algoritmo Ordenado

Algoritmo Desordenado
9

Fundamentos :: POO
Classe
um conjunto de cdigos de programao que incluem a definio dos atributos e dos mtodos necessrios para a criao de um ou mais objetos. Contm toda a descrio da forma do objeto, um molde para a criao do objeto, uma matriz geradora de objetos, a fbrica de objetos. Uma classe tambm um tipo definido pelo usurio.

10

Fundamentos :: POO
Objeto ou Instncia
Tem determinadas propriedades que o caracterizam e que so armazenadas no prprio objeto. As propriedades de um objeto so chamadas ainda de atributos. O objeto interage com o meio e em funo de excitaes que sofre, realiza determinadas aes que alteram o seu estado (atributos). Um objeto uma entidade nica que rene atributos e mtodos, ou seja, rene as propriedades do objeto e as reaes aos estmulos que sofre. 11

Fundamentos :: POO
Carros Braslia Fusca

12

Fundamentos :: POO
Declarando uma Classe:
class Pessoa { string nome; void Andar(); }

Declarando um Objeto
Pessoa objPessoa;

13

Fundamentos :: POO
Atributo Vidro Atributo Cor Lataria

Atributos

Classe

Mtodos

Atributo Cor Parachoque

Atributo Placa

Atributo Aro

Aes do carro (Mtodos)


Liga (Ignio) Acelera Freia (Breca) Troca de Marcha
14

Fundamentos :: POO
Construo de uma programa para simular o funcionamento de uma calculadora:
Paradigma de Programao Estruturado Paradigma de Programao Orientada a Objetos

15

Fundamentos :: POO
Paradigma de Programao Estruturado

16

Fundamentos :: POO
Paradigma de Prog. Orientado a Objetos
Principal.cpp

17

Classe Calculadora.h

18

Fundamentos :: POO
Resultado da execuo

19

Fundamentos :: POO
Sintaxe para definio de mtodos
TipoRetorno NomeClasse::NomeFuncao(Lista parmetros) { .. comandos ... }

20

Fundamentos :: POO
Encapsulamento
permite que a implementao de mtodos e atributos no seja conhecida pelo programador que utiliza a classe Tambm conhecido como:
ocultao de informao abstrao de dados

Regra geral:
atributos privados mtodos depende da aplicao
21

Fundamentos :: POO
As aes ou comportamento dos objetos so chamados de mtodos. Os comportamentos do objeto so definidos na classe atravs dos mtodos e servem para manipular e alterar os atributos do objeto. Manipuladores
set = atribuem valores get = retornam valores

22

Fundamentos :: POO
Exerccio
Implementar uma classe capaz de calcular a soma entre dois nmeros inteiros e apresentar o resultado na tela. Utilize o conceito de encapsulamento e os modificadores de acesso

23

Fundamentos :: POO
Membros Pblicos e Privados
public
acesso direto e irrestrito

private
acesso restrito apenas a prpria classe acesso externa ocorre por meio dos mtodos

24

Fundamentos :: POO
Mtodos que no retornam valores
O nome do mtodo precedido da palavra reservada void

25

Fundamentos :: POO
Mtodos que retornam valores
O nome do mtodo precedido do tipo de dados que o mtodo dever retornar Obrigatoriamente esses mtodos devem conter a palavra reservada return

26

Fundamentos :: POO
Construtor
Construtores so mtodos especiais responsveis pela implementao de aes necessrias para a existncia de um objeto o primeiro mtodo executado quando a classe instanciada. Possui o mesmo nome da classe

27

Fundamentos :: POO

28

ATIVIDADE PRTICA

29

Fundamentos :: POO
Prtica 1
Cria uma classe chamada Contador , com as seguintes caractersticas:
Tenha uma varivel inteira capaz de armazenar o valor do contador Possua um construtor que inicializa o contador com zero Contenha um construtor no qual seja possvel informar o valor inicial para o contador Um mtodo para incrementar o contador (em 1) Um mtodo para decrementar o contador (em 1) Um mtodo para imprimir o contador
30

EXERCCIO

31

Jogo da Velha utilizando POO


Crie uma classe JogoDaVelha que permita escrever um programa completo para jogar o Jogo da Velha. A classe deve conter como dados privados um arranjo bidimensional de inteiros de 3 por 3. Um construtor deve inicializar o tabuleiro vazio com zeros em todas as posies. O jogo poder ser utilizado por dois jogadores humanos.
32

Jogo da Velha utilizando POO


Todo movimento deve ocorrer apenas para uma posio vazia do arranjo
Caso o jogador tente mover para uma posio ocupada uma mensagem deve ser exibida.

Depois de cada movimento, determine se algum ganhou o jogo, ou se houve empate


Alm disso, imprima o status do tabuleiro
X O X O X
33

O X

FIM

34