Aula 01 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta a disciplina e faz uma breve revisão sobre os conceitos básicos da Programação Imperativa.
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
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
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