1 Programação de Computadores II 2013.1 Profs.: Leandro A. F. Fernandes(A1), Marcos Lage(B1) , Pedro B. Velloso(C1) Instituto de Computação Universidade Federal Fluminense Programa Detalhado Parte I Introdução a Linguagem Java o Histórico da linguagem o Características o O ambiente Java o Pacotes o Estrutura de um programa Java o Tipos primitivos o Identificadores o Operadores aritméticos, lógicos e relacionais o Estruturas de controle de fluxo – condicionais o Estruturas de controle de fluxo – repetições o Tratamento de Exceções o Arrays unidimensionais e multidimensionais de tipos primitivos o Revisão de algoritmos básicos Conceito de estruturas de dados e seus algoritmos Conceitos de orientação a objetos o Classes o Objetos o Instanciação o Atributos e métodos o Escopo o Construtores o Sobrecarga o Encapsulamento e ocultação de dados o Modificadores de acesso o Herança e polimorfismo o Classes abstratas e interfaces o Princípios básicos de projeto orientado a objetos o Exemplos de aplicações Representação de dados através de agregados o Arrays unidimensionais e multidimensionais de objetos o Manipulação de cadeias de caracteres o Algoritmos envolvendo arrays de objetos o Aplicações em estruturas de dados simples (filas, listas, pilhas) 2 Parte II Entrada e saída padrão o Entrada e saída via console o Diálogos padrão o Exemplos de aplicações Entrada e saída através de arquivos o Conceito de arquivo o Conceito de stream (fluxo) o Arquivos texto o Arquivos binários o Arquivos de acesso direto o Serialização o Exemplos de aplicação Recursividade o O conceito de recursão o Recursão × iteração o Recursão de cauda o Recursão mútua o Exemplos de algoritmos recursivos (backtracking) Parte III Tipos recursivos Listas lineares o Listas lineares sequenciais (implementação através de arrays) o Listas encadeadas (implementação através de referências para objetos) Tipos genéricos Coleções de objetos em Java o Conjuntos o Listas o Mapas associativos 3 Avaliação Prova 1 (P1): parte I Prova 2 (P2): parte II com aplicações de parte I Prova 3 (P3): parte III com aplicações de parte I e II Trabalho (T): enunciado definido durante o semestre /* Rotina para cálculo da media final */ Entrada: P1, P2, P3, T Saída: MF, Resultado PX ← (min(P1, P2) + T) / 2.0 PY ← max(P1, P2) M ← (PX + PY + P3) / 3.0 Se 4.0 <= M < 6.0 então MF ← nota na verificação suplementar Se não MF ← M Fim se Se MF >= 6.0 então Resultado ← APROVADO Se não Resultado ← REPROVADO Fim se 4 Bibliografia Recomendada Programação e algoritmos com Java Ênfase em programação de algoritmos e solução de problemas computacionais Introduction to Programming in Java – Interdiciplinary Approach Autor: Robert Sedwick & Kevin Wayne Editora: Addison-Wesley Ano: 2007 Página do livro com material do livro: http://www.cs.princeton.edu/introcs/home/ Programação orientada a objetos com Java Autor: Barnes & Kolling Editora: Pearson Edição: 4 Ano: 2009 Introdução à ciência da computação com jogos: aprendendo a programar com entretenimento Autor: Bruno Feijó , Esteban Clua e Flávio Corrêa Editora: Campus Ano: 2009 Programação orientada a objetos usando Java Autor: Rafael Santos Editora: Campus Ano: 2003 Linguagem de programação Java Livro de referência sobre a linguagem Java Java: Como Programar Autor: HARVEY M. DEITEL & PAUL J. DEITEL Editora: Prentice-Hall Ano: 2005 Edição: 6 Use a cabeça! Java Autor: KATHY SIERRA & BERT BATES Editora: Alta Books Ano: 2007 Aprenda em 21 dias Java 2 Autor: Rogers Cadenhead & Laura Lemay Editora: Campus Edição: 4