5
Linguagens de Programação
UFOP
5
Linguagens de Programação
UFOP
1
Linguagens de Programação
UFOP
1
Linguagens de Programação
UFOP
1
Linguagens de Programação
UFOP
3
Linguagens de Programação
UFOP
1
Linguagens de Programação
UFOP
Texto de pré-visualização
Programação de Computadores 2 Prof Marcos Geraldo Braga Emiliano Trabalho Prático Título Sistema de Gerenciamento de Figuras Geométricas Descrição Geral do Trabalho O objetivo do trabalho é desenvolver um sistema em Java para gerenciar figuras geométricas permitindo calcular suas propriedades como área e perímetro e organizálas em diferentes estruturas O sistema será construído de forma incremental com entregas separadas por módulo Cada módulo abordará conceitos e técnicas fundamentais da programação orientada a objetos introduzindo padrões de projeto e práticas avançadas Módulo 01 Fundamentos da Orientação a Objetos em Java Objetivos Implementar classes básicas para representar figuras geométricas Consolidar os conceitos de variáveis métodos estruturas condicionais e repetição Utilizar classes objetos métodos construtores e modificadores de acesso Entregáveis 1 Classes Básicas Implementar classes para representar as figuras geométricas Círculo Retângulo e Triângulo Cada classe deve conter Atributos básicos exemplo raio para círculo largura e altura para retângulo Métodos GET e SET para manipular os atributos Métodos para calcular área e perímetro Um construtor para inicializar os atributos 2 Estruturas Condicionais e Repetição Criar um menu interativo para que o usuário escolha a figura geométrica e o cálculo desejado Permitir repetir operações até que o usuário escolha sair 3 Manipulação de Vetores e Matrizes Criar um vetor para armazenar múltiplas figuras geométricas Permitir que o usuário visualize todas as figuras armazenadas em formato tabular 4 Manipulação de Strings Adicionar uma funcionalidade para buscar figuras pelo nome usando métodos da classe String 5 Referência Null e Validação de Dados Implementar validações para garantir que atributos como raio ou altura não sejam negativos ou nulos 6 Organização do Código Modularizar o código em pacotes separando classes por responsabilidade eg classes de modelo utilitários e interface 7 Composição Associação Implementar classes para representar as figuras geométricas 3D como cubo paralelepípedo ou pirâmide Cada classe deve conter Atributos básicos exemplo as figuras 2D que o compõem retângulo triângulo Métodos GET e SET para manipular os atributos Métodos para calcular volume área externa e perímetro das arestas Um construtor para inicializar os atributos Módulo 02 Herança Polimorfismo e Coleções Objetivos Introduzir herança e polimorfismo para representar hierarquias de figuras geométricas Utilizar interfaces e classes abstratas para generalizar comportamentos Explorar as coleções Java List Set Map para organizar os dados Implementar tratamento de exceções para validar entradas Entregáveis 1 Herança e Polimorfismo Criar uma classe abstrata Figura com os métodos abstratos calcularArea e calcularPerimetro Alterar as classes Círculo Retângulo e Triângulo para herdar da classe Figura 2 Sobrecarga de Métodos Adicionar sobrecarga de métodos nos cálculos eg calcular área de um triângulo com diferentes parâmetros basealtura ou lados 3 Coleções Utilizar uma List para armazenar todas as figuras geométricas Usar um Set para garantir que figuras duplicadas não sejam inseridas Implementar um Map para associar nomes de figuras aos seus objetos 4 Tratamento de Exceções Garantir que erros sejam tratados com exceções apropriadas como IllegalArgumentException para valores inválidos Implementar mensagens claras ao usuário ao tratar exceções Módulo 03 Padrões de Projeto Objetivos Aplicar padrões de projeto para melhorar a organização e reutilização do código Incorporar boas práticas de desenvolvimento orientado a objetos Entregáveis 1 Padrão Singleton Implementar uma classe Singleton para gerenciar a lista de figuras geométricas 2 Padrão Factory Criar uma fábrica simples para instanciar objetos Círculo Retângulo e Triângulo com base nas escolhas do usuário 3 Padrão Abstract Factory Expandir a fábrica para incluir figuras mais complexas como polígonos regulares usando o padrão Abstract Factory 4 Padrão Adapter Criar um adaptador para permitir que uma figura geométrica seja exportada em diferentes formatos eg texto ou JSON 5 Validação e Manutenção Refatorar o código para garantir alta coesão e baixo acoplamento entre as classes Implementar testes básicos para validar o funcionamento dos métodos principais 6 Entrega Final Entregar o sistema completo com interface de texto suporte a todas as operações implementadas e um arquivo README explicando como usálo Requisitos Técnicos 1 O trabalho deve ser desenvolvido em Java e compilado no Eclipse 2 O código deve seguir boas práticas de programação Uso de comentários explicativos Nomes de variáveis e métodos claros Modularização e reutilização de código 3 Cada módulo deve ser acompanhado de exemplos de entrada e saída
5
Linguagens de Programação
UFOP
5
Linguagens de Programação
UFOP
1
Linguagens de Programação
UFOP
1
Linguagens de Programação
UFOP
1
Linguagens de Programação
UFOP
3
Linguagens de Programação
UFOP
1
Linguagens de Programação
UFOP
Texto de pré-visualização
Programação de Computadores 2 Prof Marcos Geraldo Braga Emiliano Trabalho Prático Título Sistema de Gerenciamento de Figuras Geométricas Descrição Geral do Trabalho O objetivo do trabalho é desenvolver um sistema em Java para gerenciar figuras geométricas permitindo calcular suas propriedades como área e perímetro e organizálas em diferentes estruturas O sistema será construído de forma incremental com entregas separadas por módulo Cada módulo abordará conceitos e técnicas fundamentais da programação orientada a objetos introduzindo padrões de projeto e práticas avançadas Módulo 01 Fundamentos da Orientação a Objetos em Java Objetivos Implementar classes básicas para representar figuras geométricas Consolidar os conceitos de variáveis métodos estruturas condicionais e repetição Utilizar classes objetos métodos construtores e modificadores de acesso Entregáveis 1 Classes Básicas Implementar classes para representar as figuras geométricas Círculo Retângulo e Triângulo Cada classe deve conter Atributos básicos exemplo raio para círculo largura e altura para retângulo Métodos GET e SET para manipular os atributos Métodos para calcular área e perímetro Um construtor para inicializar os atributos 2 Estruturas Condicionais e Repetição Criar um menu interativo para que o usuário escolha a figura geométrica e o cálculo desejado Permitir repetir operações até que o usuário escolha sair 3 Manipulação de Vetores e Matrizes Criar um vetor para armazenar múltiplas figuras geométricas Permitir que o usuário visualize todas as figuras armazenadas em formato tabular 4 Manipulação de Strings Adicionar uma funcionalidade para buscar figuras pelo nome usando métodos da classe String 5 Referência Null e Validação de Dados Implementar validações para garantir que atributos como raio ou altura não sejam negativos ou nulos 6 Organização do Código Modularizar o código em pacotes separando classes por responsabilidade eg classes de modelo utilitários e interface 7 Composição Associação Implementar classes para representar as figuras geométricas 3D como cubo paralelepípedo ou pirâmide Cada classe deve conter Atributos básicos exemplo as figuras 2D que o compõem retângulo triângulo Métodos GET e SET para manipular os atributos Métodos para calcular volume área externa e perímetro das arestas Um construtor para inicializar os atributos Módulo 02 Herança Polimorfismo e Coleções Objetivos Introduzir herança e polimorfismo para representar hierarquias de figuras geométricas Utilizar interfaces e classes abstratas para generalizar comportamentos Explorar as coleções Java List Set Map para organizar os dados Implementar tratamento de exceções para validar entradas Entregáveis 1 Herança e Polimorfismo Criar uma classe abstrata Figura com os métodos abstratos calcularArea e calcularPerimetro Alterar as classes Círculo Retângulo e Triângulo para herdar da classe Figura 2 Sobrecarga de Métodos Adicionar sobrecarga de métodos nos cálculos eg calcular área de um triângulo com diferentes parâmetros basealtura ou lados 3 Coleções Utilizar uma List para armazenar todas as figuras geométricas Usar um Set para garantir que figuras duplicadas não sejam inseridas Implementar um Map para associar nomes de figuras aos seus objetos 4 Tratamento de Exceções Garantir que erros sejam tratados com exceções apropriadas como IllegalArgumentException para valores inválidos Implementar mensagens claras ao usuário ao tratar exceções Módulo 03 Padrões de Projeto Objetivos Aplicar padrões de projeto para melhorar a organização e reutilização do código Incorporar boas práticas de desenvolvimento orientado a objetos Entregáveis 1 Padrão Singleton Implementar uma classe Singleton para gerenciar a lista de figuras geométricas 2 Padrão Factory Criar uma fábrica simples para instanciar objetos Círculo Retângulo e Triângulo com base nas escolhas do usuário 3 Padrão Abstract Factory Expandir a fábrica para incluir figuras mais complexas como polígonos regulares usando o padrão Abstract Factory 4 Padrão Adapter Criar um adaptador para permitir que uma figura geométrica seja exportada em diferentes formatos eg texto ou JSON 5 Validação e Manutenção Refatorar o código para garantir alta coesão e baixo acoplamento entre as classes Implementar testes básicos para validar o funcionamento dos métodos principais 6 Entrega Final Entregar o sistema completo com interface de texto suporte a todas as operações implementadas e um arquivo README explicando como usálo Requisitos Técnicos 1 O trabalho deve ser desenvolvido em Java e compilado no Eclipse 2 O código deve seguir boas práticas de programação Uso de comentários explicativos Nomes de variáveis e métodos claros Modularização e reutilização de código 3 Cada módulo deve ser acompanhado de exemplos de entrada e saída