Upload
felipe-j-r-vieira
View
1.772
Download
2
Embed Size (px)
DESCRIPTION
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.
Citation preview
Plano de Ensino e Revisão de Programação Imperativa
Universidade Federal de SergipeDepartamento de ComputaçãoProgramação Orientada a Objetos
Última Atualização em Outubro de 2011
Felipe J. R. Vieira
2103403 – Programação Orientada a Objetos
Sumário
➢ Plano de ensino; e
➢ Revisão sobre programação imperativa.
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
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
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
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
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
8
Conteúdo Programático
➢ Arquivo em anexo.
103403 – Programação Orientada a Objetos
9
Metodologia
➢ Aulas expositivas;
➢ Aulas práticas;
➢ Aulas demonstrativas;
➢ Iniciação a pesquisa; e
➢ Seminários.
103403 – Programação Orientada a Objetos
10
Recursos Didáticos
➢ Quadro negro;
➢ Projetor; e
➢ Página da disciplina na Internet.• ufs.felipejrvieira.com.br
103403 – Programação Orientada a Objetos
11
Página da disciplina na Internet
103403 – Programação Orientada a Objetos
12
Página da disciplina na Internet
103403 – Programação Orientada a Objetos
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
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
15
Há muito tempo...
➢ Quais foram as maiores dúvidas do período anterior?
103403 – Programação Orientada a Objetos
16
Revisão
➢ O motivo para desenvolver um programa é automatizar um processo.
Início
Fim
MisturarIngredientes
Colocar noForno
103403 – Programação Orientada a Objetos
17
Revisão
➢ Para criar um sistema é necessário passar pelas seguintes etapas:
103403 – Programação Orientada a Objetos
18
Revisão
➢ O ciclo de vida de um software segue o seguinte gráfico:
103403 – Programação Orientada a Objetos
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
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
21
Modularização e Decomposição
➢ Funções e procedimentos
103403 – Programação Orientada a Objetos
Somatório(vetor)
Divide(x,y)
QtdElementos(vetor)
X :=
Y :=
Med:=
22
Passagem de Parâmetro
103403 – Programação Orientada a Objetos
function fatorial(n:integer):integer;
function fatorial(var n:integer):integer;
23
Passagem de Parâmetro
103403 – Programação Orientada a Objetos
function fatorial(n:integer):integer; {Por valor}
function fatorial(var n:integer):integer; {Por referência}
4 4
4 x31
Entrada (x31) Parâmetro Função
Entrada (x31) Parâmetro Função
24
Recursividade
103403 – Programação Orientada a Objetos
function fatorial(n:integer):integer; begin if(n=0) then fatorial:=1 else fatorial:=n*fatorial(n-1); end;
25
Ponteiros
103403 – Programação Orientada a Objetos
1 Type apontador = ^item; item = record nome: string[10]; proximo: apontador; end;Var inicio, anda: apontador;Begin new(inicio); readln(inicio^.nome); inicio^.proximo:=nil; End.
Início
NomePróximoNomePróximoNomePróximoNomePróximo
1
4
3
2