Prévia do material em texto
Questão 1/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:
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)
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 2/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:
A O GitHub armazena dados de maneira semelhante a uma plataforma de nuvem como
Google Drive
B O GitHub pode ser utilizado como plataforma social, com até troca de mensagens entre
usuários
Você assinalou essa alternativa (B)
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
Questão 3/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.
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)
Questão 4/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:
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;
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)
Questão 5/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.
A O problema é na herança da classe Cat. Está deveria estender (herdar) da classe
Animal
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)
Questão 6/10 - Linguagem de Programação Aplicada
[AULA TEÓRICA 04] Um decorator em Python é uma função que envolve outra função, permitindo que você
adicione funcionalidade a essa função sem modificar seu código interno. Segue um exemplo de um decorator:
def meu_decorator(funcao):
def wrapper():
print("Algo está acontecendo antes da função ser chamada.")
funcao()
print("Algo está acontecendo depois da função ser chamada.")
return wrapper
# Usando o decorator
@meu_decorator
def minha_funcao():
print("Minha função está sendo chamada.")
minha_funcao()
Analise as seguintes assertivas sobre decorators em geral e assinale a alternativa correta
I - É possível passar parâmetros na minha_função() sem precisa mudar a declaração do wrapper();
II - Neste exemplo, "meu_decorator" é um decorador que envolve a função "minha_função;
III - Decorators visam reduzir o tempo de execução de um código, por meio do reaproveitamento do
código;
A Somente I está correta
B Somente II está correta.
Você assinalou essa alternativa (B)
C Somente I e II
D Somente II e III estão corretas
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:
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)
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 01] Uma biblioteca em Python é um conjunto de módulos que oferecem funcionalidades
específicas para resolver tarefas ou problemas particulares. Uma biblioteca pode conter vários módulos que
trabalham juntos para fornecer uma funcionalidade abrangente. Em outras palavras, uma bibliotecaé um
pacote contendo várias funcionalidades relacionadas que podem ser reutilizadas em diferentes projetos.
Sobre bibliotecas pode se afirmar que:
I - Em um novo projeto com python 3 instalado, sempre que for necessário utilizar a biblioteca time é
necessário instalá-la e depois importa-la
II - Em um novo projeto com python 3 instalado, há bibliotecas que não precisa-se instalar para depois
importá-la.
III - As funções print e input fazem parte de uma biblioteca.
A Todas as assertivas estão corretas
B Somente I
C Somente II
D Somente I e III
E Somente II e III
Você assinalou essa alternativa (E)
Questão 9/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 diversos mó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:
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)
Questão 10/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:
A O código está incorreto pois há problemas na maneira como é feita a herança na
classe Colaborador.
Você assinalou essa alternativa (A)
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.