PCS LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA
|
|
- Benedicto Porto Castilhos
- 6 Há anos
- Visualizações:
Transcrição
1 ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia de Computação e Sistemas Digitais PCS - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA EXERCÍCIO PROGRAMA Resumo O EP2 tem como objetivo exercitar os conceitos de orientação a objetos ao estender o projeto da rede social implementado no EP. O sistema deverá contemplar as funcionalidades do EP e atender as mudanças definidas neste documento. Introdução Deseja-se estender o projeto criado no EP da rede PoliSocial. Adicionalmente às funcionalidades desenvolvidas no EP, o sistema deve também permitir a criação de perfil para um departamento, o envio de mensagens privadas, o envio de mensagens que não podem ser curtidas, o aviso de que uma pessoa foi adicionada como contato por um outro perfil e a visualização da rede de contatos de um perfil. A solução deve empregar adequadamente conceitos de orientação a objetos apresentados na disciplina: classe, atributo, método, encapsulamento, coesão, acoplamento, construtor, destrutor, herança, polimorfismo, classe abstrata e programação defensiva. 2. Especificação A rede social deve possuir as seguintes funcionalidades, adicionais às funcionalidades especificadas no EP: Deve ser possível cadastrar um Departamento. Como uma Pessoa, um Departamento tem um nome (string), envia mensagens, recebe mensagens e tem uma lista de contatos mas um Departamento não possui data de nascimento e tampouco país de origem. Além disso, um Departamento também tem um site (string) e tem uma pessoa responsável (Pessoa). Quando alguém envia uma mensagem para o departamento, o responsável também deve receber a mensagem. o Não se preocupe com a duplicação de mensagens recebidas pelo responsável. Ou seja, se uma Pessoa tiver o Departamento e o responsável pelo Departamento como contatos, o responsável deve receber a mensagem duas vezes. o O responsável pelo Departamento não deve mudar. o O responsável pode não ter o Departamento como um Contato. Um Departamento não deve adicionar contatos diretamente. Uma Pessoa somente será adicionada à lista de contatos do Departamento quando ela adicionar o Departamento como contato.
2 Pessoas podem mandar Mensagens privadas para outro Perfil (Pessoa ou Departamento). Essas mensagens serão enviadas a apenas o Perfil selecionado. o Assim como outras mensagens, a mensagem privada deve ser colocada na lista de mensagens enviadas (de quem enviou) e na lista de mensagens recebidas (de quem a recebeu). o Departamentos não podem mandar mensagens privadas. Uma Mensagem enviada por um Perfil pode ser de dois tipos: o Uma mensagem que pode ser curtida (igual ao do EP) o Uma mensagem que não pode ser curtida (chamada de Mensagem Simples). O perfil pode decidir se quer enviar uma mensagem com ou sem curtir. Uma Mensagem privada deve ser sempre uma Mensagem Simples (ou seja, não pode ser curtida). Quando uma Pessoa é adicionada como contato de um perfil ela deve receber uma Mensagem Simples de aviso. Essa mensagem deve possuir o seguinte conteúdo: o o <Nome do Perfil> adicionou você como contato. Um Departamento não deve receber essa mensagem de aviso. Uma Pessoa deve receber essa mensagem também quando um Departamento a adiciona. Ou seja, se a Pessoa A adiciona o Departamento B, o Departamento B adicionará a Pessoa A e a Pessoa A receberá a mensagem B adicionou você como contato. Jogue uma exceção do tipo logic_error quando uma pessoa tentar se adicionar ou tentar adicionar alguém que ela já tem como contato. o Trate a exceção na classe / método que faz a interface com o usuário. Jogue uma exceção do tipo logic_error quando uma pessoa tentar enviar uma mensagem privada a alguém que não é seu contato. o Trate a exceção na classe / método que faz a interface com o usuário. Crie um método que imprima o nome dos contatos alcançáveis de um perfil. Um contato alcançável é um contato direto do perfil ou é um contato de um de seus contatos (veja maiores detalhes na Seção ). Continue com a restrição de que o sistema é limitado a 0 Perfis. Continue armazenando separadamente mensagens enviadas e recebidas e usando uma lista ligada para guardar as mensagens. Considere que mensagens só podem ter linha de texto. Projeto Para implementar essas funcionalidades você deve criar um conjunto de classes em C++ para uma solução orientada a objetos. Cada classe deve ter um arquivo de definição (.h ) e um arquivo de implementação (.cpp ).. Classes Crie uma classe abstrata Perfil, representando o que uma Pessoa e um Departamento possuem em comum. Essa classe deve possuir apenas os seguintes métodos públicos: 2
3 Perfil(string nome); virtual ~Perfil(); // Obtêm o nome do Perfil. string getnome(); // Informa que o perfil foi adicionado pelo perfil "contato" virtual void adicionadopor(perfil* contato) = 0; // Envia uma mensagem para todos os contatos do perfil. // O curtir informa se a mensagem pode ser curtida ou não. virtual void envia(string texto, bool curtir); // Recebe uma mensagem. virtual void recebe(mensagem* m); // Obtêm a lista ligada com as mensagens recebidas. ListaDeMensagens* getmensagensrecebidas(); // Obtêm a lista ligada com as mensagens enviadas. ListaDeMensagens* getmensagensenviadas(); // Imprime a lista de contatos diretos. void vercontatos(); // Imprime a lista de contatos alcançáveis. void vercontatosalcancaveis(); Defina os atributos necessários para essa classe (seguindo a funcionalidade especificada) e crie métodos privados e protegidos caso você deseje. Faça com que uma Pessoa e um Departamento sejam filhas de Perfil. Guarde os contatos de um Perfil como um vetor de Perfil (não faça um vetor separado para Pessoa e para Departamento). A classe Pessoa deve possuir apenas os seguintes métodos públicos: Pessoa(string nome, string datadenascimento, string pais); virtual ~Pessoa(); string getpais(); string getdatadenascimento(); // Adiciona o contato à lista de contatos da Pessoa void adiciona(perfil *contato); // Implementa o método adicionadopor para adicionar uma mensagem à pessoa que // ela foi adicionada pelo contato virtual void adicionadopor(perfil *contato); // Envia uma mensagem privada para um contato void envia(string texto, Perfil* contato); A classe Departamento deve possuir apenas os seguintes métodos públicos:
4 Departamento(string nome, string site, Pessoa* responsavel); virtual ~Departamento(); string getsite(); Pessoa* getresponsavel(); // Redefine o método "recebe" para repassa-la ao responsável. // A mensagem recebida deve também ser adicionada às mensagens recebidas do // departamento. virtual void recebe(mensagem* m); // Implementa o método adicionadopor para adicionar o Perfil como contato do // Departamento virtual void adicionadopor(perfil* contato); Defina os atributos necessários para as classes Pessoa e Departamento (seguindo a funcionalidade especificada) e crie métodos privados e protegidos caso você deseje. Crie classes separadas para representar mensagem simples e mensagens com curtir. Cabe a você decidir como essas classes estão relacionadas e os métodos e atributos das classes. Decida também o que deve ser público, privado e protegido. O importante é que exista uma classe chamada Mensagem. Cabe a você decidir o que essa classe representa ela pode ser uma mensagem simples, uma mensagem com curtir ou um outro conceito (concreto ou abstrato). O importante é que mensagens simples e mensagens com curtir possam ser vistas como Mensagem (e, portanto, os métodos de Perfil, Pessoa e Departamento tenham a assinatura definida anteriormente)..2 Grafo A rede de perfis em uma rede social pode ser vista como um grafo (visto em PCS 0). Por exemplo, pode-se ter o seguinte grafo para uma rede social: Alan Kay Bjarne Stroustrup Timothy Budd PCS Donald Knuth Cada elipse representa um Perfil (PCS é um Departamento e os demais são Pessoas) e cada aresta representa que o Perfil origem da seta tem o Perfil destino da seta como contato. Por exemplo, Alan Kay tem Bjarne Stroustrup como contato, mas Bjarne Stroustrup não tem Alan Kay como contato. Existem várias formas de representar um grafo computacionalmente. Uma forma é fazer com que cada vértice mantenha as arestas que tem ele como origem (pensando em um grafo dirigido). Essa solução é especialmente útil em soluções orientadas a objeto nas quais uma classe do domínio do problema 4
5 representa um vértice, mas existem várias outras opções interessantes. No caso deste projeto isso pode ser feito com cada objeto Pessoa (vértice) guardando todos os contatos que ele tem. Para implementar a funcionalidade de imprimir o nome dos contatos alcançáveis a partir de um Perfil, faça uma busca em largura. Para isso, use um vetor como uma fila (não é preciso criar uma classe Fila, você pode simplesmente usar um inicio e fim). Use o algoritmo visto em PCS 0, mas ao invés de cor (branco, cinza e preto) guarde os elementos já encontrados em um vetor (antes de adicionar um Perfil à fila, confira se ele não está nesse vetor). Como exemplo do resultado da busca em largura, no grafo acima para Timothy Budd os contatos alcançáveis serão Donald Knuth, PCS e Bjarne Stroustrup ; para Alan Kay será Bjarne Stroustrup, Timothy Budd, PCS e Donald Knuth. A ordem como os contatos alcançáveis são apresentados em tela não é relevante, contanto que seja feita uma busca em largura. 4 Interface com o usuário Considerando as novas funcionalidades, sugere-se as seguintes telas e o seguinte diagrama de transição de telas (seguindo o mesmo formato usado no EP). Informe os dados do departamento: Nome: PCS Site: Escolha um responsável: ) Timothy Budd Digite um número ou 0 para cancelar: Departamento cadastrado com sucesso Início Fim 2 PoliSocial ) Cadastrar pessoa 2) Cadastrar departamento ) Logar como perfil 0) Terminar 0 Informe os dados da pessoa: Nome: Bjarne Stroustrup Data de nascimento: 0/2/950 Pais: Dinamarca Pessoa cadastrada com sucesso Departamento: PCS Responsável: Timothy Budd Contatos: Bjarne Stroustrup Alan Kay Escolha uma opcao: ) Ver mensagens enviadas 2) Ver mensagens recebidas ) Escrever mensagem 4) Ver contatos alcancaveis 0) Voltar A mensagem pode ser curtida? (0 não, sim): Digite a mensagem: Olá a todos! Mensagem enviada a todos os contatos 0 A mensagem eh privada (0 - nao, sim): Escolha o destino: ) Timothy Budd 5) PCS Digite um número ou 0 para cancelar: Digite a mensagem: Olá Budd! Mensagem enviada a Timothy Budd!= 0, válido e Departamento!= 0, válido e Pessoa Escolha um dos perfis: ) Timothy Budd 5) PCS Digite um número ou 0 para cancelar: Pessoa: Bjarne Stroustrup 0/2/950 Dinamarca Contatos: Timothy Budd PCS Escolha uma opcao: ) Ver mensagens enviadas 2) Ver mensagens recebidas ) Escrever mensagem 4) Ver contatos alcancaveis 5) Adicionar contato 0) Voltar 4 0 Contatos alcancaveis Timothy Budd PCS Donald Knuth 2 5 Mensagens enviadas ) Olá a todos! (0 curtidas) 2) Ainda estou projetando C++ ) Será que faço C++++? (2 curtidas) Mensagens recebidas ) Estou usando C++ para criar um jogo 2) C é C++-- ( curtidas) ) PCS adicionou você como contato. 4) Alan Kay adicionou você como contato. 5) Donald Knuth adicionou você como contato. Digite o numero da mensagem para curtir ou 0 para voltar: 2 Mensagem curtida Adicionar contato: ) Timothy Budd 5) PCS Digite um numero ou 0 para cancelar: Bjarne Stroustrup conectado a Timothy Budd 5
6 As telas de mensagens enviadas, recebidas e contatos alcançáveis de um Departamento são iguais à da Pessoa e por isso não são mostradas no diagrama. Mensagens sem curtir são apresentadas sem a informação de quantas curtidas foram feitas. 5 Entrega O projeto deverá ser entregue até dia 4/0 no Moodle do Stoa. A entrega deverá ser feita por apenas um aluno por dupla. A dupla deste EP deve ser a mesma dupla do EP, a menos de casos especiais. 6 Dicas Implemente a solução aos poucos não deixe para implementar tudo no final. Se a sua solução do EP seguiu os conceitos de orientação a objetos adequadamente, será possível reaproveitar muito do código do EP. Tente reaproveitar o código ao máximo! Use o dynamic_cast para fazer downcast, sempre verificando se a conversão é possível. 6
PCS 3111 - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA
ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia de Computação e Sistemas Digitais PCS - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA EXERCÍCIO PROGRAMA
Leia maisProgramação Orientada a Objetos. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Classes Abstratas Programação
Leia maisIntrodução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)
Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01
Leia maisNão utilize caracteres acentuados ou especiais para nomes de pastas e arquivos.
BCC201 Introdução à Programação (2016-01) Departamento de Computação - Universidade Federal de Ouro Preto - MG Professor: Reinaldo Fortes (www.decom.ufop.br/reinaldo) Estagiário docente: Washington Silva
Leia maisSistema Rodoviário Tabajara
Universidade Federal do Espírito Santo Departamento de Informática Est. de Informação (INF02827) & Est. de Dados (INF01906) 2 o Trabalho Prático Período: 2008/2 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br
Leia maisPCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 11: Exercício Integrador (parte 2)
PCS3111 Laboratório de Programação Orientada a Objetos para Engenharia Elétrica Aula 11: Exercício Integrador (parte 2) Escola Politécnica da Universidade de São Paulo Agenda 1. Container List 2. Iterators
Leia maisPCS LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA
ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia de Computação e Sistemas Digitais PCS 3 - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA EXERCÍCIO
Leia maisInterfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Leia maisDaniel Wildt
Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória
Leia maisPCS 3111: RECUPERAÇÃO
PCS 3111: RECUPERAÇÃO 03/02/2015 ALEXANDRE HENRIQUE COSTA ROSSI: 4,35 Funcionamento (0,0) Código não compila (-1,5) o CursoExtensao.h: Faltou declarar o método getmedia o CursoExtensao.cpp: faltou um ;
Leia maisProgramação Estruturada Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com
Leia mais1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.
Segunda lista de exercícios v100 Engenharia Elétrica - Eletrônica 2º Semestre de 2015 Prof: Daniel Rodrigo Ferraz Bonetti SSC0300 Linguagem de Programação e Aplicações 1 Faça um programa que leia uma string
Leia maisPADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS
PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo 11 de setembro
Leia maisFundamentos de Orientação a Objetos
Fundamentos de Orientação a Objetos CP44E Apresentação do Plano de Ensino Aula 1 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação 4º Período
Leia maisTrabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas
Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão
Leia maisMAC 115 Introdução à Ciência da Computação ROTHELO
MAC 115 Introdução à Ciência da Computação INSTITUTO DE FÍSICA - BACHARELADO NOTURNO SEGUNDO SEMESTRE DE 2010 Terceiro Exercício-Programa (EP3) Data de entrega: até 06 de dezembro de 2010 (2a.feira) ROTHELO
Leia maisLinguagem de Programação I Apresentação da Disciplina
Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico
Leia mais1. Estrutura do Projeto (0,2) pontos
BIMESTRE/PROVA DISCIPLINA CURSO EXAME FINAL Linguagem de Programação II Informática MATRÍCULA NOME ANO/TURMA Crie um projeto em Java com as seguintes características: 1. Estrutura do Projeto (0,2) pontos
Leia maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisVisibilidade e Encapsulamento
Visibilidade e Encapsulamento Professor: Ricardo Luis dos Santos IFSUL 2016 Agenda Pacotes Visibilidade Encapsulamento Hands-On 2 Pacotes Em Java, a visibilidade ou grau de acesso a um determinado atributo
Leia maisDCC004 - Algoritmos e Estruturas de Dados II
Conceito de especificação de software Renato Martins Email: renato.martins@dcc.ufmg.br https://www.dcc.ufmg.br/~renato.martins/courses/dcc004 Material adaptado de PDS2 - Douglas Macharet e Flávio Figueiredo
Leia maisProgramação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Polimorfismo Polimorfismo com Hierarquias de Herança
Leia maisProblema do Caminho Hamiltoniano
Universidade de São Paulo Escola de Artes, Ciências e Humanidades Bacharelado em Sistemas de Informação Introdução à Ciência da Computação II Professores Luciano Digiampietri e Fábio Nakano Data de entrega:
Leia maisTrabalho Computacional Jogo da Forca
Universidade Federal do Espírito Santo Centro Tecnológico Trabalho Computacional Jogo da Forca PET Engenharia de Computação 1. Introdução: Você será responsável por implementar o Jogo da Forca como trabalho
Leia maisC com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
Leia maisIntrodução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
Leia maisIntrodução à orientação a objetos. João Tito Almeida Vianna 18/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança
Leia maisPONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO ESCOLA DE CIÊNCIAS EXATAS E DA COMPUTAÇÃO PLANO DE ENSINO
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO ESCOLA DE CIÊNCIAS EXATAS E DA COMPUTAÇÃO PLANO DE ENSINO Disciplina: Técnicas de Programação I Curso: Engenharia de Computação/ Ciência
Leia maisTUTORIAL DO PORTAL DO ALUNO. Equipe da Diretoria de Tecnologia da Informação e Comunicação 30/08/2012
TUTORIAL DO PORTAL DO ALUNO Equipe da Diretoria de Tecnologia da Informação e Comunicação 30/08/2012 Conteúdo PORTAL DO ALUNO ALUNO FREQUÊNCIA NOTAS DISCO VIRTUAL MURAL DE RECADOS Devido a problemas de
Leia maisProjecto # 4: HangMan
Projecto # 4: HangMan Entrega: 17 de Junho as 23:59 Para este problema sua missão é escrever um programa que implementa o jogo Hangman. Deve-se ter em conta dois objectivos. Primeiro, o programa é desenhado
Leia maisMANUAL DE OPERAÇÃO PROFESSOR. Página Inicial
MANUAL DE OPERAÇÃO Página Inicial O Sistema Acadêmico online é um portal onde o professor poderá realizar diversos serviços. A Figura 1 a seguir demonstra a página inicial do sistema. Figura 1 - Página
Leia maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Polimorfismo Polimorfismo com Hierarquias Polimorfismo
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Leia maisPara calcular a área do trapézio considere a entrada na seguinte ordem: <base maior> <base menor> <altura>.
PC-II 2008/2 Lista 1 Prof. Alexandre Sztajnberg Em todos os exercícios a aluno deve atender aos requisitos enunciados. Métodos e variáveis auxiliares podem ser criados e usados, desde que pertinentes.
Leia maisModelo do Mundo Real. Abstração. Interpretação
Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema
Leia maisMOODLE MANUAL DE UTILIZAÇÃO - ALUNO. Elaborado por: Tecnologia da Informação 2019/1 Versão 1.0
MOODLE MANUAL DE UTILIZAÇÃO - ALUNO Elaborado por: Tecnologia da Informação 2019/1 Versão 1.0 Sumário 1. Acessando a FAINAM VIRTUAL... 1 2. Acessando os cursos... 4 4. Enviando mensagens... 6 5. Recebendo
Leia maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisIntrodução a orientação a objetos
2 Introdução a orientação a objetos Introdução 2 Linguagens procedimentais 2 Um pouco de história 2 Idéias básicas da POO 2 Classe, atributo e método 2 Herança 3 Polimorfismo 3 Vantagens e desvantagens
Leia maisProgramação Orientada a Objeto
Programação Orientada a Objeto Trabalho Prático Controle de Contas a Receber Parte 01 Professor: Edwar Saliba Júnior Valor: 15 pontos Contextualização: A empresa Tabajara Comércio e Varejo (TCV) iniciará,
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisPROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções
Leia maisParadigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Leia maisUNIVERSIDADE FEDERAL DE PERNAMBUCO Av. Prof. Moraes Rego, 1235, Cidade Universitária, Recife PE, CEP: Fone: (81)
Sistema Módulo Perfil Papel PAINEL DE MEMORANDOS Essa funcionalidade centraliza algumas operações do módulo de protocolo que possuem relação com memorandos eletrônicos. O objetivo é tornar ágil o acesso
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo
Leia maisProgramação Orientada a Objetos. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Herança Programação Orientada
Leia maisSegundo trabalho prático de implementação Sistema de reserva de assentos
Segundo trabalho prático de implementação Sistema de reserva de assentos 1. Descrição do problema Computação Concorrente (MAB-117) 2016/2 Prof. Silvana Rossetto 1 DCC/IM/UFRJ 17 de novembro de 2016 Um
Leia maisManual Plataforma Moodle
Manual Plataforma Moodle Faculdade Sogipa de Educação Física Acadêmicos (as), a Faculdade Sogipa está disponibilizando a plataforma Moodle como ferramenta de apoio acadêmico. O Moodle é um instrumento
Leia maisPCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo
PCS3111 Laboratório de Programação Orientada a Objetos para Engenharia Elétrica Aula 6: Polimorfismo Escola Politécnica da Universidade de São Paulo Conceito de polimorfismo 2 Polimorfismo A palavra vem
Leia maisWikED! Na última década, um grande número de sistemas colaborativos apareceram
Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados I (INF09292) 1o Trabalho Prático Período: 2015/2 Profa Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Data de
Leia maisAula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU
Aula 10 POO 1 Classes Abstratas Profa. Elaine Faria UFU - 2019 Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos
Leia maisSlide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.
Slide 01 16/03/2017 Estruturas de Dados Prof. Cleziel Franzoni da Costa 1 @Cleziel /Cleziel cleziel@hotmail.com 42 3 EMENTA Listas lineares e suas variações. Filas e pilhas. Árvores binárias e suas variações.
Leia maisSegundo Trabalho Prático Turma A
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisTrabalho Prático 2015 Simulador de Circuitos Opção 1 Versão /11/2013
Trabalho Prático 2015 Simulador de Circuitos Opção 1 Versão 1.0 12/11/2013 SSC0300 Linguagem de Programação e Aplicações Engenharia Elétrica - Eletrônica 2º Semestre de 2015 Prof: Daniel Rodrigo Ferraz
Leia maisLP II / 1ª Lista de Exercícios
LP II - 2013.2 / 1ª Lista de Exercícios Em todos os exercícios a aluno deve atender aos requisitos enunciados. Métodos e variáveis auxiliares podem ser criadas e usadas, desde que pertinentes. O aluno
Leia maisProgramação Orientada a Objetos HERANÇA E COMPOSIÇÃO
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade IV Unidade IV Herança e Composição: Herança simples. Composição.
Leia maisProgramação Orientada a Objetos JAVA - NETBEANS
Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento
Leia maisLÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz
LÓGICA DE PROGRAMAÇÃO (JAVA) Classes Uma classe é um tipo definido pelo usuário que contém o molde, a especificação para os objetos, algo mais ou menos como o tipo inteiro contém o molde para as variáveis
Leia maisEngenharia de Software II
Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software
Leia maisInstalação e utilização do Software Pináculo SMS
Instalação e utilização do Software Pináculo SMS Características do produto Pináculo SMS: Sem limite de quantidade de envios de SMS; Limite de 140 caracteres por mensagem; Histórico de mensagens enviadas
Leia maisSocial Networking Software Product Line Documento de Requisitos: Casos de Uso e Variabilidades
Escola Politécnica de Pernambuco Universidade de Pernambuco UPE Mestrado Acadêmico em Engenharia da Computação Social Networking Software Product Line Documento de Requisitos: Casos de Uso e Variabilidades
Leia maisTrabalho de Programação 2 Processador CESAR
Trabalho de Programação 2 Processador CESAR 1. Descrição Geral A empresa TABLETEROS S.A. assinou um contrato milionário de fornecimento de ultrabooks e teve que aumentar o número de estantes. Agora, a
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo
Leia maisHerança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Possibilita o reuso de classes (código-fonte) Usar quando:
Leia mais3 Ferramenta Proposta 3.1. Objetivos
3 Ferramenta Proposta 3.1. Objetivos O objetivo deste trabalho é a criação de um framework de testes que incorpore algumas das novas idéias encontradas na literatura. Sua principal característica deve
Leia maisTrabalho GA - Editor de Cenário Isométrico
Objetivo A tarefa consiste em criar um editor gráfico de cenários para jogos 2D com visão isométrica. O editor deve permitir que o usuário possa criar, abrir e editar mapas (tilemaps) com tileset de visão
Leia maisLinguagem de programação Programação Orientada a objetos
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisSumário. CEAD - FACEL Manual do Aluno, 02
Manual CEAD - FACEL Sumário 03... Acesso ao Ambiente Virtual de Aprendizagem Atualizando seu perfil Esqueceu sua senha de acesso 09... O meu AVA Conhecendo meu AVA Navegando na disciplina Barra de navegação
Leia maisSCC0504 Programação Orientada a Objetos Prof. Luiz Eduardo Virgilio da Silva / Estevam Arantes (Monitor) Projeto
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação SCC0504 Programação Orientada a Objetos Prof. Luiz Eduardo Virgilio da Silva / Estevam
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto
Leia maisINSTRUÇÕES DO MÓDULO REQUERIMENTOS
Universidade Federal de Minas Gerais Centro de Computação - CECOM INSTRUÇÕES DO MÓDULO REQUERIMENTOS Trancamento Total de Matrícula Belo Horizonte Janeiro de 2018 Versão 3.0 (31/01/2018) Documento revisado
Leia maisNova Área de Cliente
A JL tem uma super novidade para sua empresa!!!! Nova Área de Cliente Pensando em melhorias contínuas no relacionamento com os nossos clientes, optamos por um novo sistema de Gestão Digital dos documentos.
Leia maisPrimeira Parte do Trabalho Prático (Parte I) Valor: 30% Descrição do arquivo de dados
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisApêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:
Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2018-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado
Leia maisAula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 08 Encapsulamento Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Projeto Orientado a Objetos Princípios: Abstração; Encapsulamento; Modularidade.
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisSegunda Parte do Trabalho Prático (Parte II) Valor: 70%
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisAula 02. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... - O que é C# e.net - Um
Leia maisMAC110 Introdução à Computação EP no. 3 Prof. Dr. Paulo Miranda Instituto de Matemática e Estatística (IME) Universidade de São Paulo (USP)
MAC110 Introdução à Computação EP no. 3 Prof. Dr. Paulo Miranda Instituto de Matemática e Estatística (IME) Universidade de São Paulo (USP) Sokoban (zelador do armazén) é um tipo de jogo de transporte
Leia maisModelo de plano analitico
Modelo de pla analitico Disciplina: Algoritmização e Programação Curso: Licenciatura em Ensi de Informática A/Semestre: 1º A/2º Semestre Carga horária: 4 h/semana; Docente: Célio Sengo Introdução A linguagem
Leia maisPOO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos
UEG - Universidade Estadual de Goiás (Câmpus Posse) Disciplina: Análise e Projeto de Sistemas II Turma: 4 Semestre Ano: 2016 Professor: José Ronaldo Leles Júnior O que é? É uma forma de abordar um problema.
Leia maisTUTORIAL. Tutorial de como compartilhar o Google Agenda Tutorial de como criar um evento na Plataforma EVEN3
TUTORIAL Tutorial de como compartilhar o Google Agenda Tutorial de como criar um evento na Plataforma EVEN3 Tutorial de como compartilhar o Google Agenda TUTORIAL DE COMO COMPARTILHAR O GOOGLE AGENDA Objetivos:
Leia maisManual do Usuário Webmail SoftSul
Manual do Usuário Webmail SoftSul 2 Índice Interface Geral do Webmail 03 Caixa de entrada 04 Opções de apresentação e filtro 05 Os e-mails nos seus estados 06 Marcar um e-mail 07 Acesso a Configurações
Leia maisRelease Notes. Produto: Fusion Platform Versão: 3.6 Data da Liberação: 25/09/2018. Pré-requisitos: Aplicação do pacote
Release Notes Produto: Fusion Platform Versão: 3.6 Data da Liberação: 25/09/2018 Pré-requisitos: Aplicação do pacote 3.5 1. Itens Corrigidos: Característica do Erro Ao selecionar itens de um e-form externo
Leia maisExercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Leia maisSCC0504 Programação Orientada a Objetos Projeto
SCC0504 Programação Orientada a Objetos Projeto Luiz Eduardo Virgilio da Silva ICMC, USP Proposta Consulte no Moodle o texto contendo a descrição detalhada do projeto Eventuais correções serão feita apenas
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 03: Tipos Abstratos de Dados (TADs) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Leia maisProgramação Orientada a Objetos. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Polimorfismo Programação Orientada
Leia maisLista de Exercícios de Programação Orientada a Objetos
Exercícios básicos Lista de Exercícios de Programação Orientada a Objetos 1. Determine as raízes de uma equação de 2º grau: ax 2 + bx + c = 0 (recordar que o discriminante Δ = b 2 4ac, e que a raiz r =
Leia maisPrimeiro Trabalho Prático Turma A. Descrição do Trabalho. Considere os seguintes dados a respeito de um livro:
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri PAE
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisPontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação
Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 6 Prof. ISVega Março de 2004 Representação de Computações CONTEÚDO 6.1 Modelagem
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Leia mais