Programação Orientada a Objetos Lista de Exercícios 1 Thiago Serra F Carvalho [email protected] Os exercícios desta lista testam seus conhecimentos em UML (Diagrama de Classes), Denição de Classes, Objetos, métodos e atributos. Você deverá entregar as questões teóricas e código fonte contendo seu nome e turma identicadas no cabeçalho (utilize os comentários no código Python. Os códigos fonte e modelos do ArgoUML devem seguir junto a resolução das questões, tudo em um único arquivo compactado enviado para o e-mail acima. Códigos fontes em Pyhton serão testados no Python 3.5. 1. Considerando as aulas sobre POO, escreva abaixo o que você entendeu sobre: • Classe; • Objeto; • Herança; • Interface; • Atributo; • Método; • Visibilidade de elementos (quais são os tipos? o que signica cada um?) 2. Considera a classe abaixo para representar alunos: class Aluno: # sexo pode ser "f" ou "m" # nome é uma cadeia de caracteres # idade é um inteiro def __init__(self, nome, idade, sexo): self.nome = nome self.idade = idade self.sexo = sexo 1 • Escreva uma função (não um método) que permita ler dados de vários alunos, até que a nome "m"seja digitado; • Implemente na classe um método que permita imprimir na tela os dados que acabaram de ser digitados pelo usuário conforme exemplo abaixo: Digitação feita pelo usuário: Aluno: 'João da Silva' Idade: '22' Sexo: 'M' >>> Você digitou: João da Silva, Masculino, 22 anos • Crie uma subclasse (AlunoPosGraduacao) que implemente as informações de escolaridade (atributos míni- mos: Formação, Colégio/Faculdade e Data da Conclusão); • Implemente uma função que imprima os dados de todos os alunos. • Gere o modelo dessas classes no ArgoUML. 3. Utilizando o Diagrama de Classes e se concentrando no modelo que será apresentado a sua equipe, dena os objetos e relacionamento entre estes, conforme caso abaixo: O usuário deseja que o sistema seja capaz de armazenar os dados: • dos fornecedores (razão social, nome fantasia, CNPJ, endereço, telefone, e-mail, pessoa de contato); • dos produtos vendidos por cada fornecedor (descrição, quantidade mínima e máxima para compra por pedido, tipo de unidade vendida (se é por quantidade, peso ou volume), preço por unidade/peso, preço de revenda); • do estoque dos produtos. 4. Escreva em Python o código para as classes do exercício acima em Python. 5. Pense nos diversos formulários que você já preencheu na internet e, que normalmente pedem seus dados pessoais e endereços. Agora, crie uma classe (e subclasses, se for caso) para representar as seguintes telas, sabendo que são variações de um mesmo cadastro: 2 Figura 1: Cadastro de Pessoa Física Figura 2: Cadastro de Pessoa Jurídica 3 Figura 3: Cadastro de Endereço 4