Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB Programa ► Objetivos Introduzir os aspectos históricos e tecnológicos dos algoritmos e de sua programação Capacitar o aluno a resolver problemas computáveis utilizando metodologia para concepção de modelos em programas baseados em objetos numa linguagem de programação moderna (JAVA) Introduzir técnicas de programação, de verificação, de testes, de estilo de programas e de programação defensiva (C) 2006 Gustavo Motta 2 Programa ► Sumário 1. Introdução ► O que é a linguagem? ► Estudo dos algoritmos ► Desenvolvimento das máquinas algorítmicas ► Histórico das linguagens de programação ► Evolução da ciência da computação ► A construção de modelos para resolução de problemas ► Aspectos éticos (C) 2006 Gustavo Motta 3 Programa Sumário 2. Modelos orientados a objetos ► Conceito do modelo orientado a objetos ► Objetos Operações Interfaces Estado Interações Referência ► Classes ► Herança Conceitos-chave ► (C) 2006 Gustavo Motta ► Abstração ► Encapsulação ► Ocultação da informação ► Comportamento 4 Programa ► Sumário 3. Algoritmos em modelos orientados a objetos ► O conceito de algoritmo ► Algoritmos e a estrutura de modelos orientados a objetos ► Representação de algoritmos ► Linguagem ► Sintaxe ► Semântica ► Processo de interpretação/compilação Metodologia para resolução de problemas com a concepção de modelos orientados a objetos Descrição do processo Exemplos (C) 2006 Gustavo Motta 5 Programa ► Sumário 4. Classes, objetos, referências, operações e interações ► Plataforma de desenvolvimento Java 2 SE ► Estrutura básica de classes ► Declaração de operações Modificadores de acesso ► Declaração de referências e instanciação de objetos ► Interagindo com objetos ► Pacotes de classes ► Aulas práticas no laboratório (C) 2006 Gustavo Motta 6 Programa ► Sumário 5. Tipos de valores primitivos, variáveis e expressões ► Definição de tipo ► Declaração de valores ► Tipos de valores primitivos em JAVA e seus operadores Variáveis Conceito e definição Declaração, inicialização e comando de atribuição Escopo e modificadores de acesso Tempo de vida (variáveis locais e globais) Referências Operações parametrizadas (C) 2006 Gustavo Motta 7 Programa ► Sumário 5. Tipos de valores primitivos, variáveis e expressões ► ► Expressões Definição Avaliação e precedência de operadores Modalidades ► Aritméticas ► Condicionais ► Lógicas (booleanas) Aulas práticas no laboratório (C) 2006 Gustavo Motta 8 Programa ► Sumário 6. Comandos condicionais ► Conceito e definição de comando condicional ► Comandos condicionais em JAVA if-else switch ► Técnicas de verificação e teste ► Estilo de programação ► Aulas práticas no laboratório (C) 2006 Gustavo Motta 9 Programa ► Sumário 7. Comandos iterativos e recursão ► ► Conceito e definição de comando iterativo Comandos iterativos em JAVA ► Recursão ► ► ► Iteração indefinida ► while ► do-while Iteração definida ► for Definição do conceito Equivalência entre recursão e iteração Exemplos Técnicas de verificação, de teste e de otimização Estilo de programação Aulas práticas no laboratório (C) 2006 Gustavo Motta 10 Programa ► Sumário 8. Arrays ► ► Definição Declaração e alocação de arrays unidimensionais ► Declaração e alocação de arrays multidimensionais ► ► ► Acesso a elementos Algoritmos de ordenação e pesquisa ► Noções de complexidade de algoritmos Exemplos Acesso a elementos Exemplos Técnicas de verificação, de teste e de otimização Estilo de programação Aulas práticas no laboratório (C) 2006 Gustavo Motta 11 Programa ► Sumário 9. Manipulação de strings ► Introdução ► A classe String Operações de manipulação ► A classe StringBuffer ► A classe StringTokenizer ► Técnicas de verificação e de teste ► Estilo de programação ► Aulas práticas no laboratório (C) 2006 Gustavo Motta 12 Programa ► Sumário 10. Tipos abstratos de dados ► Definição ► Ocultação da informação e abstração ► Independência de implementação ► Classes abstratas e interfaces em JAVA ► Exemplos clássicos ► Pilha e fila Aulas práticas no laboratório (C) 2006 Gustavo Motta 13 Programa ► Avaliação 1. Prova ao término do item 3 do conteúdo programático 2. Prova ao término do item 6 do conteúdo programático – prática e teórica 3. Prova ao término do item 10 do conteúdo programático – prática e teórica 4. Listas de exercícios (C) 2006 Gustavo Motta 14 Programa ► Observações (C) 2006 Gustavo Motta 15 Programa ► Recursos bibliográficos Camarão, C.; Figueiredo, L. Programação de Computadores em JAVA. Campus/SBC. LTC, 2003 Santos, R. Introdução à programação orientada a objetos usando JAVA. Campus/SBC, 2003 Brookshear, J. G. Ciência da computação: uma visão abrangente. 5a edição. Bookman, 2001 Cursos e livros on-line na Sun Microsystems ► http://java.sun.com/learning/index.html Fonseca Filho, C. História da computação: teoria e tecnologia. LTr, 1999 Berlinsk, D. O advento do algoritmo: a idéia que governa o mundo. Globo, 2002 Material suplementar fornecido peloMotta professor. (C) 2006 Gustavo 16