Buscar

Apol 01 LINGUAGEM DE PROGRAMAÇÃO APLICADA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Questão 1/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.
Nota: 10.0
	
	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)
Você acertou!
Não precisa instalar a biblioteca time para poder utilizá-la, basta importar. Isso porque ela já vem no pacote do python 3 quando você o instala.
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.
A direção está correta.
	
	C
	Para o diagrama representar corretamente o código deveria ser uma composição ao invés da agregação entre departamento e professor.
Incorreta. Está certo agregação.
Uma vez que a lista não vai deixar de existir se simplesmente apagar o objeto da classe 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.
Não há problema com a reescrita do método. Mesmo que não deseja implementar.
Questão 3/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:
Nota: 10.0
	
	A
	Somente a assertiva I está correta.
A assertiva I está incorreta, pois é todo pacote que deve ter um módulo __init__.py
	
	B
	Somente II está correta.
Incorreta, pois a assertiva III está correta também.
	
	C
	Somente I e II está correta.
A assertiva I está incorreta, pois é todo pacote que deve ter um módulo __init__.py
A assertiva III está correta também.
	
	D
	Somente II e III estão corretas.
Você assinalou essa alternativa (D)
Você acertou!
Questão 4/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;
Nota: 10.0
	
	A
	Somente I está correta
Incorreta.
I - Assertiva Falsa, É necessário mudar a declaração do wrapper(). Algo como wrapper(*args, **kwargs)
II - AssertivaVerdadeira
III- Assertiva Falsa, pois o decorator não otimiza tempo de execução, mas sim reaproveitamento de código e retrabalho. Permite que funções a muito tempo escrita possam ficar intocadas;
	
	B
	Somente II está correta.
Você assinalou essa alternativa (B)
Você acertou!
	
	C
	Somente I e II
Incorreta.
I - Assertiva Falsa, É necessário mudar a declaração do wrapper(). Algo como wrapper(*args, **kwargs)
	
	D
	Somente II e III estão corretas
Incorreta.
III- Assertiva Falsa, pois o decorator não otimiza tempo de execução, mas sim reaproveitamento de código e retrabalho. Permite que funções a muito tempo escrita possam ficar intocadas;
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;
Incorreto.
Um diagrama de classes tem como objetivo expressar o comportamento entre as diversas classes do projeto
	
	B
	Toda subclasse (classe filha) deve chamar o construtor da classe pai (superclasse).
Não é obrigatório.
Veja a classe ABC. Quando a utilizamos é sempre como superclasse e nunca chamamos o construtor.
	
	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. Não é obrigatório, e não inserir não deixa o diagrama errado, somente incompleto
	
	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 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
O correto seria:
Uma ou mais instância da classe A é agregam  uma instância da classe Y
	
	B
	A classe B é uma subclasse de A e classe Y é uma superclasse de X.
O correto seria:
A classe B é uma superclasse de A e classe Y é uma subclasse de X.
	
	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:
A classe Z é composta por uma ou mais instâncias de Y.
Questão 7/10 - Linguagem de Programação Aplicada
[AULA TEÓRICA 02 ] Herança em Python é um conceito fundamental da programaçãoorientada 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. Não é a razão do código não executar
	
	B
	Não existe atributo fur_type na classe Cat
Não é um problema, pois no código acima esse valor nunca será lido
	
	C
	O método mov_x deve ter uma anotação especial na Animal  se este for modificado nas suas subclasses.
Não é necessário.
	
	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 8/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()
False, o código não fica bloqueado em nenhum momento
	
	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.
Incorreto, essa exceção ocorre quando se pressiona a combinação Ctrl+C para interromper  a execução do programa
	
	D
	Não é possível utilizar teclado para alterar o fluxo do programa sem a biblioteca keyboard.
Incorreto, pois você pode utilizar a entrada de caracteres para entrada de dados, só não será tratado como evento.
Questão 9/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
Não é correta, pois é possível passar outro valor de age no momento que se instancie o objeto.
	
	B
	Somente II está certa.
Você assinalou essa alternativa (B)
Você acertou!
	
	C
	Somente I e III estão certas.
Não é correta, pois em:
I - É possível passar outro valor de age no momento que se instancie o objeto.
III - O que irá aparecer na saída do console será algo como: <__main__.MyDog object at xxxxxxxxxx>, onde x são números inteiros
	
	D
	Somente II e III estão corretas.
Não é correta, pois em:
III - O que irá aparecer na saída do console será algo como: <__main__.MyDog object at xxxxxxxxxx>, onde x são números inteiros
Questão 10/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 10/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
I - está incorreta, pois um numpy array é composto de somente de um tipo de dado, ou ó int ou só float.
II- está incorreta, pois numpy array possuem métodos e funcionamento internos completamente diferentes de uma lista.
	
	B
	Somente II e III estão corretas
II- está incorreta, pois numpy array possuem métodos e funcionamento internos completamente diferentes de uma lista.
	
	C
	Somente I e III estão corretas
I - está incorreta, pois um numpy array é composto de somente de um tipo de dado, ou ó int ou só float.
	
	D
	Somente I está correta.
I - está incorreta, pois um numpy array é composto de somente de um tipo de dado, ou ó int ou só float.
	
	E
	Somente III está correta.
Você assinalou essa alternativa (E)
Você acertou!
Questão 10/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.
O Github não possui suporte nativo para tal operação.
	
	D
	É necessário ter o Git no computador para utilizar o serviço de armazenamentodo 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.

Outros materiais