Prévia do material em texto
Questão 1/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 01] Numpy é uma das bibliotecas mais populares em Python para computação numérica. Seu nome é uma abreviação de "Numerical Python". Ela fornece suporte para matrizes multidimensionais (arrays) e funções matemáticas de alto desempenho que operam nesses arrays. Análise as assertivas a seguir, e despois selecione a opção correta: I - Um mesmo numpy array pode ser composto por dados do inteiro e do tipo ponto flutuante. II - Todo numpy array possui comportamento e métodos semelhantes ao de uma lista III - a instrução: array = numpy.linspace(0,900,10). Vai me gerar um numpy array de 10 posições. Nota: 10.0 A Somente I e II estão corretas. B Somente II e III estão corretas. C Somente I e III estão corretas. D Somente I está correta. E Somente III está correta. Você assinalou essa alternativa (E) Você acertou! Questão 2/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 03] Você acaba de ser inserido num novo projeto de software. Este tem o seguinte trecho de diagrama de classes com seus respectivo código em python. Diagrama UML: Código: from abc import ABC,abstractmethod class Pessoa (ABC): def __init__(self,cpf): self.cpf = cpf @abstractmethod def get_acesso(): pass class Colaborador(ABC,Pessoa): def __init__(self,cpf,id): super().__init__(cpf) self.id = id @abstractmethod def get_acesso(): pass class Departamento(): def __init__(self,name): self.name = name class Professor(Colaborador): def __init__(self,cpf,id, lista_departamento: list): super().__init__(cpf,id) self.lista_departamento= lista_departamento def get_acesso(self): return 5 Analise o diagrama e o código acima e marque a opção correta: Nota: 10.0 A O código está incorreto pois há problemas na maneira como é feita a herança na classe Colaborador. Você assinalou essa alternativa (A) Você acertou! B A direção das setas no diagrama de classe está invertida, e sendo assim não representa o código. C Para o diagrama representar corretamente o código deveria ser uma composição ao invés da agregação entre departamento e professor. D O código está incorreto, pois a classe colaborador deveria ou implementar o método get_acess() ou remover a reescrita do método. Questão 3/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 02] As classes são fundamentais para a programação orientada a objetos (POO) em Python e permitem uma organização eficiente do código e uma abstração do mundo real. Analise a classe a seguir: class MyDog: owner = 'Me' def __init__(self, age =0 , name = 'Luke'): self.age :int = age self.name: str = name # ----main rex = Dog() Analise as assertivas a seguir e marque a opção correta: I - Todos os objetos dessa classe ao serem instanciados devem vir com atributo age igual a zero; II - Todos os objetos dessa classe ao serem instanciados devem vir com atributo owner igual a "Me" III - A instrução print(rex) deve aparecer na saída do console: Luke Nota: 10.0 A Somente I está certa. B Somente II está certa. Você assinalou essa alternativa (B) Você acertou! C Somente I e III estão certas. D Somente II e III estão corretas. Questão 4/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 04] A biblioteca keyboard é uma biblioteca Python que permite capturar eventos de teclado e mouse em sistemas operacionais Windows e Linux. Ela fornece uma maneira relativamente simples de monitorar e responder a entradas do teclado no nível do sistema operacional, conforme o exemplo abaixoÇ import keyboard while True: try: event = keyboard.read_event() if event.event_type == keyboard.KEY_DOWN: print(f'Tecla pressionada: {event.name}') elif event.event_type == keyboard.KEY_UP: print(f'Tecla liberada: {event.name}') except KeyboardInterrupt: break Sobre o código acima e eventos de teclado em geral, pode se afirmar que: Nota: 10.0 A O programará ficará bloqueado enquanto não for pressionada ou liberada uma tecla: event = keyboard.read_event() B Todas as teclas e possíveis combinações das mesmas são mapeadas na biblioteca keyboard. Você assinalou essa alternativa (B) Você acertou! C A exceção de KeyboardInterrupt acontece quando uma tecla ou algum sinal diferente do mapeado aconteceu. D Não é possível utilizar teclado para alterar o fluxo do programa sem a biblioteca keyboard. Questão 5/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 02] O Diagrama de Classes é um dos diagramas mais utilizados na UML e é usado para representar a estrutura estática de um sistema orientado a objetos. Ele mostra as classes do sistema, seus atributos, métodos e as relações entre as classes. O Diagrama de Classes é especialmente útil para modelar a organização e as interações entre as entidades no sistema. Marque a alternativa correta: Nota: 10.0 A Um diagrama de classes tem como objetivo apresentar o fluxo de dados entres os diversos objetos do programa; B Toda subclasse (classe filha) deve chamar o construtor da classe pai (superclasse). C A cardinalidade ( relação de objeto para com objeto) de um diagrama UML é obrigatória; Apesar de ser sempre bem vinda a cardinalidade nas relações entre as classe no diagrama UML. D Quando uma classe A compõe uma outra classe B. A instancia da classe A deixa de existir se a instância da classe B for deletada; Você assinalou essa alternativa (D) Você acertou! Questão 6/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 01] GitHub é uma plataforma de hospedagem de código fonte e colaboração baseada em Git. Ela fornece serviços para hospedar repositórios Git remotos, permitindo que desenvolvedores e equipes compartilhem, colaborem e controlem versões de seus projetos de software. Sobre o Github, pode se afirmar que: Nota: 10.0 A O GitHub armazena dados de maneira semelhante a uma plataforma de nuvem como Google Drive Incorreto, pois é possível ter várias branchs no Github e depois dar merge nelas. Então a alternativa está incorreta B O GitHub pode ser utilizado como plataforma social, com até troca de mensagens entre usuários Você assinalou essa alternativa (B) Você acertou! C GitHub pode ser sincronizado com dados de outra plataformas de nuvem de maneira nativa. D É necessário ter o Git no computador para utilizar o serviço de armazenamento do GitHub Você pode utilizar o GitHub sem te rum Git instalado para armazenar dados. Inclusive voc6e pode utilizar para importar projeto de outros GitHub para seu. Questão 7/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 01] O Git é um sistema de controle de versões distribuído, amplamente utilizado para rastrear alterações em projetos de software e facilitar o trabalho colaborativo entre desenvolvedores. Foi criado por Linus Torvalds em 2005 para o desenvolvimento do kernel do Linux e desde então se tornou uma das ferramentas mais populares para controle de versão. Marque a opção que apresenta a ordem correta de cima (inicio) para baixo (final) os procedimentos para fazer um commit e push (considerando que já foi configurado o endereço remoto) dentro do GitGUI: Nota: 10.0 A RESCAN INSERIR TÍTULO DO COMMIT INSERIR DESCRISSÃO SIGN-OFF PUSH STAGE CHANGE COMMIT B RESCAN INSERIR TÍTULO DO COMMIT SIGN-OFF INSERIR DESCRISSÃO STAGE CHANGE COMMIT PUSH C RESCAN STAGE CHANGE INSERIR TÍTULO DO COMMIT INSERIR DESCRISSÃO SIGN-OFF COMMIT PUSH Você assinalou essa alternativa (C) Você acertou! D RESCAN STAGE CHANGE PUSH INSERIR TÍTULO DO COMMIT INSERIR DESCRISSÃO SIGN-OFF COMMIT Questão 8/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 03] Em Python, os módulos e pacotes são formas de organizar, reutilizar e modularizar o código, tornando-o mais fácil de gerenciar e manter em projetos maiores. I- Todo módulo em Python deve ter um arquivo __init__.py. II- Um pacote pode ser composto de diversosmódulos. III - É possível ter módulos de mesmo nome dentro de um projeto, desde que estejam em pacotes diferentes. Análise as assertivas acima e marque a opção correta: Nota: 10.0 A Somente a assertiva I está correta. B Somente II está correta. C Somente I e II está correta. D Somente II e III estão corretas. Você assinalou essa alternativa (D) Você acertou! Questão 9/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 02 ] Herança em Python é um conceito fundamental da programação orientada a objetos (POO) que permite que uma classe herde atributos e métodos de outra classe. class Animal: def __init__(self, age: int, height: int, weight: int, position: tuple): self.age = age self.height = height self.weight = weight self.position = position # position [position_x, position_y, position_z] def move_x(self): self.position[0] += 1 class Dog(Animal): def __init__(self, age: int, height: int, weight: int, position: tuple): super().__init__(age, height, weight, position) def move_x(self): self.position[2] += 2 class Cat(Dog): def __init__(self, age: int, height: int, weight: int, position: tuple, fur_type = 'liso'): super().__init__(age, height, weight, position, fur_type) def move_x(self): self.position[3] += 4 melo = Cat(age=10, weight=30, position=(0, 0, 0), height=10) print(melo.age) O código acima não está sendo executado. Marque a alternativa que indica o motivo e o porque. Nota: 10.0 A O problema é na herança da classe Cat. Está deveria estender (herdar) da classe Animal Apesar de logicamente incorreta a herança de Cat. B Não existe atributo fur_type na classe Cat C O método mov_x deve ter uma anotação especial na Animal se este for modificado nas suas subclasses. D A invocação do construtor de Animal está com um atributo a mais na classe Cat Você assinalou essa alternativa (D) Você acertou! Questão 10/10 - Linguagem de Programação Aplicada [AULA TEÓRICA 02] Uma empresa o contratou para um novo fazer parte de uma um projeto em andamento. Numa das etapas da sua adaptação foi lhe passado o diagrama de classes projeto. Num determinado trecho do diagrama é representada as seguintes relações: Sobre o diagrama acima, pode se afirmar que: Nota: 10.0 A Cada instancia da classe A é composta de uma ou mais instancias da classe Y B A classe B é uma subclasse de A e classe Y é uma superclasse de X. O correto seria: C Um ou mais instâncias de Y deixam de existir se a instância Z deixar de existir Você assinalou essa alternativa (C) Você acertou! D A classe Z agrega uma ou mais instâncias de Y. O correto seria: