poo – aula 01 – plano de ensino e revisão de programação imperativa

25
Plano de Ensino e Revisão de Programação Imperativa Universidade Federal de Sergipe Departamento de Computação Programação Orientada a Objetos Última Atualização em Outubro de 2011 Felipe J. R. Vieira

Upload: felipe-j-r-vieira

Post on 03-Jul-2015

1.772 views

Category:

Technology


2 download

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.

TRANSCRIPT

Page 1: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 2: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

2103403 – Programação Orientada a Objetos

Sumário

➢ Plano de ensino; e

➢ Revisão sobre programação imperativa.

Page 3: POO – Aula 01 – Plano de Ensino e Revisão de 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

Page 4: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 5: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 6: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 7: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 8: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

8

Conteúdo Programático

➢ Arquivo em anexo.

103403 – Programação Orientada a Objetos

Page 9: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

9

Metodologia

➢ Aulas expositivas;

➢ Aulas práticas;

➢ Aulas demonstrativas;

➢ Iniciação a pesquisa; e

➢ Seminários.

103403 – Programação Orientada a Objetos

Page 10: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

10

Recursos Didáticos

➢ Quadro negro;

➢ Projetor; e

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

103403 – Programação Orientada a Objetos

Page 11: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

11

Página da disciplina na Internet

103403 – Programação Orientada a Objetos

Page 12: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

12

Página da disciplina na Internet

103403 – Programação Orientada a Objetos

Page 13: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 14: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 15: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

15

Há muito tempo...

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

103403 – Programação Orientada a Objetos

Page 16: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

16

Revisão

➢ O motivo para desenvolver um programa é automatizar um processo.

Início

Fim

MisturarIngredientes

Colocar noForno

103403 – Programação Orientada a Objetos

Page 17: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

17

Revisão

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

103403 – Programação Orientada a Objetos

Page 18: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

18

Revisão

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

103403 – Programação Orientada a Objetos

Page 19: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 20: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 21: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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:=

Page 22: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

22

Passagem de Parâmetro

103403 – Programação Orientada a Objetos

function fatorial(n:integer):integer;

function fatorial(var n:integer):integer;

Page 23: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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

Page 24: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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;

Page 25: POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa

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