Ir para conteúdo
Fórum Script Brasil

MarcosAUG

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Posts postados por MarcosAUG

  1. Construa um programa orientado a objetos que implemente exatamente o diagrama de classes abaixo (seguir a mesma nomenclatura).

    Observações:

    1. O método get_numero_paginas() retorna o número de páginas de um livro

    2. O método autores() retorna uma lista com todos os autores de um livro

    3. O método add_autor() adiciona um novo autor à lista de autores do livro. Quando um novo autor é adicionado a um livro, é preciso também fazer o processo reverso, adicionando o livro à lista de livros do autor.

    4. O método lista_livros() retorna a lista de livros de um autor.

    5. Os atributos de cada classe Autor devem ser informados na construtora da classe, sendo passados como dicionários (**kwargs).

    6. O atributo título da classe Livro é obrigatório e deve ser parâmetro obrigatório na sua construtora. Também é obrigatório informar pelo menos um autor. Outros autores podem ser informados e devem ser passados na construtora como lista (*args). Os atributos subtítulo e numero_paginas são opcionais e podem ser passados na construtora como dicionário (**kwargs). Lembre que ao incluir um autor em um livro, este livro deve ser incluído na lista de livros do autor.

    xid-15959453_1

    Teste as classes criando alguns autores e alguns livros. Teste o programa incluindo vários autores em um livro e criando vários livros do mesmo autor. Imprima os autores de um livro e os livros de um autor utilizando uma estrutura de repetição.

  2. Crie uma classe que defina um vetor no plano. Crie métodos para permitir obter o versor, módulo e somar ao vetor uma série de outros vetores (usando *args), calcular o produto escalar e produto vetorial

    image.png.73ff40f879352c704697eab52a03457a.png

    Uma duvida é de como usar a função *args nos métodos que o enunciado pede, e se tenho que mudar os métodos e atributos anteriores?

    class Vetor:
        
        def __init__(self, x, y):
            self.__x = x
            self.__y = y
            
        def modulo(self):
            return (self.__x**2 + self.__y**2 )**(1/2)
        
        def versor(self):
            v1 = (self.__x)/(self.__x**2 + self.__y**2 )**(1/2)
            v2 = (self.__y)/(self.__x**2 + self.__y**2 )**(1/2)
            return v1, v2
        
        def soma(self, *args):
            pass
        
     
        
    vetorA = Vetor(4,3)
    print("Modulo: ", vetorA.modulo())
    print("Versor: ", vetorA.versor()) 

     

  3. Em 06/03/2020 em 13:58, ArteEN disse:
    
    class Ponto:
        def __init__(self, x, y): pass
        def exibirCoord(self): pass
        def ateOringem(self): pass
        def atePonto(self): pass
        def moverPonto(self, x, y): pass

    parece simples

    Certo agradeço pela sua resposta, porém não teria como fazer um código que realmente execute oque foi pedido no enunciado deixar de utilizar o pass?

  4. Crie uma classe que defina um ponto no plano cartesiano. Crie métodos para:

    a.Mostrar as coordenadas do ponto;

    b.Determinar a distância do ponto até a origem;

    c.Determinar a distância do ponto até outro ponto cujas coordenadas são fornecidas como parâmetros;

    d.Mover o ponto, informando um vetor (x,y) como parâmetro.

  5. O programa em Python abaixo inicializa duas listas: a lista ‘datas’, contendo algumas datas (no formado mm/aaaa) referentes aos anos de 2017 e 2018, e a lista ‘temp’ contendo a temperatura média (em °C) daquelas datas, na respectiva ordem.

    Faça o que se pede abaixo:

    a) Copie o código fornecido e cole em um editor de sua preferência (Spyder, Pycharm, Idle, etc.).

    b) Implemente a função ContaDias(), que conta a quantidade de datas cadastradas na lista ‘datas’ pertencentes a um determinado ano (2017 ou 2018) passado como parâmetro.

    c) Implemente a função TempMedia(), que calcula e retorna a temperatura média entre as datas pertencentes a um determinado ano (2017 ou 2018) passado como parâmetro.

    d) Implemente a função MenorMaiorTemp(), que calcula e retorna a menor e a maior temperatura dentre todas as temperaturas de um determinado ano (2017 e 2018) passado como parâmetro

    Código:

    # -- definição das funções --
    def ContaDias(datas,mes):
    # implemente essa função
    def TempMedia(datas,temp,mes):
    # implemente essa função
    def MenorMaiorTemp(datas,temp,mes):
    # implemente essa função
    # -- programa principal --
    # inicialização das listas
    datas = ['01/2018', '03/2018', '07/2017', '05/2018', '12/2017', '03/2017',
    '11/2018']
    temp = [30.7, 26.2, 10.6, 23.4, 31.0, 25.7, 29.4]
    # obtenção dos resultados
    nd_2017 = ContaDias(datas,'2017')
    nd_2018 = ContaDias(datas,'2018')
    tm_2017 = TempMedia(datas,temp,'2017')
    tm_2018 = TempMedia(datas,temp,'2018')
    tmenor_2017, tmaior_2017 = MenorMaiorTemp(datas,temp,'2017')
    tmenor_2018, tmaior_2018 = MenorMaiorTemp(datas,temp,'2018')
    # impressão dos resultados
    print('\n-------------------------')
    print('2017:')
    print('Qtd. de dias........', nd_2017)
    print('Temp. média (°C)....', round(tm_2017,1))
    print('Menor temp. (°C)....', tmenor_2017)
    print('Maior temp. (°C)....', tmaior_2017)
    print('\n2018:')
    print('Qtd. de dias........', nd_2018)
    print('Temp. média (ºC)....', round(tm_2018,1))
    print('Menor temp. (°C)....', tmenor_2018)
    print('Maior temp. (°C)....', tmaior_2018)
    print('-------------------------')
×
×
  • Criar Novo...