Logo Passei Direto
Buscar

Python: Biblioteca sched e Testes Unitários

Questionário de múltipla escolha sobre conceitos de Linguagem de Programação Aplicada: agendamento em Python (sched), testes unitários, depuração, padrões Mediator/Observer e características do SQLite 3.

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

Questão 1/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 4] Em Python, você pode lidar com ações usando bibliotecas. Uma das maneiras mais 
comuns de lidar com essas ações é usando a biblioteca sched. Como pode ser observado no 
comando a seguir:
import sched
import time
def print_message(mensagem):
    print(mensagem)
   
def schedule_next_event(scheduler, intervalo, mensagem):
    scheduler.enter(1, 1, schedule_next_event, (scheduler, intervalo, mensagem))
    print_message(mensagem)
   
scheduler = sched.scheduler(time.time, time.sleep)
schedule_next_event(scheduler, 1, "Esta é a mensagem agendada a cada 1 segundo!")
scheduler.run()
Esse código utilizado em Python nos traz um exemplo de:
A Agendamentos
B Apontamentos
C
Eventos calculados
D Manipulações
E
Eventos de tempo
Você assinalou essa alternativa (E)
Questão 2/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 6] Testes unitários, ou unit tests, são uma prática de desenvolvimento de software em que 
partes individuais (ou unidades) do código são testadas isoladamente para garantir que funcionem 
como esperado. Uma unidade pode ser uma função, um método de uma classe ou até mesmo uma 
pequena parte de código que executa uma determinada funcionalidade.
Em termos simples, os testes unitários verificam se cada parte do código faz o que é suposto fazer. 
Eles são escritos pelo desenvolvedor e têm como objetivo:
A Validar as unidades separadamente
javascript:void(0)
javascript:void(0)
Você assinalou essa alternativa (A)
B
Testar a base de dados
C
Validar as entradas de dados
D
Validar a indentação do código
E
Verificar a estrutura do código fonte
Questão 3/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 6] O debug em programação é o processo de identificar, isolar e corrigir erros em um 
programa de computador. Os erros podem variar de simples erros de sintaxe a problemas mais 
complexos de lógica ou comportamento do programa. O processo de debug é essencial para garantir 
que um programa funcione corretamente e produza os resultados desejados, analise as afirmativas a 
seguir que mostram alguns dos principais aspectos do debug em programação:
I. Publicar o erro: uma vez que o erro foi reproduzido, o próximo passo é a publicação do erro na 
Internet para encontrar a solução. Isso pode envolver a revisão do código-fonte relevante, a 
identificação de variáveis ou operações problemáticas, e a análise do fluxo de execução do 
programa para entender onde o erro está ocorrendo
II. Identificação de erros: o primeiro passo no processo de debug é identificar que um erro 
ocorreu. Isso pode ser indicado por mensagens de erro, comportamento inesperado do programa, ou 
resultados incorretos
III. Correção do erro: uma vez que a causa do erro foi identificada, os desenvolvedores podem 
fazer as correções necessárias no código para resolver o problema. Isso pode envolver a correção de 
erros de sintaxe, ajuste de lógica de programação, manipulação de exceções, entre outras ações
IV. Testes de retorno: após a correção do erro, é importante realizar testes de retorno para garantir 
que a correção gerou novos problemas no programa. Isso pode envolver a execução de testes 
automatizados ou manuais para verificar se o programa está funcionando conforme o esperado
V. Depuração ativa: durante o processo de isolamento do erro, os desenvolvedores geralmente 
usam técnicas de depuração ativa para examinar o estado do programa em tempo de execução. Isso 
pode incluir a inserção de pontos de interrupção no código, inspeção de variáveis, rastreamento de 
pilha e execução passo a passo do código para entender como o programa está se comportando
São corretas apenas as afirmativas:
A I, III e IV
B
II, III e V
Você assinalou essa alternativa (B)
C III e IV
D I, IV e V
E IV e V
javascript:void(0)
Questão 4/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 4] Em Python temos duas situações quando precisamos trabalhar com objetos. Uma situação 
é quando você tem um conjunto de objetos que precisam se comunicar entre si, mas quer evitar que 
eles se comuniquem diretamente, promovendo um acoplamento fraco entre eles. A outra situação é 
quando você tem um objeto que precisa notificar outros objetos sobre mudanças em seu estado.
Essas duas situações referentes a objetos são conhecidas respectivamente como:
A List comprehensions e List ordered
B Design communicator e design viewer
C
Design pattern mediator e design pattern observer
Você assinalou essa alternativa (C)
D Manipulator e Range View
E Classificator e Ordenator
Questão 5/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 5] O SQLite é um sistema de gerenciamento de banco de dados relacional que é conhecido 
por sua leveza, facilidade de uso e eficiência.  
Relacione alguns pontos importantes sobre o SQLite 3: 
1. Suporte ao SQL padrão 
2. Ampla disponibilidade 
3. Zero configuração 
4. Embarcado 
5. Transações ACID 
 (     ) Oferece suporte a transações de Atomicidade, Consistência, Isolamento, Durabilidade, o que 
garante que as operações de banco de dados sejam confiáveis, mesmo em face de falhas do sistema
(     ) É amplamente suportado e está disponível em praticamente todas as plataformas, incluindo 
Windows, macOS, Linux e sistemas embarcados. Ele é usado em uma variedade de aplicativos, 
desde navegadores da web até aplicativos móveis e até mesmo em sistemas embarcados
(     ) É uma biblioteca C que é embutida diretamente em aplicativos, o que significa que todo o 
banco de dados é armazenado em um único arquivo. Isso torna o SQLite perfeito para aplicativos 
que precisam de um banco de dados leve e não querem a sobrecarga de um servidor de banco de 
dados separado
(     ) Uma de suas principais vantagens do SQLite é não requerer configuração ou administração de 
servidor. Você simplesmente inclui uma biblioteca em seu projeto e está pronto para começar a usar 
o banco de dados
(     ) Suporta a maioria do SQL padrão, incluindo consultas complexas, junções, transações, 
gatilhos e subconsultas. Isso o torna muito poderoso e flexível para uma ampla gama de aplicativos
javascript:void(0)
javascript:void(0)
Agora, selecione a alternativa que apresenta a sequência correta:
A
1 – 2 – 4 – 5 – 3
B
5 – 2 – 3 – 4 – 1
C 3 – 4 – 5 – 2 – 1
D
5 – 2 – 4 – 3 – 1
Você assinalou essa alternativa (D)
E 2 – 3 – 5 – 1 – 4
Questão 6/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 5] O padrão Proxy é um padrão de projeto estrutural que fornece um objeto que atua como 
um substituto para um objeto de serviço real usado por um cliente para controlar o acesso a ele. O 
comando a seguir mostra um exemplo da utilização do Proxy:
all_clients = proxy.get_all_clients()
for d in all_clients:
     print( f"Nome: {d.nome}, "
              f"DataNcto: {d.datancto}, "
              f"CPF: {d.cpf}, "
              f"EMail: {d.email}, "
              f"Telefone:{d.telefone}")
Esse recorte de comando Proxy tem o objetivo de:
A
Incluir clientes no banco de dados
B
Alterar os clientes no banco de dados
C
Excluir os registros dos clientes no banco de dados
D
Selecionar todos os clientes no banco de dados
Você assinalou essa alternativa (D)
E
Alterar a estrutura da tabela de clientes
Questão 7/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 5]  
Em programação, é bastante comum usarmos um adapter para converter, por exemplo, um padrão 
de armazenamento de arquivos para outro, como converter um arquivo Extensible Markup 
javascript:void(0)
javascript:void(0)
Language(XML) em um JSON, ou então um JSON para um SQLite, ou vice-versa. Vejamos um 
exemplo:
 
# Exemplo de uso
if __name__ == "__main__":
     adapter = JsonSqliteAdapter("data.db")
     adapter.connect()
     data_to_save = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]
     adapter.save_data(data_to_save)
     loaded_data = adapter.load_data()
for item in loaded_data:
     print(item)
     adapter.close()
Esserecorte de comando Adapter tem o objetivo de:
A
Salvar clientes no banco de dados
Você assinalou essa alternativa (A)
B
Alterar os clientes no banco de dados
C
Excluir os registros dos clientes no banco de dados
D Selecionar todos os clientes no banco de dados
E Alterar a estrutura da tabela de clientes
Questão 8/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 6] Uma IDE (Integrated Development Environment), como o PyCharm, desempenha um 
papel crucial no desenvolvimento de software, especialmente para linguagens de programação 
como Python. IDEs oferecem vários recursos aos desenvolvedores que permitem alterar o código, 
salvá-lo automaticamente e ainda reestruturarem o código de forma segura e eficiente, ajudando a 
melhorar sua qualidade e manutenção.
O recurso que permite reestruturação de código é conhecido como:
A Reutilização de código
B
Remanejamento do código
C
Refatoração de código
Você assinalou essa alternativa (C)
D
Distribuição do código
E Debug do código
javascript:void(0)
Questão 9/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 6] Gerar um executável a partir de um código em Python pode simplificar a distribuição, 
melhorar a experiência do usuário e, em certos casos, proteger o código-fonte. Isso torna a prática 
valiosa em uma variedade de contextos, incluindo desenvolvimento de software comercial, 
distribuição de aplicativos e criação de ferramentas de linha de comando.
Vimos no material duas maneiras de gerar executável de um código Python, que são PyInstaller e 
cx_Freeze, que possuem como características:
A PyInstaller implementa funções e cx_Freeze permite utilização de variáveis escaláveis
B
PyInstaller instala o programa e cx_Freeze congela o programa
C
PyInstaller torna possível a utilização de variáveis escaláveis e cx_Freeze permite usar 
codificação direta
D
PyInstaller permite empacotar código Python junto com o interpretador e cx_Freeze é uma 
ferramenta que permite congelar códigos .py criando um executável
Você assinalou essa alternativa (D)
E PyInstaller gera uma página de configurações e cx_Freeze gera congelamento dos atributos
Questão 10/10 - Linguagem de Programação Aplicada
  Ler em voz alta
[Aula 3] O padrão de projetos conhecido como Builder faz parte do grupo de padrões titulado como 
padrões criacionais definidos pelo GoF. O padrão builder é utilizado para construção de objetos 
complexos fazendo-se uso de uma abordagem de desenvolvimento passo a passo. O padrão Builder 
é um padrão de projetos de software comum que é usado para encapsular a lógica de construção de 
um objeto. Este padrão é frequentemente utilizado quando o processo de construção de um objeto é 
considerado complexo e também é adequado quando se trata da construção de representações 
múltiplas de uma mesma classe.  
Relacione os benefícios da abordagem com Padrão Builder: 
1. Director 
2. Classe Builder 
3. Concrete Builder 
4. Product 
(     ) Esta classe especifica uma interface ou uma classe abstrata para a criação das partes de um 
objeto a fim de criar corretamente o produto
(     ) É a classe responsável pela construção e pela montagem das partes do produto por meio da 
implementação da classe builder. Ela define e 
         mantém o controle da representação que a classe cria, além de fornecer uma interface para 
recuperação do produto
(     ) Classe que controla o algoritmo responsável por gerar o objeto do produto. Um objeto 
javascript:void(0)
javascript:void(0)
Director é instanciado e seus métodos construtores são 
         chamados. O método inclui um parâmetro para capturar objetos específicos do tipo Concrete 
Builder que serão então utilizados para gerar o 
         produto
(     ) É a representação do objeto complexo que está sendo construído. O concrete builder então 
constrói a representação interna do produto e 
         define o processo pelo qual essa classe será montada
Agora, selecione a alternativa que apresenta a sequência correta:
A
2 – 4 – 1 – 3
B
1 – 4 – 3 – 2
C
2 – 3 – 1 – 4
Você assinalou essa alternativa (C)
D
4 – 2 – 3 – 1
E
4 – 3 – 2 – 1

Mais conteúdos dessa disciplina