Buscar

Linguagem de Programação - Exercicios

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 91 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 91 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 91 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

Page 2 of 2
UNIDADE 1 - Introdução à Linguagem Python
Exercícios da Unidade 1 – Tentativa 1
Questão 1Correta
Em Python pode-se utilizar uma gama muito grande de funções matemáticas. Parte dessas funções está na biblioteca padrão (em inglês, denominada pelo termo buit-in), e outra parte está nas bibliotecas de funções “math” e “cmath”, que fornecem ao pro-gramador uma grande variedade de funções matemáticas prontas (BANIN, p. 38, 2018).
 
As operações matemáticas possuem ordem de precedência:
1. Adição e subtração.
2. Multiplicação e divisão.
3. Parênteses.
4. Exponenciação/potência.
Assinale a alternativa que apresenta a ordem correta de precedência dos operadores matemáticos.
Sua resposta
3 - 4 - 2 - 1
Questão 2Correta
PEP 8 (Python Enhancement Proposal) é um documento que fornece convenções de codificação para o código Python que compreende a biblioteca padrão na distribuição principal do Python.
 
I. Podemos imprimir uma mensagem para o usuário combinando texto e conteúdo da variável da seguinte forma: f"Olá {nome}, seja bem-vindo a linguagem Python."
 
PORQUE
 
II. Uma das formas que a linguagem Python aceita a interpolação de strings é por meio meio das f-strings, comentada na PEP 498.
Escolha a opção correta.
Sua resposta
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Questão 3Correta
Em Python existem três tipos numéricos distintos: números inteiros, números de ponto flutuante e números complexos. Além disso, os booleanos são um subtipo de números inteiros. Números de ponto flutuante são geralmente implementados usando o double em C.
 
Com base na implementação de operações matemáticas em Python, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
 
I. (   ) O resultado da operação matemática 5 + 4 / 2 é 4.5.
II. (   ) O resultado da operação matemática 5 // 2 é 2.
III. (   ) O resultado da operação matemática 5 % 2 é 1.
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
F - V - V
Questão 4Correta
Por controle de fluxo em um programa entende-se a ordem lógica de execução dos comandos que o compõem, bem como os desvios nessa ordem necessários em função de certas condições que possam ocorrer (BANIN, p. 49, 2018)
 
O código a seguir é uma implementação em Python.
if valor <= 1830.29:
    valor -= valor 0.08
elif valor <= 3050.52:
    valor -= valor 0.09
elif valor <= 6101.06:
    valor -= valor 0.11
Considerando o código apresentado, assinale a alternativa que descreve corretamente o que ela representa.
Sua resposta
Uma estrutura condicional encadeada, que dependendo do valor um desconto será aplicado.
Questão 5Correta
Uma loja precisa implementar uma solução para calcular o desconto na compra do cliente. Caso o cliente faça uma compra até R$ 100, o desconto será de 3%. Caso a compra seja até R$ 500, o desconto será de 10%, caso seja até mil o desconto será de 20%.
 
Para fazer a implementaçã em Python é necessário seguir os seguintes passos:
 
1. elif valor <= 500:
2. if valor <= 100:
3. valor -= valor 0.03
4. elif valor <= 1000:
5. valor -= valor 0.10
6. valor -= valor 0.20
7. def calcular_desconto():
8. return valor
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
7 - 2 - 3 - 1 - 5 - 4 - 6 - 8
Exercícios da Unidade 1 – Tentativa 2
Questão 1Correta
Em Python, os números são criados por literais numéricos ou como resultado de funções e operadores internos. Literais inteiros produzem números inteiros. Literais numéricos que contêm um ponto decimal ou um sinal de expoente produzem números de ponto flutuante.
 
O código a seguir é uma expressão matemática implementada na linguagem Python:
a = 5
b = 3
c = 2
d = 4
 
resultado = a + b ** c / d
Considerando o código implementado em Python, qual é o valor armazenado na variável resultado?
Sua resposta
O valor armazenado na variável resultado é 7.25
O valor armazenado na variável resultado é 7.25 a = 5
b = 3
c = 2
d = 4 resultado = a + b ** c / d 1º Passo: b ^ c = 3 ^ 2 = 9 
2º Passo: 9 / d = 9 / 4 = 2.25
3º Passo: a + 2.25 = 5 + 2.25 = 7.25
Questão 2Errada
Processamento de Linguagem Natural (Pln) consiste no desenvolvimento de modelos computacionais para a realização de tarefas que dependem de informações expressas em alguma língua natural (PEREIRA, 2020). Uma empresa necessita de uma solução capaz de contabilizar a quantidade total de caracteres em um texto, bem como em cada frase desse texto.
 
Uma possível solução para a empresa consiste nos seguintes passos:
 
1. resultado = 0
2. def minha_funcao(args):
3. tamanho = len(arg)
4. for arg in args:
5. print(f"Quantidade de caracteres de {arg} = {tamanho}")
6. return resultado
7. resultado += tamanho
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
2 - 3 - 4 - 1 - 6 - 5 - 7
2 - 1 - 4 - 3 - 7 - 5 - 6
Questão 3Errada
Nos últimos 3 anos, o PSF vem trabalhando em projetos financiados por doações para melhorar os sistemas e plataformas internos. Este trabalho foi realizado com o Packaging Working Group e focado no ecossistema PyPI e pip. Dessa forma, foi possível mostrar que a aplicação de financiamento direcionado a projetos de código aberto tem a capacidade de aumentar drasticamente a velocidade do desenvolvimento e levar nossa comunidade adiante de uma maneira muito mais sustentável do que depender apenas de esforços voluntários (Holscher, 2020).
 
O código a seguir é uma implementação em Python.
def minha_funcao(valor):
    for i, c in enumerate(valor):
        if c.lower() == 'a' or c.lower() == 'e':
            print(c, i)
        else:
            continue
Considerando o código apresentado, assinale a alternativa que descreve corretamente o que ele representa.
Sua resposta
Uma função que localiza e exibe a posição de vogais 'a' ou 'e' minúsculas.
Uma função que localiza e exibe a posição de cada vogal 'a' ou 'e', independente se é maiúscula ou minúscula.
Questão 4Correta
A missão da Python Software Foundation é promover, proteger e avançar a linguagem de programação Python, além de apoiar e facilitar o crescimento de uma comunidade diversificada e internacional de programadores Python.
 
O código a seguir é uma implementação em Python.
if valor <= 1830.29:
    valor -= valor 0.08
elif valor <= 3050.52:
    valor -= valor 0.09
elif valor <= 6101.06:
    valor -= valor 0.11
 
Considerando o código apresentado, avalie as asserções a seguir:
I. A estrutura de decisão apresenta uma condição para aplicar desconto em um valor.
II. A segunda condição da estrutura de decisão contempla os valores entre 1830.29 até 3050.52.
III. A terceira condição da estrutura de decisão contempla os valores entre 3050.52 até 6101.06.
Escolha a opção correta.
Sua resposta
Somente a asserção I está correta.
correta
Questão 5Correta
Em Python existem três tipos numéricos distintos: números inteiros, números de ponto flutuante e números complexos. Além disso, os booleanos são um subtipo de números inteiros. Números de ponto flutuante são geralmente implementados usando o double em C.
 
Com base na implementação de operações matemáticas em Python, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
 
I. (   ) O resultado da operação matemática 5 + 4 / 2 é 4.5.
II. (   ) O resultado da operação matemática 5 // 2 é 2.
III. (   ) O resultado da operação matemática 5 % 2 é 1.
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
F - V - V
F - V - V
 
I. (  F ) O resultado da operação matemática 5 + 4 / 2 é 4.5.
Devido a ordem de precedência das operações, o resultado da operação matemática 5 + 4 / 2 é 7.0.
 
II. ( V  ) O resultado da operação matemática 5 // 2 é 2.
 
III. ( V  ) O resultado da operação matemática 5 % 2 é 1.
UNIDADE 2 - Estruturas de Dados em Python
Exercícios da Unidade 2 – Tentativa 1
Questão 1Correta
Em uma pesquisa binária, o algoritmo controla os índices maiores e menores que o item de destino pode ter na sequência. Inicialmente, esses limites (chamados min e max) são 0 e o maior índice da estrutura de dados.
 
Para implementaruma função de busca binária  é necessário seguir os seguintes passos:
1. while minimo <= maximo:
2. if valor < lista[meio]:
3. meio = (minimo + maximo) // 24. else:
5. maximo = meio - 16. minimo = meio + 17. elif valor > lista[meio]:
8. return True
9. return False
10. minimo, maximo = 0, len(lista) - 1
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
10 - 1 - 3 - 2 - 5 - 7 - 6 - 4 - 8 - 9
10 - 1 - 3 - 2 - 5 - 7 - 6 - 4 - 8 - 9
 
10. minimo, maximo = 0, len(lista) - 11. while minimo <= maximo: 3. meio = (minimo + maximo) // 22. if valor < lista[meio]: 5. maximo = meio - 17. elif valor > lista[meio]: 6. minimo = meio + 14. else: 8. return True 9. return False
Questão 2Correta
Um programa de computador é um produto resultante da atividade intelectual de um programador. essa atividade, por sua vez, depende de um treinamento prévio em abstração e modelagem de problemas, bem como do uso da lógica na verificação das soluções (SOUZA. p. 1, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo
Fonte: Elaborada pela autora
Escolha a opção que contém o comando necessário para completar o código, substituindo os "X"
Sua resposta
while j >= 0 and lista[j] > valor_inserir:
Questão 3Errada
O estudo de algoritmos e de lógica de programação é essencial no contexto do processo de criação de um software. ele está diretamente relacionado com a etapa de projeto de um software em que, mesmo sem saber qual será a linguagem de programação a ser utilizada, especifica-se completamente o software a ponto de na implementação ser possível traduzir diretamente essas especificações em linhas de código em alguma linguagem de programação como pascal, C, Java e outras (SOUZA. p. 2, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora.
 
Considerando código na Figura 1, analise as asserções a seguir:
 
I. A função replace() nunca dará um erro do tipo AttributeError, uma vez que o valor sempre é transformado em string pelo seu construtor.
II. Um valor somente será adicionado a nova lista se sua quantidade de caracteres for inferior ou igual a 11.
III. A nova lista terá, no máximo, 11 elementos.
Assinale a alternativa correta.
Sua resposta
Somente as asserções I e II estão corretas.
Somente a asserção I está correta.
Questão 4Correta
Os algoritmos e os tipos de dados devem ser construídos e usados conforme a necessidade do problema. Por exemplo, um inteiro usa bits como seus blocos de constituição, outros objetos podem usar inteiros como seus elementos atômicos. Alguns tipos de dados já estão desenvolvidos em uma linguagem particular, mas outros podem e necessitam ser definidos pelo usuário (DROZDEK, p. 31, 2016).
 
A Figura 1 apresenta a implementação de uma algoritmo de ordenação em Python, com o uso de estruturas de dados.
Figura 1 - Algoritmo de ordenação.
Fonte: Elaborada pela autora
Escolha a opção que contém os comandos necessários para completar o código, substituindo os "X" e "Y"
Sua resposta
X: if lista[j] < lista[index_menor]:
Y: index_menor = j
correto
Questão 5Correta
O objetivo de utilizar um computador é extrair as informações resultantes de computações, isto é, o resultado das execuções das instruções de algum pro-grama. deve-se observar a diferença entre informação e dado: o dado por si só é um valor qualquer armazenado em um computador, enquanto a informação representa a interpretação desse dado, ou seja, qual o seu significado (SOUZA. p. 2, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora
Escolha a opção que contém o comando necessário para completar o código, substituindo os "X"
Sua resposta
meio = (minimo + maximo) // 2
correta
Exercícios da Unidade 2 – Tentativa 2
Questão 1Correta
Segundo Souza (2019) é importante notar que o objetivo do software é que motiva sua construção. este pode ser definido como alguma necessidade humana, por exemplo, um programa para simular o funcionamento de um circuito digital, um programa para comandar um robô em uma linha de montagem, um sistema de gerenciamento de informações em uma empresa (SOUZA. p. 2, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora
Escolha a opção que contém o comando necessário para completar o código, substituindo os "X"
Sua resposta
for i in range(tamanho_lista):
correta
Questão 2Correta
Um algoritmo é uma receita para executar uma determinada tarefa. Uma estrutura de dados é uma maneira de organizar dados para facilitar a solução de um problema específico. Uma estrutura de dados pode ser uma maneira de organizar valores em uma matriz, uma lista vinculada que conecta itens em um determinado padrão, uma árvore, um gráfico, uma rede ou algo ainda mais exótico (STEPHENS, p. 12, 2013).
 
Sobre os algoritmos de busca, avalie as asserções a seguir.
 
I. Um algoritmo que faz a busca sequencial, ou seja, elemento após elemento é chamado de busca binária.
II. Um algoritmo que faz a busca, sempre separando uma sequência em duas novas é chamado de busca sequencial.
III. O algoritmo de busca binária tem um desempenho, em termos de tempo, superior ao da busca sequencial.
Escolha a opção correta.
Sua resposta
Somente a asserção III está correta.
Somente a asserção III está correta.
 
Acertando as alternativas incorretas:
I. Um algoritmo que faz a busca sequencial, ou seja, elemento após elemento é chamado de busca sequencial.
II. Um algoritmo que faz a busca, sempre separando uma sequência em duas novas é chamado de busca binária.
Questão 3Correta
Em uma pesquisa binária, o algoritmo controla os índices maiores e menores que o item de destino pode ter na sequência. Inicialmente, esses limites (chamados min e max) são 0 e o maior índice da estrutura de dados.
 
Para implementar uma função de busca binária  é necessário seguir os seguintes passos:
1. while minimo <= maximo:
2. if valor < lista[meio]:
3. meio = (minimo + maximo) // 24. else:
5. maximo = meio - 16. minimo = meio + 17. elif valor > lista[meio]:
8. return True
9. return False
10. minimo, maximo = 0, len(lista) - 1
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
10 - 1 - 3 - 2 - 5 - 7 - 6 - 4 - 8 - 9
10 - 1 - 3 - 2 - 5 - 7 - 6 - 4 - 8 - 9
 
10. minimo, maximo = 0, len(lista) - 11. while minimo <= maximo: 3. meio = (minimo + maximo) // 22. if valor < lista[meio]: 5. maximo = meio - 17. elif valor > lista[meio]: 6. minimo = meio + 14. else: 8. return True 9. return False
Questão 4Correta
O objetivo de utilizar um computador é extrair as informações resultantes de computações, isto é, o resultado das execuções das instruções de algum pro-grama. deve-se observar a diferença entre informação e dado: o dado por si só é um valor qualquer armazenado em um computador, enquanto a informação representa a interpretação desse dado, ou seja, qual o seu significado (SOUZA. p. 2, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora
Escolha a opção que contém o comando necessário para completar o código, substituindo os "X"
Sua resposta
meio = (minimo + maximo) // 2
correta
Questão 5Correta
O estudo de algoritmos e de lógica de programação é essencial no contexto do processo de criação de um software. ele está diretamente relacionado com a etapa de projeto de um software em que, mesmo sem saber qual será a linguagem de programação a ser utilizada, especifica-se completamente o software a ponto de na implementação ser possível traduzir diretamente essas especificações em linhas de código em alguma linguagem de programação como pascal, C, Java e outras (SOUZA. p. 2, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora.
 
Considerando código na Figura 1, analise as asserções a seguir:
 
I. A função replace() nunca dará um erro do tipo AttributeError, uma vez que o valor sempre é transformadoem string pelo seu construtor.
II. Um valor somente será adicionado a nova lista se sua quantidade de caracteres for inferior ou igual a 11.
III. A nova lista terá, no máximo, 11 elementos.
Assinale a alternativa correta.
Sua resposta
Somente a asserção I está correta.
correta
UNIDADE 3 - Python Orientado a Objetos
Exercícios da Unidade 3 – Tentativa 1
Questão 1Correta
O desenvolvimento de software orientado a objetos (OO) existe desde o início dos anos 1960, mas foi somente em meados da década de 90 que o paradigma orientado a objetos começou a ganhar impulso (Weisfeld, 2013). A Figura 1 apresenta um diagrama do universo da orientação a objetos.
 
Figura 1 - Diagrama
Fonte: Elaborada pela autora.
Sobre a Figura 1, escolha a alternativa correta.
Sua resposta
A Figura 1 ilustra de forma gráfica o conceito de herança.
correta
Questão 2Correta
Podemos considerar uma classe, como uma forma de organizar os dados (de um objeto) e seus comportamentos. Vamos pensar na construção de uma casa, antes do "objeto casa" existir, um arquiteto fez a planta, determinando tudo que deveria fazer parte daquele objeto. Portanto, a classe é o modelo e o objeto é uma instância. Entende-se por instância a existência física, em memória, do objeto.
 
Figura 1 - Diagrama
Fonte: Elaborada pela autora.
 
Considerando a Figura, avalie as asserções a seguir.
I. A Figura A é uma classe com dois atributos e dois métodos.
II. A Figura B é uma classe com dois atributos e dois métodos.
III. A Figura C é uma instância de classe com dois atributos e dois métodos.
Assinale a alternativa correta.
Sua resposta
Somente as asserções I e III estão corretas.
correta
Questão 3Correta
Para utilizar um módulo é preciso importá-lo para projeto. Ao usar a sintaxe: import aaaa, o comando não coloca os nomes das funções definidas em aaaa diretamente na tabela de símbolos atual, isso coloca somente o nome do módulo aaaa. Usando o nome do módulo é possível acessar as funcionalidades (PSF, 2020). A Figura 1 apresenta uma solução que utiliza um módulo de terceiro em Python.
 
Figura 1 - Módulo de terceiro
Fonte: Elaborada pela autora.
 
Considerando o código da Figura 1, avalie as asserções a seguir.
 
I. A variável dados é uma lista de dicionários.
II. Cada item da variável dados possui uma chave chamada 'datetime'.
III. Cada item da variável dados possui uma chave chamada 'bbb' que também é um dicionário.
Escolha  a opção correta.
Sua resposta
Todas as asserções estão corretas.
correta
Questão 4Correta
Um módulo pode conter tanto instruções executáveis quanto definições de funções e classes. Essas instruções servem para inicializar o módulo. Eles são executados somente na primeira vez que o módulo é encontrado em uma instrução de importação (PSF, 2020). A Figura 1, apresenta a implementação com módulo em Python.
 
Figura 1 - Implementação em Python
Fonte: Elaborada pela autora.
 
Sobre o código na Figura 1, avalie as asserções a seguir:
 
I. O arquivo de nome principal.py é um script executável se a variável __name__ tiver o valor __main__
II. create_ssh_client é uma função implementada em um módulo chamado import.
III. Como o arquivo de nome principal.py possui o método main(), ele não pode ser usado como módulo em outro módulo.
Escolha a opção correta
Sua resposta
Somente as asserções I e II estão corretas.
correta
Questão 5Correta
Todos os atributos (colunas) de uma relação devem ser atômicos, isto é, indivisíveis em termos de valores e componentes. Isso significa que não existem colunas do tipo subgrupo; todas são itens elementares, não subdivididos em nenhuma hipótese e que também não é permitida a existência da múltipla ocorrência de valores (multivaloração) em nenhum de seus atributos (colunas). É importante compreender que cada linha de uma tabela representa um objeto, um assunto que é descrito pelos valores de cada uma dessas colunas. Domínio representa o conjunto de valores atômicos admissíveis de um componente (coluna) de uma relação (tabela) (MACHADO, p. 42, 2020)
 
Para fazer uma operação READ em um banco é necessário seguir os seguintes passos:
1. import sqlite3
2. cursor = conn.cursor()
3. cursor.execute(query)
4. print(linha)
5. resultado = cursor.fetchall()
6. conn = sqlite3.connect('meu_banco.db')
7. for linha in resultado:
8. query = "SELECT FROM fornecedor"
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
1 - 6 - 2 - 8 - 3 - 5 - 7 - 4
correta
Exercícios da Unidade 3 – Tentativa 2
UNIDADE 4 - Introdução à Analise de Dados com Python
Exercícios da Unidade 4 – Tentativa 1
Questão 1Correta
Uma visualização informativa serve principalmente ao relacionamento entre o leitor e os dados. Ele visa a uma apresentação neutra dos fatos de maneira a educar o leitor (embora não necessariamente o persuadir). As visualizações informativas são frequentemente associadas a amplos conjuntos de dados e buscam destilar o conteúdo de forma gerenciável e consumível. Idealmente, eles formam a maior parte das visualizações que a pessoa comum encontra no dia-a-dia, seja no trabalho, no jornal ou no site de um provedor de serviços (ILIINSKY e STEELE, 2011).
 
Sobre a biblioteca seaborn, avalie as asserções a seguir.
I. A biblioteca seaborn possui o método barplot(), que é usado para construir gráficos de barras. O parâmetro estimator=count é usado para construir uma barra contando a quantidade de elementos.
II.  O parâmetro "estimator" do método barplot(), possui como valor padrão a média, ou seja, para o dado selecionado, será exibida uma barra com a média dos valores.
III. O parâmetro estimator=len, usado no método barplot() cria o mesmo gráfico da função countplot().
Escolha a opção correta.
Sua resposta
Somente as asserções II e III estão corretas.
Somente as asserções II e III estão corretas.
Questão 2Correta
Uma das etapas do trabalho com dados é a preparação ou pré-processamento, que segundo Castro (2016) quer dizer: "são etapas anteriores à mineração que visam preparar os dados para uma análise eficiente e eficaz. Essa etapa inclui a limpeza (remoção de ruídos e dados inconsistentes), a integração (combinação de dados obtidos a partir de múltiplas fontes), a seleção ou redução (escolha dos dados relevantes à análise) e a transformação (transformação ou consolidação dos dados em formatos apropriados para a mineração)" (CASTRO, p. 5, 2016). A Figura 1, apresenta um código com transformação usando a biblioteca pandas.
 
Figura 1 - Python e biblioteca pandas
Fonte: Elaborada pela autora.
 
Considerando o código apresentado na Figura 1, avalie as asserções a seguir.
I. No código duas novas colunas são acrescentadas ao DataFrame original. O DataFrame atribui a todas as linhas os valores atribuídos as colunas.
II. Na linha 9, usa-se o recurso "str" do DataFrame para transformar a coluna "responsável" em letras maiúsculas.
III. Na linha 10, o método sort_values irá reordenar todas as linhas com base em uma coluna do DataFrame chamada "data", em ordem decrescente. Essa transformação será salva no próprio DataFrame.
Assinale a alternativa correta.
Sua resposta
Somente a asserção I está correta.
correta
Questão 3Correta
O termo mineração de dados, segundo Castro (2016) pode ser definido como: "etapa do processo corresponde à aplicação de algoritmos capazes de extrair conhecimentos a partir dos dados pré-processados. Nessa etapa são usadas técnicas de análise descritiva (medidas de distribuição, tendência central e variância, e métodos de visualização), agrupamento (segmentação de bases de dados), predição (classificação e estimação), associação (determinação de atributos que ocorrem) e detecção de anomalias (CASTRO, p. 5, 2016).
 
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, avalie as asserções a seguir.
I. Para mineração, transformação dos dados e extração de informações é preciso criar filtros. O comando df_dados['taxa'] < 0.01, retorna um DataFrame com o filtro aplicado a coluna.
II. A criação de filtros booleanos compostos na biblioteca pandas, pode serfeita com os operadores lógicos. Nesse caso, usa-se o comando "and" para o o operador E e "or" para o operador OU.
III. O comando df_dados.loc[df_dados['nome'] == "João"], retornará um novo DataFrame, contendo todos os registros cujo valor na coluna "nome" é João.
Escolha a opção correta.
Sua resposta
Somente a asserção III está correta.
correta
Questão 4Correta
De um modo geral, existem duas categorias de visualização de dados: exploração e explicação. Os dois servem a propósitos diferentes e, portanto, existem ferramentas e abordagens que podem ser apropriadas apenas para um e não para o outro. As visualizações exploratórias de dados são apropriadas quando você tem um monte de dados e não tem certeza do que está nele. Esse tipo de visualização geralmente faz parte da fase de análise de dados e é usado para encontrar a história que os dados têm para lhe contar (ILIINSKY e STEELE, 2011). A Figura 1 apresenta um gráfico gerado com biblioteca pandas.
 
Figura 1 - Gráfico gerado com biblioteca pandas
Fonte: Elaborada pela autora.
 
Sobre o gráfico da Figura 1, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
I. (    ) Para gerar o gráfico foi necessário selecionar três colunas.
II. (    ) O parâmetro "rot" foi alterado do seu valor padrão.
III. (    ) No eixo x, foram usados os dados de uma coluna chamada "ANO".
Escolha a opção correta.
Sua resposta
V - V - V
correta
Questão 5Correta
Hoje em dia, somos inundados por dados. Estima-se que a quantidade de nova informação técnica dobre a cada dois anos, e mais de 1,5 hexabyte de informação nova foi gerada nesse ano. Isso é mais que o gerado durante o período de 5 mil anos antes de nascermos. Uma incrível quantidade de dados está prontamente disponível para nós na Internet e em outros locais. As pessoas capazes de analisar essas informações obterão bons empregos, o que será de valor inestimável em quase qualquer campo (LOCK, p. 4, 2017).
 
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, avalie as asserções a seguir.
I. pandas possui duas estruturas de dados que são as principais para a análise/manipulação de dados: a Series e o DataFrame.
II. Uma Series é uma matriz unidimensional, capaz de armazenar apenas dados do tipo inteiro.
III. Um DataFrame é conjunto de Series, ou como a documentação apresenta, um contêiner para Series
Assinale a alternativa correta.
Sua resposta
Somente as asserções I e III estão corretas.
Somente as asserções I e III estão corretas.
  II. Uma Series é uma matriz unidimensional, capaz de armazenar diferentes tipos de dados.
Exercícios da Unidade 4 – Tentativa 2
Questão 1Correta
A quantidade de usuários da internet no mundo todo passou de 16 milhões de pessoas em 1995 para aproximadamente 2,8 bilhões em 2013; a quantidade de artigos publicados apenas em inglês na Wikipédia passou de 500 mil em 2005 para quase 4,4 milhões em 2013; o tempo necessário para o rádio atingir uma audiência de 50 milhões de pessoas foi de 38 anos, ao passo que a TV precisou de 13 anos e a internet, de apenas quatro anos para alcançar esse mesmo número de pessoas; a quantidade de buscas diárias no Google ultrapassa cinco bilhões, são escritos 500 milhões de tuítes por dia e vistas 200 milhões de horas de vídeos no YouTube diariamente. Ainda no YouTube, foram enviadas 13 milhões de horas de vídeo apenas no ano 2010, o que corresponde a aproximadamente oito anos de conteúdo enviados todos os dias (CASTRO, p. 2, 2016).
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
I. (    ) Para construir um objeto do tipo DataFrame, precisamos utilizar o método DataFrame() do pacote pandas, o qual possui uma série de parâmetros. Dentre todos os parâmetros, são obrigatórios dois: data e columns.
II. (    ) É possível construir um DataFrame a partir de uma lista, com o seguinte comando: pd.DataFrame(data=lista_valores, columns=['valores']).
III. (    ) É possível construir um DataFrame com diversas listas, pois cada lista será uma linha no DF. Para isso basta usar o comando: pd.DataFrame(data=[lista1, lista2, lista3], columns=['col1', 'col2', 'col3']).
Assinale a alternativa correta.
Sua resposta
F - V - F
F - V - F
 
I.  Para construir um objeto do tipo DataFrame, precisamos utilizar o método DataFrame() do pacote pandas, o qual possui uma série de parâmetros. Dentre todos os parâmetros, somente o data é obrigatório.
 
III. É possível construir um DataFrame com diversas listas, pois cada lista será uma linha no DF. Para isso é preciso usar a função zip() para criar tuplas, cada uma composta por um valor de cada lista, e a transformamos em uma lista de tuplas.
Questão 2Correta
O termo mineração de dados, segundo Castro (2016) pode ser definido como: "etapa do processo corresponde à aplicação de algoritmos capazes de extrair conhecimentos a partir dos dados pré-processados. Nessa etapa são usadas técnicas de análise descritiva (medidas de distribuição, tendência central e variância, e métodos de visualização), agrupamento (segmentação de bases de dados), predição (classificação e estimação), associação (determinação de atributos que ocorrem) e detecção de anomalias (CASTRO, p. 5, 2016).
 
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, avalie as asserções a seguir.
I. Para mineração, transformação dos dados e extração de informações é preciso criar filtros. O comando df_dados['taxa'] < 0.01, retorna um DataFrame com o filtro aplicado a coluna.
II. A criação de filtros booleanos compostos na biblioteca pandas, pode ser feita com os operadores lógicos. Nesse caso, usa-se o comando "and" para o o operador E e "or" para o operador OU.
III. O comando df_dados.loc[df_dados['nome'] == "João"], retornará um novo DataFrame, contendo todos os registros cujo valor na coluna "nome" é João.
Escolha a opção correta.
Sua resposta
Somente a asserção III está correta.
correta
Questão 3Correta
Uma visualização informativa serve principalmente ao relacionamento entre o leitor e os dados. Ele visa a uma apresentação neutra dos fatos de maneira a educar o leitor (embora não necessariamente o persuadir). As visualizações informativas são frequentemente associadas a amplos conjuntos de dados e buscam destilar o conteúdo de forma gerenciável e consumível. Idealmente, eles formam a maior parte das visualizações que a pessoa comum encontra no dia-a-dia, seja no trabalho, no jornal ou no site de um provedor de serviços (ILIINSKY e STEELE, 2011).
 
Sobre a biblioteca seaborn, avalie as asserções a seguir.
I. A biblioteca seaborn possui o método barplot(), que é usado para construir gráficos de barras. O parâmetro estimator=count é usado para construir uma barra contando a quantidade de elementos.
II.  O parâmetro "estimator" do método barplot(), possui como valor padrão a média, ou seja, para o dado selecionado, será exibida uma barra com a média dos valores.
III. O parâmetro estimator=len, usado no método barplot() cria o mesmo gráfico da função countplot().
Escolha a opção correta.
Sua resposta
Somente as asserções II e III estão corretas.
Somente as asserções II e III estão corretas.
Questão 4Correta
De um modo geral, existem duas categorias de visualização de dados: exploração e explicação. Os dois servem a propósitos diferentes e, portanto, existem ferramentas e abordagens que podem ser apropriadas apenas para um e não para o outro. As visualizações exploratórias de dados são apropriadas quando você tem um monte de dados e não tem certeza do que está nele. Esse tipo de visualização geralmente faz parte da fase de análise de dados e é usado para encontrar a história que os dados têm para lhe contar (ILIINSKY e STEELE, 2011). A Figura 1 apresenta um gráfico gerado com biblioteca pandas.
 
Figura 1 - Gráfico gerado com biblioteca pandas
Fonte: Elaborada pela autora.
 
Sobre o gráfico da Figura 1, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.I. (    ) Para gerar o gráfico foi necessário selecionar três colunas.
II. (    ) O parâmetro "rot" foi alterado do seu valor padrão.
III. (    ) No eixo x, foram usados os dados de uma coluna chamada "ANO".
Escolha a opção correta.
Sua resposta
V - V - V
correta
Questão 5Correta
A visualização explicativa dos dados é apropriada quando você já sabe o que os dados têm a dizer e está tentando contar essa história para outra pessoa. Pode ser o chefe do seu departamento, um comitê de doações ou o público em geral. Quem quer que seja o público, a história que você está tentando contar (ou a resposta que você está tentando compartilhar) é conhecida por você desde o início e, portanto, você pode projetar para acomodar e destacar especificamente essa história. Em outras palavras, você precisa tomar certas decisões editoriais sobre quais informações ficam. Este é um processo de seleção de dados focados que darão suporte à história que você está tentando contar (ILIINSKY e STEELE, 2011).
 
Figura 1 - Gráfico gerado com biblioteca pandas
Fonte: Elaborada pela autora.
Escolha a opção que contém o comando usado para gerar o gráfico da Figura 1.
Sua resposta
df_etanol[['ANO', 'JAN', 'FEV']].plot(x='ANO', kind='bar', figsize=(12, 5), rot=45, fontsize=12)
correta
Perguntas Paulo
Questão 1Correta
Em Python existem três tipos numéricos distintos: números inteiros, números de ponto flutuante e números complexos. Além disso, os booleanos são um subtipo de números inteiros. Números de ponto flutuante são geralmente implementados usando o double em C.
 
Com base na implementação de operações matemáticas em Python, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
 
I. (   ) O resultado da operação matemática 5 + 4 / 2 é 4.5.
II. (   ) O resultado da operação matemática 5 // 2 é 2.
III. (   ) O resultado da operação matemática 5 % 2 é 1.
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
F - V - V
F - V - V
 
I. (  F ) O resultado da operação matemática 5 + 4 / 2 é 4.5.
Devido a ordem de precedência das operações, o resultado da operação matemática 5 + 4 / 2 é 7.0.
 
II. ( V  ) O resultado da operação matemática 5 // 2 é 2.
 
III. ( V  ) O resultado da operação matemática 5 % 2 é 1.
Questão 2Correta
A missão da Python Software Foundation é promover, proteger e avançar a linguagem de programação Python, além de apoiar e facilitar o crescimento de uma comunidade diversificada e internacional de programadores Python.
 
O código a seguir é uma implementação em Python.
if valor <= 1830.29:
    valor -= valor 0.08
elif valor <= 3050.52:
    valor -= valor 0.09
elif valor <= 6101.06:
    valor -= valor 0.11
 
Considerando o código apresentado, avalie as asserções a seguir:
I. A estrutura de decisão apresenta uma condição para aplicar desconto em um valor.
II. A segunda condição da estrutura de decisão contempla os valores entre 1830.29 até 3050.52.
III. A terceira condição da estrutura de decisão contempla os valores entre 3050.52 até 6101.06.
Escolha a opção correta.
Sua resposta
Somente a asserção I está correta.
correta
Questão 3Correta
O INSS é uma autarquia do Governo do Brasil vinculada ao Ministério da Economia que recebe as contribuições para a manutenção do Regime Geral da Previdência Social, responsável pelo pagamento de benefícios aos brasileiros. aposentadorias. Uma empresa precisa construir uma solução para calcular a contribuição do INSS de seus trabalhadores.
 
Para fazer essa implementação em Python são necessários os seguintes comandos:
 
1. valor -= valor 0.08
2. valor -= valor 0.09
3. valor -= valor 0.11
4. if valor <= 1830.29:
5. elif valor <= 6101.06:
6. elif valor <= 3050.52:
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
4 - 1 - 6 - 2 - 5 - 3
correto
Questão 4Correta
Em Python, os números são criados por literais numéricos ou como resultado de funções e operadores internos. Literais inteiros produzem números inteiros. Literais numéricos que contêm um ponto decimal ou um sinal de expoente produzem números de ponto flutuante.
 
O código a seguir é uma expressão matemática implementada na linguagem Python:
a = 5
b = 3
c = 2
d = 4
 
resultado = a + b ** c / d
Considerando o código implementado em Python, qual é o valor armazenado na variável resultado?
Sua resposta
O valor armazenado na variável resultado é 7.25
O valor armazenado na variável resultado é 7.25 a = 5
b = 3
c = 2
d = 4 resultado = a + b ** c / d 1º Passo: b ^ c = 3 ^ 2 = 9 
2º Passo: 9 / d = 9 / 4 = 2.25
3º Passo: a + 2.25 = 5 + 2.25 = 7.25
Questão 5Correta
Uma loja precisa implementar uma solução para calcular o desconto na compra do cliente. Caso o cliente faça uma compra até R$ 100, o desconto será de 3%. Caso a compra seja até R$ 500, o desconto será de 10%, caso seja até mil o desconto será de 20%.
 
Para fazer a implementaçã em Python é necessário seguir os seguintes passos:
 
1. elif valor <= 500:
2. if valor <= 100:
3. valor -= valor 0.03
4. elif valor <= 1000:
5. valor -= valor 0.10
6. valor -= valor 0.20
7. def calcular_desconto():
8. return valor
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
7 - 2 - 3 - 1 - 5 - 4 - 6 - 8
correto
Questão 1Correta
Segundo Souza (2019) é importante notar que o objetivo do software é que motiva sua construção. este pode ser definido como alguma necessidade humana, por exemplo, um programa para simular o funcionamento de um circuito digital, um programa para comandar um robô em uma linha de montagem, um sistema de gerenciamento de informações em uma empresa (SOUZA. p. 2, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora
Escolha a opção que contém o comando necessário para completar o código, substituindo os "X"
Sua resposta
for i in range(tamanho_lista):
correta
Questão 2Correta
Um programa de computador ou simplesmente software é representado pelas instruções e dados que algum ser humano definiu e que, ao serem executados por alguma máquina, cumprem algum objetivo. a máquina a que este texto se refere é um computador digital. (SOUZA. p. 1, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora.
Escolha a opção que contém o comando necessário para completar o código, substituindo os "X"
Sua resposta
if lista[j] > lista[j + 1]:
correta
Questão 3Correta
Um programa de computador é um produto resultante da atividade intelectual de um programador. essa atividade, por sua vez, depende de um treinamento prévio em abstração e modelagem de problemas, bem como do uso da lógica na verificação das soluções (SOUZA. p. 1, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo
Fonte: Elaborada pela autora
Escolha a opção que contém o comando necessário para completar o código, substituindo os "X"
Sua resposta
while j >= 0 and lista[j] > valor_inserir:
correta
Questão 4Correta
O estudo de algoritmos e de lógica de programação é essencial no contexto do processo de criação de um software. ele está diretamente relacionado com a etapa de projeto de um software em que, mesmo sem saber qual será a linguagem de programação a ser utilizada, especifica-se completamente o software a ponto de na implementação ser possível traduzir diretamente essas especificações em linhas de código em alguma linguagem de programação como pascal, C, Java e outras (SOUZA. p. 2, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora.
 
Considerando código na Figura 1, analise as asserções a seguir:
 
I. A função replace() nunca dará um erro do tipo AttributeError, uma vez que o valor sempre é transformado em string pelo seu construtor.
II. Um valor somente será adicionado a nova lista se sua quantidade de caracteres for inferior ou igual a 11.
III. A nova lista terá, no máximo, 11 elementos.
Assinale a alternativa correta.
Sua resposta
Somente a asserção I está correta.
correta
Questão 5Correta
Os algoritmos criadospara resolver o mesmo problema geralmente diferem dramaticamente em sua eficiência. Essas diferenças podem ser muito mais significativas do que as diferenças devido ao hardware e software.
 
O algoritmo a seguir é uma implementação em Python.
def procurar_valor(lista, valor):
    minimo = 0
    maximo = len(lista) - 1
    while minimo <= maximo:
        meio = (minimo + maximo) // 2
        if valor < lista[meio]:
            maximo = meio - 1
        elif valor > lista[meio]:
            minimo = meio + 1
        else:
            return meio
    return None
Considerando a função apresentada é correto o que se afirma em
I. A função representa um algoritmo de busca linear.
II. A função retornará verdadeiro ou falso caso encontre um valor.
III. Na primeira iteração o menor índice a ser considerado é o zero.
Escolha a opção correta.
Sua resposta
Somente a asserção III está correta.
correta
Questão 1Correta
O desenvolvimento de software orientado a objetos (OO) existe desde o início dos anos 1960, mas foi somente em meados da década de 90 que o paradigma orientado a objetos começou a ganhar impulso (Weisfeld, 2013). A Figura 1 apresenta um diagrama do universo da orientação a objetos.
 
Figura 1 - Diagrama
Fonte: Elaborada pela autora.
Sobre a Figura 1, escolha a alternativa correta.
Sua resposta
A Figura 1 ilustra de forma gráfica o conceito de herança.
correta
Questão 2Correta
Requests é uma biblioteca HTTP elegante e simples para Python, criada para seres humanos. Essa biblioteca permite que você envie solicitações HTT / 1.1 com extrema facilidade, pois não há necessidade de adicionar manualmente cadeias de consulta aos seus URLs ou de codificar os dados do POST. O keep-alive e o pool de conexões HTTP são 100% automáticos, graças ao urllib3 (Reitz, 2020). A Figura 1 ilustra a utilização do pacote requests.
 
Figura 1 - Pacote requests.
Fonte: Elaborada pela autora.
 
A respeito do código na Figura 1, avalie as asserções a seguir
I. O método get captura o conteúdo de uma página web, guardando na variável referenciada um dicionário.
II. A variável dados1, guarda todo o conteúdo capturado de uma página web em formato de texto, logo é um objeto da classe str.
III. A variável dados2, guarda todo o conteúdo capturado de uma página web em formato de dicionário, logo é um objeto da classe dict.
Escolha a opção correta
Sua resposta
Somente a asserção II está correta.
correta
Questão 3Correta
O objetivo de um modelo de dados é ter certeza de que todos os objetos de dados existentes em determinado contexto e requeridos pela aplicação e pelo banco de dados estão completamente representados e com precisão. O modelo de dados também deve ser detalhado o bastante para ser usado pelo implementador (DBA) do banco de dados como uma espécie de fotocópia para construir o banco de dados físico. Será utilizada toda a informação que está no modelo de dados lógico para definir as tabelas de um banco de dados relacional, chaves primárias e chaves estrangeiras, procedimentos armazenados (stored procedures) e gatilhos (triggers) (MACHADO, p. 17, 2020).
 
Considerando o mecanismo de banco de dados relacional SQLite em Python, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
 
I. (     ) O comando cursor.fetchall() é usado para capturar as linhas em um tabela, resultantes de uma instrução SQL SELECT.
II. (     ) O comando resultado = cursor.fetchall(), guarda na variável "resultado" uma lista de tuplas, na qual cada tupla é uma linha da tabela no banco de dados.
III. (     ) A estrutura de repetição for, pode ser usada para iterar sobre cada registro capturado com o comando cursor.fetchall().
Assinale a alternativa correta.
Sua resposta
V - V - V
correta
Questão 4Correta
A abordagem relacional representa uma forma de descrever o banco de dados por meio de conceitos matemáticos simples: a Teoria dos Conjuntos. Voltada principalmente a melhorar a visão dos dados pelos usuários, essa abordagem faz com que os usuários vejam o banco de dados como um conjunto de tabelas bidimensionais, originadas em linhas e colunas. O conceito principal vem da Teoria dos Conjuntos atrelado à concepção de que não é relevante ao usuário saber onde os dados estão nem como os dados estão (transparência) (MACHADO, p. 38, 2020).
 
Com base no mecanismo de banco de dados relacional SQLite em Python, avalie as asserções a seguir.
I. CRUD é um acrônimo para as quatro operações de DDL que podemos fazer em uma tabela no banco de dados
II. A primeira letra do CRUD - "C" significa CREATE e é pertinente a operação de criar tabelas em um banco de dados relacional.
III. A segunda letra do CRUD - "R" significa READ e é pertinente a instrução SELECT do SQL.
Assinale a alternativa correta.
Sua resposta
Somente a asserção III está correta.
correta
Questão 5Correta
Todos os atributos (colunas) de uma relação devem ser atômicos, isto é, indivisíveis em termos de valores e componentes. Isso significa que não existem colunas do tipo subgrupo; todas são itens elementares, não subdivididos em nenhuma hipótese e que também não é permitida a existência da múltipla ocorrência de valores (multivaloração) em nenhum de seus atributos (colunas). É importante compreender que cada linha de uma tabela representa um objeto, um assunto que é descrito pelos valores de cada uma dessas colunas. Domínio representa o conjunto de valores atômicos admissíveis de um componente (coluna) de uma relação (tabela) (MACHADO, p. 42, 2020)
 
Para fazer uma operação READ em um banco é necessário seguir os seguintes passos:
1. import sqlite3
2. cursor = conn.cursor()
3. cursor.execute(query)
4. print(linha)
5. resultado = cursor.fetchall()
6. conn = sqlite3.connect('meu_banco.db')
7. for linha in resultado:
8. query = "SELECT FROM fornecedor"
Assinale a alternativa que apresenta a sequência correta.
Sua resposta
1 - 6 - 2 - 8 - 3 - 5 - 7 - 4
correta
Questão 1
Respondida
Requests é uma biblioteca HTTP elegante e simples para Python, criada para seres humanos. Essa biblioteca permite que você envie solicitações HTT / 1.1 com extrema facilidade, pois não há necessidade de adicionar manualmente cadeias de consulta aos seus URLs ou de codificar os dados do POST. O keep-alive e o pool de conexões HTTP são 100% automáticos, graças ao urllib3 (Reitz, 2020). A Figura 1 ilustra a utilização do pacote requests.
 Figura 1 - Pacote requests.
Fonte: Elaborada pela autora.
 
A respeito do código na Figura 1, avalie as asserções a seguir
I. O método get captura o conteúdo de uma página web, guardando na variável referenciada um dicionário.
II. A variável dados1, guarda todo o conteúdo capturado de uma página web em formato de texto, logo é um objeto da classe str.
III. A variável dados2, guarda todo o conteúdo capturado de uma página web em formato de dicionário, logo é um objeto da classe dict.
Escolha a opção correta
· Somente a asserção II está correta.
· Somente a asserção III está correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
· Todas as asserções estão corretas.
Questão 2
Respondida
Podemos considerar uma classe, como uma forma de organizar os dados (de um objeto) e seus comportamentos. Vamos pensar na construção de uma casa, antes do "objeto casa" existir, um arquiteto fez a planta, determinando tudo que deveria fazer parte daquele objeto. Portanto, a classe é o modelo e o objeto é uma instância. Entende-se por instância a existência física, em memória, do objeto.
 Figura 1 - Diagrama
Fonte: Elaborada pela autora.
 Considerando a Figura, avalie as asserções a seguir.
I. A Figura A é uma classe com dois atributos e dois métodos.
II. A Figura B é uma classe com dois atributos e dois métodos.
III. A Figura C é uma instância de classe com dois atributos e dois métodos.
Assinale a alternativa correta.
· Somente a asserção I está correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
· Somente as asserções I e III estão corretas.
· Todas as asserções estão corretas.Questão 3
Respondida
O desenvolvimento de software orientado a objetos (OO) existe desde o início dos anos 1960, mas foi somente em meados da década de 90 que o paradigma orientado a objetos começou a ganhar impulso (Weisfeld, 2013). A Figura 1 apresenta um diagrama do universo da orientação a objetos.
 
Figura 1 - Diagrama
Fonte: Elaborada pela autora.
Sobre a Figura 1, escolha a alternativa correta.
· A Figura 1 ilustra de forma gráfica o conceito de polimorfismo.
· A Figura 1 ilustra de forma gráfica o conceito de herança.
· A Figura 1 ilustra de forma gráfica o conceito de método construtor.
· A Figura 1 ilustra de forma gráfica o conceito de classe e objeto.
· A Figura 1 ilustra de forma gráfica o conceito de atributos.
Questão 4
Respondida
A abordagem relacional representa uma forma de descrever o banco de dados por meio de conceitos matemáticos simples: a Teoria dos Conjuntos. Voltada principalmente a melhorar a visão dos dados pelos usuários, essa abordagem faz com que os usuários vejam o banco de dados como um conjunto de tabelas bidimensionais, originadas em linhas e colunas. O conceito principal vem da Teoria dos Conjuntos atrelado à concepção de que não é relevante ao usuário saber onde os dados estão nem como os dados estão (transparência) (MACHADO, p. 38, 2020).
 
Com base no mecanismo de banco de dados relacional SQLite em Python, avalie as asserções a seguir.
I. CRUD é um acrônimo para as quatro operações de DDL que podemos fazer em uma tabela no banco de dados
II. A primeira letra do CRUD - "C" significa CREATE e é pertinente a operação de criar tabelas em um banco de dados relacional.
III. A segunda letra do CRUD - "R" significa READ e é pertinente a instrução SELECT do SQL.
Assinale a alternativa correta.
· Somente a asserção III está correta.
· Somente as asserções I e II estão corretas.
· Todas as asserções estão corretas.
· Somente as asserções II e III estão corretas.
· Somente as asserções I e III estão corretas.
Questão 5
Respondida
Um módulo pode conter tanto instruções executáveis quanto definições de funções e classes. Essas instruções servem para inicializar o módulo. Eles são executados somente na primeira vez que o módulo é encontrado em uma instrução de importação (PSF, 2020). A Figura 1, apresenta a implementação com módulo em Python.
 
Figura 1 - Implementação em Python
Fonte: Elaborada pela autora.
 Sobre o código na Figura 1, avalie as asserções a seguir:
 I. O arquivo de nome principal.py é um script executável se a variável __name__ tiver o valor __main__
II. create_ssh_client é uma função implementada em um módulo chamado import.
III. Como o arquivo de nome principal.py possui o método main(), ele não pode ser usado como módulo em outro módulo.
Escolha a opção correta
· Somente a asserção II está correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
·  Somente as asserções I e III estão corretas.
· Todas as asserções estão corretas.
Questão 1Correta
A visualização explicativa dos dados é apropriada quando você já sabe o que os dados têm a dizer e está tentando contar essa história para outra pessoa. Pode ser o chefe do seu departamento, um comitê de doações ou o público em geral. Quem quer que seja o público, a história que você está tentando contar (ou a resposta que você está tentando compartilhar) é conhecida por você desde o início e, portanto, você pode projetar para acomodar e destacar especificamente essa história. Em outras palavras, você precisa tomar certas decisões editoriais sobre quais informações ficam. Este é um processo de seleção de dados focados que darão suporte à história que você está tentando contar (ILIINSKY e STEELE, 2011).
 
Figura 1 - Gráfico gerado com biblioteca pandas
Fonte: Elaborada pela autora.
Escolha a opção que contém o comando usado para gerar o gráfico da Figura 1.
Sua resposta
df_etanol[['ANO', 'JAN', 'FEV']].plot(x='ANO', kind='bar', figsize=(12, 5), rot=45, fontsize=12)
correta
Questão 2Correta
Hoje em dia, somos inundados por dados. Estima-se que a quantidade de nova informação técnica dobre a cada dois anos, e mais de 1,5 hexabyte de informação nova foi gerada nesse ano. Isso é mais que o gerado durante o período de 5 mil anos antes de nascermos. Uma incrível quantidade de dados está prontamente disponível para nós na Internet e em outros locais. As pessoas capazes de analisar essas informações obterão bons empregos, o que será de valor inestimável em quase qualquer campo (LOCK, p. 4, 2017).
 
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, avalie as asserções a seguir.
I. pandas possui duas estruturas de dados que são as principais para a análise/manipulação de dados: a Series e o DataFrame.
II. Uma Series é uma matriz unidimensional, capaz de armazenar apenas dados do tipo inteiro.
III. Um DataFrame é conjunto de Series, ou como a documentação apresenta, um contêiner para Series
Assinale a alternativa correta.
Sua resposta
Somente as asserções I e III estão corretas.
Somente as asserções I e III estão corretas.
  II. Uma Series é uma matriz unidimensional, capaz de armazenar diferentes tipos de dados.
Questão 3Correta
Existem várias maneiras de categorizar e pensar em diferentes tipos de visualizações. Uma maneira de classificar uma visualização de dados é contando quantas dimensões diferentes de dados ela representa. Ou seja, qual o número de tipos discretos de informação que são codificados visualmente em um gráfico. Por exemplo, um gráfico de linhas simples pode mostrar o preço das ações de uma empresa em dias diferentes: são duas dimensões de dados. Se várias empresas são mostradas (e, portanto, comparadas), agora existem três dimensões; se o volume de negociação por dia for adicionado ao gráfico, existem quatro. Essa contagem do número de dimensões de dados pode ser descrita como o nível de complexidade da visualização (ILIINSKY e STEELE, 2011). A Figura 1 apresenta um código para criação de gráficos em Python.
 
Figura 1 - Código em Python
Fonte: Elaborada pela autora.
 
Sobre a biblioteca matplotlib, avalie as asserções a seguir.
I. O comando na linha 6, cria uma figura com 1 linha e 2 colunas, ou seja, em cada eixo só podem ser plotados, no máximo, dois gráficos.
II. O comando na linha 6, cria uma figura com 1 linha e 2 colunas, que serão acessados por meio do eixo "ax". Essa variável é um objeto da classe numpy.ndarray, ou seja é um vetor.
III. O eixo "ax" criado pelo comando na linha 6, permite a plotagem de gráficos em posições específicas (linha e coluna), para isso, basta informar através do índice onde se deseja criar o gráfico.
Escolha a opção correta.
Sua resposta
Somente as asserções II e III estão corretas
correta
Questão 4Correta
De um modo geral, existem duas categorias de visualização de dados: exploração e explicação. Os dois servem a propósitos diferentes e, portanto, existem ferramentas e abordagens que podem ser apropriadas apenas para um e não para o outro. As visualizações exploratórias de dados são apropriadas quando você tem um monte de dados e não tem certeza do que está nele. Esse tipo de visualização geralmente faz parte da fase de análise de dados e é usado para encontrar a história que os dados têm para lhe contar (ILIINSKY e STEELE, 2011). A Figura 1 apresenta um gráfico gerado com biblioteca pandas.
 
Figura 1 - Gráfico gerado com biblioteca pandas
Fonte: Elaborada pela autora.
 
Sobre o gráfico da Figura 1, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
I. (    ) Para gerar o gráfico foi necessário selecionar três colunas.
II. (    ) O parâmetro "rot" foi alterado do seu valor padrão.
III. (    ) No eixo x, foram usados os dados de uma coluna chamada "ANO".
Escolha a opção correta.
Sua resposta
V - V - V
correta
Questão 5Correta
A quantidade de usuários da internet no mundo todo passou de 16 milhões de pessoas em 1995 para aproximadamente 2,8 bilhões em 2013; a quantidade de artigos publicados apenas em inglês na Wikipédia passou de500 mil em 2005 para quase 4,4 milhões em 2013; o tempo necessário para o rádio atingir uma audiência de 50 milhões de pessoas foi de 38 anos, ao passo que a TV precisou de 13 anos e a internet, de apenas quatro anos para alcançar esse mesmo número de pessoas; a quantidade de buscas diárias no Google ultrapassa cinco bilhões, são escritos 500 milhões de tuítes por dia e vistas 200 milhões de horas de vídeos no YouTube diariamente. Ainda no YouTube, foram enviadas 13 milhões de horas de vídeo apenas no ano 2010, o que corresponde a aproximadamente oito anos de conteúdo enviados todos os dias (CASTRO, p. 2, 2016).
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
I. (    ) Para construir um objeto do tipo DataFrame, precisamos utilizar o método DataFrame() do pacote pandas, o qual possui uma série de parâmetros. Dentre todos os parâmetros, são obrigatórios dois: data e columns.
II. (    ) É possível construir um DataFrame a partir de uma lista, com o seguinte comando: pd.DataFrame(data=lista_valores, columns=['valores']).
III. (    ) É possível construir um DataFrame com diversas listas, pois cada lista será uma linha no DF. Para isso basta usar o comando: pd.DataFrame(data=[lista1, lista2, lista3], columns=['col1', 'col2', 'col3']).
Assinale a alternativa correta.
Sua resposta
F - V - F
F - V - F
 
I.  Para construir um objeto do tipo DataFrame, precisamos utilizar o método DataFrame() do pacote pandas, o qual possui uma série de parâmetros. Dentre todos os parâmetros, somente o data é obrigatório.
 
III. É possível construir um DataFrame com diversas listas, pois cada lista será uma linha no DF. Para isso é preciso usar a função zip() para criar tuplas, cada uma composta por um valor de cada lista, e a transformamos em uma lista de tuplas.
DisciplinaLinguagem de Programação
Questão 5
Respondida
A quantidade de usuários da internet no mundo todo passou de 16 milhões de pessoas em 1995 para aproximadamente 2,8 bilhões em 2013; a quantidade de artigos publicados apenas em inglês na Wikipédia passou de 500 mil em 2005 para quase 4,4 milhões em 2013; o tempo necessário para o rádio atingir uma audiência de 50 milhões de pessoas foi de 38 anos, ao passo que a TV precisou de 13 anos e a internet, de apenas quatro anos para alcançar esse mesmo número de pessoas; a quantidade de buscas diárias no Google ultrapassa cinco bilhões, são escritos 500 milhões de tuítes por dia e vistas 200 milhões de horas de vídeos no YouTube diariamente. Ainda no YouTube, foram enviadas 13 milhões de horas de vídeo apenas no ano 2010, o que corresponde a aproximadamente oito anos de conteúdo enviados todos os dias (CASTRO, p. 2, 2016).
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.
I. (    ) Para construir um objeto do tipo DataFrame, precisamos utilizar o método DataFrame() do pacote pandas, o qual possui uma série de parâmetros. Dentre todos os parâmetros, são obrigatórios dois: data e columns.
II. (    ) É possível construir um DataFrame a partir de uma lista, com o seguinte comando: pd.DataFrame(data=lista_valores, columns=['valores']).
III. (    ) É possível construir um DataFrame com diversas listas, pois cada lista será uma linha no DF. Para isso basta usar o comando: pd.DataFrame(data=[lista1, lista2, lista3], columns=['col1', 'col2', 'col3']).
Assinale a alternativa correta.
· V - V - F
· V - F - V
· V - F - F
· F - V - V
· F - V - F
Questão 4
Respondida
O termo mineração de dados, segundo Castro (2016) pode ser definido como: "etapa do processo corresponde à aplicação de algoritmos capazes de extrair conhecimentos a partir dos dados pré-processados. Nessa etapa são usadas técnicas de análise descritiva (medidas de distribuição, tendência central e variância, e métodos de visualização), agrupamento (segmentação de bases de dados), predição (classificação e estimação), associação (determinação de atributos que ocorrem) e detecção de anomalias (CASTRO, p. 5, 2016).
 
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, avalie as asserções a seguir.
I. Para mineração, transformação dos dados e extração de informações é preciso criar filtros. O comando df_dados['taxa'] < 0.01, retorna um DataFrame com o filtro aplicado a coluna.
II. A criação de filtros booleanos compostos na biblioteca pandas, pode ser feita com os operadores lógicos. Nesse caso, usa-se o comando "and" para o o operador E e "or" para o operador OU.
III. O comando df_dados.loc[df_dados['nome'] == "João"], retornará um novo DataFrame, contendo todos os registros cujo valor na coluna "nome" é João.
Escolha a opção correta.
· Somente a asserção I está correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
· Somente a asserção III está correta.
· Todas as asserções estão corretas.
Questão 3
Respondida
A visualização explicativa dos dados é apropriada quando você já sabe o que os dados têm a dizer e está tentando contar essa história para outra pessoa. Pode ser o chefe do seu departamento, um comitê de doações ou o público em geral. Quem quer que seja o público, a história que você está tentando contar (ou a resposta que você está tentando compartilhar) é conhecida por você desde o início e, portanto, você pode projetar para acomodar e destacar especificamente essa história. Em outras palavras, você precisa tomar certas decisões editoriais sobre quais informações ficam. Este é um processo de seleção de dados focados que darão suporte à história que você está tentando contar (ILIINSKY e STEELE, 2011).
 
Figura 1 - Gráfico gerado com biblioteca pandas
Fonte: Elaborada pela autora.
Escolha a opção que contém o comando usado para gerar o gráfico da Figura 1.
· df_etanol[['ANO', 'JAN', 'FEV']].plot(x='ANO', kind='bar', figsize=(12, 5), rot=45, fontsize=12)
· df_etanol.loc[['ANO', 'JAN', 'FEV']].plot(x='ANO', kind='bar', figsize=(12, 5), fontsize=12)
· df_etanol[['ANO', 'JAN', 'FEV']].plot(x='ANO', kind='barh', figsize=(12, 5), rot=45, fontsize=12)
· df_etanol.loc[['ANO', 'JAN', 'FEV']].plot(x='ANO', kind='barh', rot=45, figsize=(12, 5), fontsize=12)
· df_etanol['ANO', 'JAN', 'FEV'].plot(x='ANO', kind='bar', figsize=(12, 5), rot=45, fontsize=12)
Questão 2
Respondida
Hoje em dia, somos inundados por dados. Estima-se que a quantidade de nova informação técnica dobre a cada dois anos, e mais de 1,5 hexabyte de informação nova foi gerada nesse ano. Isso é mais que o gerado durante o período de 5 mil anos antes de nascermos. Uma incrível quantidade de dados está prontamente disponível para nós na Internet e em outros locais. As pessoas capazes de analisar essas informações obterão bons empregos, o que será de valor inestimável em quase qualquer campo (LOCK, p. 4, 2017).
 
Sobre a utilização da biblioteca pandas voltada para o trabalho com dados na linguagem Python, avalie as asserções a seguir.
I. pandas possui duas estruturas de dados que são as principais para a análise/manipulação de dados: a Series e o DataFrame.
II. Uma Series é uma matriz unidimensional, capaz de armazenar apenas dados do tipo inteiro.
III. Um DataFrame é conjunto de Series, ou como a documentação apresenta, um contêiner para Series
Assinale a alternativa correta.
· Somente a asserção III está correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
· Todas as asserções estão corretas.
· Somente as asserções I e III estão corretas.
Questão 1
Respondida
Existem várias maneiras de categorizar e pensar em diferentes tipos de visualizações. Uma maneira de classificar uma visualização de dados é contando quantas dimensões diferentes de dados ela representa. Ou seja, qual o número de tipos discretos de informação que são codificados visualmente em um gráfico. Por exemplo, um gráfico de linhas simples pode mostrar o preço das ações deuma empresa em dias diferentes: são duas dimensões de dados. Se várias empresas são mostradas (e, portanto, comparadas), agora existem três dimensões; se o volume de negociação por dia for adicionado ao gráfico, existem quatro. Essa contagem do número de dimensões de dados pode ser descrita como o nível de complexidade da visualização (ILIINSKY e STEELE, 2011). A Figura 1 apresenta um código para criação de gráficos em Python.
 
Figura 1 - Código em Python
Fonte: Elaborada pela autora.
 
Sobre a biblioteca matplotlib, avalie as asserções a seguir.
I. O comando na linha 6, cria uma figura com 1 linha e 2 colunas, ou seja, em cada eixo só podem ser plotados, no máximo, dois gráficos.
II. O comando na linha 6, cria uma figura com 1 linha e 2 colunas, que serão acessados por meio do eixo "ax". Essa variável é um objeto da classe numpy.ndarray, ou seja é um vetor.
III. O eixo "ax" criado pelo comando na linha 6, permite a plotagem de gráficos em posições específicas (linha e coluna), para isso, basta informar através do índice onde se deseja criar o gráfico.
Escolha a opção correta.
· Todas as asserções estão corretas.
· Somente a asserção III está correta.
· Somente as asserções I e II estão corretas.
.
· Somente as asserções I e III estão corretas.
· Somente as asserções II e III estão corretas
Prova Fumio
Questão 1
Respondida
A missão da Python Software Foundation é promover, proteger e avançar a linguagem de programação Python, além de apoiar e facilitar o crescimento de uma comunidade diversificada e internacional de programadores Python.
 
O código a seguir é uma implementação em Python.
if valor <= 1830.29:
    valor -= valor 0.08
elif valor <= 3050.52:
    valor -= valor 0.09
elif valor <= 6101.06:
    valor -= valor 0.11
 
Considerando o código apresentado, avalie as asserções a seguir:
I. A estrutura de decisão apresenta uma condição para aplicar desconto em um valor.
II. A segunda condição da estrutura de decisão contempla os valores entre 1830.29 até 3050.52.
III. A terceira condição da estrutura de decisão contempla os valores entre 3050.52 até 6101.06.
Escolha a opção correta.
· Somente as asserções I e II estão corretas.
·  Somente as asserções II e III estão corretas.
· Somente as asserções I e III estão corretas.
·  Todas as asserções estão corretas.
· Somente a asserção I está correta.
Sua resposta
Somente a asserção I está correta.
correta
Questão 2
Respondida
O objetivo de utilizar um computador é extrair as informações resultantes de computações, isto é, o resultado das execuções das instruções de algum pro-grama. deve-se observar a diferença entre informação e dado: o dado por si só é um valor qualquer armazenado em um computador, enquanto a informação representa a interpretação desse dado, ou seja, qual o seu significado (SOUZA. p. 2, 2019).
 
O código a seguir é uma implementação em Python.
Figura 1 - Algoritmo em Python
Fonte: Elaborada pela autora
Escolha a opção que contém o comando necessário para completar o código, substituindo os "X"
· meio = minimo
· meio = maximo
· meio = (minimo + maximo) % 2
· meio = (minimo + maximo) // 2
· meio = maximo - minimo
Sua resposta
meio = (minimo + maximo) // 2
correta
Questão 3
Respondida
Uma empresa necessita implementar uma solução para calcular o valor final de uma compra. Essa solução, precisa ter a flexibilidade de receber um valor, a taxa do cartão de crédito (quando a compra for paga com cartão) e um valor de desconto (quando houver). Ou seja, existem parâmetros que são obrigatórios e outros não. Por exemplo, se o cliente pagar em dinheiro, então não existe taxa de cartão.
Escolha a opção que apresenta uma solução correta para o problema exposto.
· def minha_funcao(valor, kwargs):
    taxa_cartao = kwargs.get('taxa_cartao')
    desconto = kwargs.get('desconto')
    if taxa_cartao:
        valor += valor (taxa_cartao / 100)
    if desconto:
        valor -= desconto
    return valor
· def minha_funcao(valor, args):
    taxa_cartao = kwargs.get('taxa_cartao')
    desconto = kwargs.get('desconto')
    if taxa_cartao:
        valor += valor (taxa_cartao / 100)
    if desconto:
        valor -= desconto
    return valor
· def minha_funcao(valor, taxa_cartao, desconto):
    valor += valor (taxa_cartao / 100)
    valor -= desconto
    return valor
· def minha_funcao(args):
    taxa_cartao = kwargs.get('taxa_cartao')
    desconto = kwargs.get('desconto')
    if taxa_cartao:
        valor += valor (taxa_cartao / 100)
    if desconto:
        valor -= desconto
    return valor
· def minha_funcao(args):
    valor = args[0]
    taxa_cartao = args[1]
    desconto = args[2]
    valor += valor (taxa_cartao / 100)
    valor -= desconto
    return valor
Sua resposta
def minha_funcao(valor, kwargs):
    taxa_cartao = kwargs.get('taxa_cartao')
    desconto = kwargs.get('desconto')
    if taxa_cartao:
        valor += valor (taxa_cartao / 100)
    if desconto:
        valor -= desconto
    return valor
Correto
Questão 4
Respondida
Um módulo pode conter tanto instruções executáveis quanto definições de funções e classes. Essas instruções servem para inicializar o módulo. Eles são executados somente na primeira vez que o módulo é encontrado em uma instrução de importação (PSF, 2020). A Figura 1, apresenta a implementação com módulo em Python.
 
Figura 1 - Implementação em Python
Fonte: Elaborada pela autora.
 
Sobre o código na Figura 1, avalie as asserções a seguir:
 
I. O arquivo de nome principal.py é um script executável se a variável __name__ tiver o valor __main__
II. create_ssh_client é uma função implementada em um módulo chamado import.
III. Como o arquivo de nome principal.py possui o método main(), ele não pode ser usado como módulo em outro módulo.
Escolha a opção correta
· Somente a asserção II está correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
·  Somente as asserções I e III estão corretas.
· Todas as asserções estão corretas.
Sua resposta
Somente as asserções I e II estão corretas.
correta
Questão 5
Respondida
Para utilizar um módulo é preciso importá-lo para projeto. Ao usar a sintaxe: import aaaa, o comando não coloca os nomes das funções definidas em aaaa diretamente na tabela de símbolos atual, isso coloca somente o nome do módulo aaaa. Usando o nome do módulo é possível acessar as funcionalidades (PSF, 2020). A Figura 1 apresenta uma solução que utiliza um módulo de terceiro em Python.
 
Figura 1 - Módulo de terceiro
Fonte: Elaborada pela autora.
 
Considerando o código da Figura 1, avalie as asserções a seguir.
 
I. A variável dados é uma lista de dicionários.
II. Cada item da variável dados possui uma chave chamada 'datetime'.
III. Cada item da variável dados possui uma chave chamada 'bbb' que também é um dicionário.
Escolha  a opção correta.
· Somente a asserção I está correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
· Somente as asserções I e III estão corretas.
· Todas as asserções estão corretas.
Sua resposta
Todas as asserções estão corretas.
correta
Questão 6
Sem resposta
Todo algoritmo que se possa construir utilizará conjuntos de dados. Tais dados podem ser, basicamente, números e caracteres isolados ou, de algum modo, agrupados.
Para que um algoritmo possa ser implementado em um computador, é preciso que exista um meio de armazenamento dos dados que serão manipulados. Assim, chega-se ao conceito existente em todas as linguagens de programação e que é usualmente designado pelo termo “variável” (BANIN, p. 26, 2018).
 
Considerando a linguagem Python, analise as asserções a seguir:
 
I. A função type() é usada para descobrir o tipo de um objeto.
II. A variável x = 10, é do tipo primitivo integer.
III. A variável y = 'oi' é do tipo primitivo string.
Escolha a opção correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
· Somente as asserções I e III estão corretas.
· Todas as asserções estão corretas.
· Somente a asserçãoI está correta.
Sua resposta
Somente a asserção I está correta.
Somente a asserção I está correta.
 
(correta) I. A função type() é usada para descobrir o tipo de um objeto.
 
(incorreta) II. A variável x = 10, é do tipo primitivo integer.
A variável x = 10, é um objeto da classe int.
 
(incorreta) III. A variável y = 'oi' é do tipo primitivo string.
A variável  y= 'oi' , é um objeto da classe str.
Questão 7
Sem resposta
Os algoritmos criados para resolver o mesmo problema geralmente diferem dramaticamente em sua eficiência. Essas diferenças podem ser muito mais significativas do que as diferenças devido ao hardware e software.
 
O algoritmo a seguir é uma implementação em Python.
def procurar_valor(lista, valor):
    minimo = 0
    maximo = len(lista) - 1
    while minimo <= maximo:
        meio = (minimo + maximo) // 2
        if valor < lista[meio]:
            maximo = meio - 1
        elif valor > lista[meio]:
            minimo = meio + 1
        else:
            return meio
    return None
Considerando a função apresentada é correto o que se afirma em
I. A função representa um algoritmo de busca linear.
II. A função retornará verdadeiro ou falso caso encontre um valor.
III. Na primeira iteração o menor índice a ser considerado é o zero.
Escolha a opção correta.
· Somente a asserção I está correta.
· Somente a asserção II está correta.
· Somente a asserção III está correta.
· Somente as asserções I e II estão corretas.
· Somente as asserções II e III estão corretas.
Sua resposta
Somente a asserção III está correta.
correta
Questão 8
Sem resposta
Em um projeto, existe uma etapa que decide que estrutura de dados deveria ser usada para tornar a execução mais eficiente em relação a tempo e espaço. Um item especificado em termos de operações é chamado tipo abstrato de dados, que não é parte de um programa, já que um programa escrito em linguagem de programação exige a definição de uma estrutura de dados, não apenas das operações nesta estrutura (DROZDEK, p. 1, 2016).
 
Sobre estruturas de dados em Python, avalie as asserções a seguir:
I. Dada a tupla frutas = ("maça", "banana", "uva"), a função append() pode ser usada para adicionar uma nova fruta a estrutura.
II. Dada a variável numeros = [2, 3], o comando map(lambda x: 2  x, numeros) retornará o resultado [4, 6]
III. A função filter() tem as mesmas características da função map(), mas ao invés de usarmos uma função para transformar os valores da lista, usamos para filtrar.
Escolha a opção correta.
· Somente a asserção I está correta.
· Somente a asserção II está correta.
· Somente as asserções I e II estão corretas.
·  Todas as asserções estão corretas.
· Somente a asserção III está correta.
Sua resposta
Somente a asserção III está correta.
Somente a asserção III está correta.
 
Corrigindo as demais tem-se:
 
I. Dada a tupla frutas = ("maça", "banana", "uva"), a função append() não pode ser usada para adicionar uma nova fruta a estrutura, pois a tupla é imutável.
II. Dada a variável numeros = [2, 3], o comando map(lambda x: 2  x, numeros) retornará um objeto iterável, portanto, para ver o resultado pode ser usado o construtor list() para transformar: list(map(lambda x: 2  x, numeros)).
Questão 9
Sem resposta
PEP 8 (Python Enhancement Proposal) é um documento que fornece convenções de codificação para o código Python que compreende a biblioteca padrão na distribuição principal do Python.
 
I. Podemos imprimir uma mensagem para o usuário combinando texto e conteúdo da variável da seguinte forma: f"Olá {nome}, seja bem-vindo a linguagem Python."
 
PORQUE
 
II. Uma das formas que a linguagem Python aceita a interpolação de strings é por meio meio das f-strings, comentada na PEP 498.
Escolha a opção correta.
· As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
· A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
· A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
· As asserções I e II são proposições falsas.
· As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Sua resposta
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Somente a asserção I está correta.
 
(correta) I. A função type() é usada para descobrir o tipo de um objeto.
 
(incorreta) II. A variável x = 10, é do tipo primitivo integer.
A variável x = 10, é um objeto da classe int.
 
(incorreta) III. A variável y = 'oi' é do tipo primitivo string.
A variável  y= 'oi' , é um objeto da classe str.
Questão 10
Sem resposta
Todos os atributos (colunas) de uma relação devem ser atômicos, isto é, indivisíveis em termos de valores e componentes. Isso significa que não existem colunas do tipo subgrupo; todas são itens elementares, não subdivididos em nenhuma hipótese e que também não é permitida a existência da múltipla ocorrência de valores (multivaloração) em nenhum de seus atributos (colunas). É importante compreender que cada linha de uma tabela representa um objeto, um assunto que é descrito pelos valores de cada uma dessas colunas. Domínio representa o conjunto de valores atômicos admissíveis de um componente (coluna) de uma relação (tabela) (MACHADO, p. 42, 2020)
 
Para fazer uma operação READ em um banco é necessário seguir os seguintes passos:
1. import sqlite3
2. cursor = conn.cursor()
3. cursor.execute(query)
4. print(linha)
5. resultado = cursor.fetchall()
6. conn = sqlite3.connect('meu_banco.db')
7. for linha in resultado:
8. query = "SELECT FROM fornecedor"
Assinale a alternativa que apresenta a sequência correta.
· 1 - 3 - 5 - 4 - 7 - 2 - 8 - 6
· 1 - 6 - 2 - 8 - 3 - 5 - 7 - 4
· 8 - 7 - 6 - 3 - 1 - 5 - 2 - 4
· 1 - 5 - 2 - 3 - 7 - 8 - 6 - 4
· 1 - 8 - 7 - 3 - 2 - 5 - 4 - 6
Sua resposta
1 - 6 - 2 - 8 - 3 - 5 - 7 - 4
correta
·

Continue navegando