SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Universidade Federal de Sergipe
Departamento de Computação
Programação Orientada a Objetos




         Plano de Ensino e Revisão
         de Programação Imperativa

Felipe J. R. Vieira




        Última Atualização em Outubro de 2011
Sumário



  ➢
      Plano de ensino; e

  ➢
      Revisão sobre programação imperativa.




              103403 – Programação Orientada a Objetos   2
Professor - Formação Acadêmica

  ➢   Felipe J. R. Vieira (www.felipejrvieira.com.br)

  ➢ Bacharel em sistemas de informação pela UFS
  (2011);

  ➢ Técnico em desenvolvimento de sistemas pelo
  IFS (2006);

  ➢
    Eletrônico de manutenção industrial pelo
  SENAI (2005);


               103403 – Programação Orientada a Objetos   3
Professor – Histórico Profissional

   ➢ Técnico judiciário – Programador de Sistemas no
   TJSE;

   ➢
       Oficial Administrativo no Detran/SE ;

   ➢
       Estagiário em Desenvolvimento de Sistemas na UFS

   ➢   Estagiário em Suporte e Desenvolvimento no IFS




                103403 – Programação Orientada a Objetos   4
Ementa

      Fatores de qualidade do software. Técnicas
  de modularização e decomposição de software.
  Tipos abstratos de dados. Paradigma de
  programação orientado a objetos. Referências
  e Ponteiros. Classes e instâncias. Tipos e
  Subtipos. Herança e reuso de código.
  Mecanismos de Classificação: classes abstratas e
  interfaces. Vinculação dinâmica e polimorfismo
  de herança. Tratamento de Exceções.



            103403 – Programação Orientada a Objetos   5
Ementa

     Java. Classes essenciais da biblioteca padrão
  da linguagem. Interfaces gráficas com o usuário.
  Ambiente integrado de desenvolvimento.
  Padrões de Codificação. Noções de testes.
  Ferramentas     de    testes    e     depuração.
  Documentação de programas.           Noções de
  padrões de projeto. Aplicações.




            103403 – Programação Orientada a Objetos   6
Objetivos


     Dar continuidade ao desenvolvimento do raciocínio
lógico aplicado. Introduzir conceitos mais avançados de
desenvolvimento de algoritmos e novas estruturas de
controle e de dados. Apresentar as funcionalidades mais
avançadas de uma linguagem orientada a objetos. Ao
final o aluno estará apto a implementar programas mais
complexos, atendendo a uma demanda maior de
problemas de forma mais rápida.




             103403 – Programação Orientada a Objetos   7
Conteúdo Programático




  ➢   Arquivo em anexo.




              103403 – Programação Orientada a Objetos   8
Metodologia

  ➢
      Aulas expositivas;

  ➢   Aulas práticas;

  ➢   Aulas demonstrativas;

  ➢
      Iniciação a pesquisa; e

  ➢
      Seminários.




               103403 – Programação Orientada a Objetos   9
Recursos Didáticos


  ➢
      Quadro negro;

  ➢   Projetor; e

  ➢
      Página da disciplina na Internet.
      •
          ufs.felipejrvieira.com.br




                  103403 – Programação Orientada a Objetos   10
Página da disciplina na Internet




          103403 – Programação Orientada a Objetos   11
Página da disciplina na Internet




          103403 – Programação Orientada a Objetos   12
Avaliação


  ➢
   Será constituída de duas provas e um trabalho
  em grupo.

  ➢   Nota final = (RP1 + RP2 + RTG)/3
      •
          RP1 = Resultado da primeira prova.
      •
          RP2 = Resultado da segunda prova.
      •
          RTG = Resultado do trabalho em grupo.




                 103403 – Programação Orientada a Objetos   13
Dicas


  ➢
      Não deixem acumular assunto;

  ➢   Tirem as dúvidas assim que elas surgirem; e

  ➢
      Façam os exercícios.




              103403 – Programação Orientada a Objetos   14
Há muito tempo...

  ➢
    Quais foram as maiores dúvidas do período
  anterior?




           103403 – Programação Orientada a Objetos   15
Revisão

  ➢ O motivo para desenvolver um programa é
  automatizar um processo.
                                                     Início



                                                 Misturar
                                               Ingredientes



                                               Colocar no
                                                 Forno



                                                     Fim

          103403 – Programação Orientada a Objetos            16
Revisão

  ➢
    Para criar um sistema é necessário passar
  pelas seguintes etapas:




           103403 – Programação Orientada a Objetos   17
Revisão

  ➢
    O ciclo de vida de um software segue o
  seguinte gráfico:




          103403 – Programação Orientada a Objetos   18
Revisão

  ➢
      Vetores, matrizes, registros e conjuntos;

  ➢
    Modularização, decomposição e passagem de
  parâmetro;

  ➢
      Recursividade; e

  ➢
      Ponteiros.




               103403 – Programação Orientada a Objetos   19
Vetores, Matrizes, Registros e Conjuntos

   ➢
       Vetor: array [1..100] of integer;

   ➢
       Matriz: array [1..tm,1..tm] of integer;

   ➢   Registros = record
                    nome: string[10];
                    proximo: apontador;
                  end;

   ➢
       Conjuntos = set of ’a’..’z’;



                103403 – Programação Orientada a Objetos   20
Modularização e Decomposição

  ➢
      Funções e procedimentos



                     X :=     Somatório(vetor)


                     Y :=   QtdElementos(vetor)



                   Med:=         Divide(x,y)




              103403 – Programação Orientada a Objetos   21
Passagem de Parâmetro

 function fatorial(n:integer):integer;




 function fatorial(var n:integer):integer;




                  103403 – Programação Orientada a Objetos   22
Passagem de Parâmetro

 function fatorial(n:integer):integer; {Por valor}
    Entrada (x31)      Parâmetro              Função

          4                4




 function fatorial(var n:integer):integer; {Por referência}

    Entrada (x31)      Parâmetro              Função

          4               x31




                    103403 – Programação Orientada a Objetos   23
Recursividade

 function fatorial(n:integer):integer;
  begin
    if(n=0) then fatorial:=1
    else fatorial:=n*fatorial(n-1);
  end;




                103403 – Programação Orientada a Objetos   24
Ponteiros
                                                    Início
   Type apontador = ^item;                                   1
      item = record
           nome: string[10];
           proximo: apontador;
           end;                                   Nome
                                                1
  Var inicio, anda: apontador;                    Próximo
  Begin                                           Nome
                                                2
                                                  Próximo
    new(inicio);                                  Nome
    readln(inicio^.nome);                       3
                                                  Próximo
    inicio^.proximo:=nil;                       4 Nome
  End.                                            Próximo




                103403 – Programação Orientada a Objetos         25

Más contenido relacionado

Destacado

Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
SAD - Sistemas de Apoio a Decisoes
SAD - Sistemas de Apoio a DecisoesSAD - Sistemas de Apoio a Decisoes
SAD - Sistemas de Apoio a DecisoesAlexandre Mendes
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoHelder Lopes
 
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
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Javabackdoor
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 

Destacado (10)

POO Plano de Curso
POO Plano de CursoPOO Plano de Curso
POO Plano de Curso
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
SAD - Sistemas de Apoio a Decisoes
SAD - Sistemas de Apoio a DecisoesSAD - Sistemas de Apoio a Decisoes
SAD - Sistemas de Apoio a Decisoes
 
Modelagem de Sistemas de Informação
Modelagem de Sistemas de InformaçãoModelagem de Sistemas de Informação
Modelagem de Sistemas de Informação
 
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)
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
OOP java
OOP javaOOP java
OOP java
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 

Similar a POO Plano ensino revisão programação imperativa UFS

POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosFelipe J. R. Vieira
 
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao JavaPOO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao JavaFelipe J. R. Vieira
 
POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresFelipe J. R. Vieira
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03André Phillip Bertoletti
 
Pesquisa Operacional Aula 01 - Apresentação
Pesquisa Operacional Aula 01 - ApresentaçãoPesquisa Operacional Aula 01 - Apresentação
Pesquisa Operacional Aula 01 - ApresentaçãoLeinylson Fontinele
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosFelipe J. R. Vieira
 
Recursividade em C
Recursividade em CRecursividade em C
Recursividade em CCaique Silva
 
Honour Thesis Gabriel Alabarse - TCC Anhembi Morumbi
Honour Thesis Gabriel Alabarse - TCC Anhembi MorumbiHonour Thesis Gabriel Alabarse - TCC Anhembi Morumbi
Honour Thesis Gabriel Alabarse - TCC Anhembi MorumbiFrancisco de Melo Jr
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04André Phillip Bertoletti
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWInstituto Federal de Sergipe
 

Similar a POO Plano ensino revisão programação imperativa UFS (20)

POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
 
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao JavaPOO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
 
POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e Vetores
 
Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03Lógica de Programação - Unimep/Pronatec - Aula03
Lógica de Programação - Unimep/Pronatec - Aula03
 
Aula python
Aula pythonAula python
Aula python
 
Pesquisa Operacional Aula 01 - Apresentação
Pesquisa Operacional Aula 01 - ApresentaçãoPesquisa Operacional Aula 01 - Apresentação
Pesquisa Operacional Aula 01 - Apresentação
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Plano do Projeto
Plano do ProjetoPlano do Projeto
Plano do Projeto
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
MD_Fortran.pdf
MD_Fortran.pdfMD_Fortran.pdf
MD_Fortran.pdf
 
Recursividade em C
Recursividade em CRecursividade em C
Recursividade em C
 
Aula 05 subprogramas
Aula 05   subprogramasAula 05   subprogramas
Aula 05 subprogramas
 
ALG1-aula00
ALG1-aula00ALG1-aula00
ALG1-aula00
 
UML - parte 1
UML - parte 1UML - parte 1
UML - parte 1
 
00011
0001100011
00011
 
Honour Thesis Gabriel Alabarse - TCC Anhembi Morumbi
Honour Thesis Gabriel Alabarse - TCC Anhembi MorumbiHonour Thesis Gabriel Alabarse - TCC Anhembi Morumbi
Honour Thesis Gabriel Alabarse - TCC Anhembi Morumbi
 
Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04Lógica de Programação - Unimep/Pronatec - Aula04
Lógica de Programação - Unimep/Pronatec - Aula04
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
 

Más de Felipe J. R. Vieira

ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasFelipe J. R. Vieira
 
POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfaceFelipe J. R. Vieira
 
MC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisMC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisFelipe J. R. Vieira
 
MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)Felipe J. R. Vieira
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesFelipe J. R. Vieira
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoFelipe J. R. Vieira
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoFelipe J. R. Vieira
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoFelipe J. R. Vieira
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClasseFelipe J. R. Vieira
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaFelipe J. R. Vieira
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaFelipe J. R. Vieira
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalFelipe J. R. Vieira
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaFelipe J. R. Vieira
 
MC - Aula 03 - Conceitos Iniciais
MC - Aula 03 -  Conceitos IniciaisMC - Aula 03 -  Conceitos Iniciais
MC - Aula 03 - Conceitos IniciaisFelipe J. R. Vieira
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeFelipe J. R. Vieira
 
MC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoMC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoFelipe J. R. Vieira
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosFelipe J. R. Vieira
 

Más de Felipe J. R. Vieira (20)

ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
 
POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e Interface
 
MC – Aula 11 – Aplicativos
MC – Aula 11 – AplicativosMC – Aula 11 – Aplicativos
MC – Aula 11 – Aplicativos
 
MC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisMC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas Operacionais
 
MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de Repetição
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de Armazenamento
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de Acesso
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional Múltipla
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e Memória
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
MC - Aula 03 - Conceitos Iniciais
MC - Aula 03 -  Conceitos IniciaisMC - Aula 03 -  Conceitos Iniciais
MC - Aula 03 - Conceitos Iniciais
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
 
MC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoMC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da Computação
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
 

POO Plano ensino revisão programação imperativa UFS

  • 1. Universidade Federal de Sergipe Departamento de Computação Programação Orientada a Objetos Plano de Ensino e Revisão de Programação Imperativa Felipe J. R. Vieira Última Atualização em Outubro de 2011
  • 2. Sumário ➢ Plano de ensino; e ➢ Revisão sobre programação imperativa. 103403 – Programação Orientada a Objetos 2
  • 3. Professor - Formação Acadêmica ➢ Felipe J. R. Vieira (www.felipejrvieira.com.br) ➢ Bacharel em sistemas de informação pela UFS (2011); ➢ Técnico em desenvolvimento de sistemas pelo IFS (2006); ➢ Eletrônico de manutenção industrial pelo SENAI (2005); 103403 – Programação Orientada a Objetos 3
  • 4. Professor – Histórico Profissional ➢ Técnico judiciário – Programador de Sistemas no TJSE; ➢ Oficial Administrativo no Detran/SE ; ➢ Estagiário em Desenvolvimento de Sistemas na UFS ➢ Estagiário em Suporte e Desenvolvimento no IFS 103403 – Programação Orientada a Objetos 4
  • 5. Ementa Fatores de qualidade do software. Técnicas de modularização e decomposição de software. Tipos abstratos de dados. Paradigma de programação orientado a objetos. Referências e Ponteiros. Classes e instâncias. Tipos e Subtipos. Herança e reuso de código. Mecanismos de Classificação: classes abstratas e interfaces. Vinculação dinâmica e polimorfismo de herança. Tratamento de Exceções. 103403 – Programação Orientada a Objetos 5
  • 6. Ementa Java. Classes essenciais da biblioteca padrão da linguagem. Interfaces gráficas com o usuário. Ambiente integrado de desenvolvimento. Padrões de Codificação. Noções de testes. Ferramentas de testes e depuração. Documentação de programas. Noções de padrões de projeto. Aplicações. 103403 – Programação Orientada a Objetos 6
  • 7. Objetivos Dar continuidade ao desenvolvimento do raciocínio lógico aplicado. Introduzir conceitos mais avançados de desenvolvimento de algoritmos e novas estruturas de controle e de dados. Apresentar as funcionalidades mais avançadas de uma linguagem orientada a objetos. Ao final o aluno estará apto a implementar programas mais complexos, atendendo a uma demanda maior de problemas de forma mais rápida. 103403 – Programação Orientada a Objetos 7
  • 8. Conteúdo Programático ➢ Arquivo em anexo. 103403 – Programação Orientada a Objetos 8
  • 9. Metodologia ➢ Aulas expositivas; ➢ Aulas práticas; ➢ Aulas demonstrativas; ➢ Iniciação a pesquisa; e ➢ Seminários. 103403 – Programação Orientada a Objetos 9
  • 10. Recursos Didáticos ➢ Quadro negro; ➢ Projetor; e ➢ Página da disciplina na Internet. • ufs.felipejrvieira.com.br 103403 – Programação Orientada a Objetos 10
  • 11. Página da disciplina na Internet 103403 – Programação Orientada a Objetos 11
  • 12. Página da disciplina na Internet 103403 – Programação Orientada a Objetos 12
  • 13. Avaliação ➢ Será constituída de duas provas e um trabalho em grupo. ➢ Nota final = (RP1 + RP2 + RTG)/3 • RP1 = Resultado da primeira prova. • RP2 = Resultado da segunda prova. • RTG = Resultado do trabalho em grupo. 103403 – Programação Orientada a Objetos 13
  • 14. Dicas ➢ Não deixem acumular assunto; ➢ Tirem as dúvidas assim que elas surgirem; e ➢ Façam os exercícios. 103403 – Programação Orientada a Objetos 14
  • 15. Há muito tempo... ➢ Quais foram as maiores dúvidas do período anterior? 103403 – Programação Orientada a Objetos 15
  • 16. Revisão ➢ O motivo para desenvolver um programa é automatizar um processo. Início Misturar Ingredientes Colocar no Forno Fim 103403 – Programação Orientada a Objetos 16
  • 17. Revisão ➢ Para criar um sistema é necessário passar pelas seguintes etapas: 103403 – Programação Orientada a Objetos 17
  • 18. Revisão ➢ O ciclo de vida de um software segue o seguinte gráfico: 103403 – Programação Orientada a Objetos 18
  • 19. Revisão ➢ Vetores, matrizes, registros e conjuntos; ➢ Modularização, decomposição e passagem de parâmetro; ➢ Recursividade; e ➢ Ponteiros. 103403 – Programação Orientada a Objetos 19
  • 20. Vetores, Matrizes, Registros e Conjuntos ➢ Vetor: array [1..100] of integer; ➢ Matriz: array [1..tm,1..tm] of integer; ➢ Registros = record nome: string[10]; proximo: apontador; end; ➢ Conjuntos = set of ’a’..’z’; 103403 – Programação Orientada a Objetos 20
  • 21. Modularização e Decomposição ➢ Funções e procedimentos X := Somatório(vetor) Y := QtdElementos(vetor) Med:= Divide(x,y) 103403 – Programação Orientada a Objetos 21
  • 22. Passagem de Parâmetro function fatorial(n:integer):integer; function fatorial(var n:integer):integer; 103403 – Programação Orientada a Objetos 22
  • 23. Passagem de Parâmetro function fatorial(n:integer):integer; {Por valor} Entrada (x31) Parâmetro Função 4 4 function fatorial(var n:integer):integer; {Por referência} Entrada (x31) Parâmetro Função 4 x31 103403 – Programação Orientada a Objetos 23
  • 24. Recursividade function fatorial(n:integer):integer; begin if(n=0) then fatorial:=1 else fatorial:=n*fatorial(n-1); end; 103403 – Programação Orientada a Objetos 24
  • 25. Ponteiros Início Type apontador = ^item; 1 item = record nome: string[10]; proximo: apontador; end; Nome 1 Var inicio, anda: apontador; Próximo Begin Nome 2 Próximo new(inicio); Nome readln(inicio^.nome); 3 Próximo inicio^.proximo:=nil; 4 Nome End. Próximo 103403 – Programação Orientada a Objetos 25