Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 1Errada 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 é 6.5 O valor armazenado na variável resultado é 7.25 a = 5 b = 3 c = 2<br>d = 4 a + b c / d primeiro será feito b c = 9 depois será feito 9 / d = 2.25 por fim, será feito a + 2.25 = 7.25 Questão 2Errada 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. Sua resposta Somente as asserções II e III estão corretas. 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 3Errada 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 4 - 3 - 2 - 1 3 - 4 - 2 - 1 As operações matemáticas possuem a seguinte ordem de precedência: 3. Parênteses. 4. Exponenciação/potência 2. Multiplicação e divisão. 1. Adição e subtração. Questão 4Errada 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 - F - 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 5Correta 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. 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 1Correta 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. 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 2Correta 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 3Correta 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 4Correta Uma pesquisa linear ou exaustiva simplesmente percorre os itens da matriz, procurando o item de destino. Diferentemente da pesquisa binária e da interpolação, a pesquisa linear funciona em listas ligadas, nas quais não é possível pular facilmente de uma parte da lista para outra. Com base na complexidade de algoritmos, avalie as seguintes asserções e a relação proposta entre elas. I. A análise da complexidade está interessa em medir o desempenho de um algoritmo para grandes entradas, ou seja, para o pior caso. PORQUE II. O comportamento assintótico de um algoritmo é o mais procurado, já que, para um volume grande de dados, a complexidade torna-se mais importante 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. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. Questão 5Correta Algoritmos podem ser expressos em pseudocódigo. Pseudocódigo é um texto muito parecido com uma linguagem de programação, mas que não é realmente uma linguagem de programação. A ideia é fornecer a estrutura e os detalhes necessários para implementar o algoritmo no código sem vincular o algoritmo a uma linguagem de programação específica (STEPHENS, 2013). Para implementar uma função que faz a busca linear é preciso seguir os seguintes passos: 1. for elemento in lista: 2. if valor == elemento: 3. def executar_busca_linear(lista, valor): 4. return False 5. return True Assinale a alternativa que apresenta a sequência correta. Sua resposta 3 - 1 - 2 - 5 - 4 3 - 1 - 2 - 4 - 5 3. def executar_busca_linear(lista, valor): 1. for elemento in lista: 2. if valor == elemento: 5. return True 4. return False Questão 1Correta 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 2Correta 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 3 CorretaUm 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 as asserções I e II estão corretas. correta Questão 4Correta 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 5Correta Um banco de dados mal projetado requer mais tempo e retrabalho em longo prazo. Sem planejamento e análise cuidadosa, você pode criar um banco de dados que omita alguns dados exigidos ou que seja inconsistente em relação ao contexto de informações que ele deve refletir (MACHADO, p. 17, 2020). A Figura 1 apresenta um código que interage com um mecanismo de banco de dados relacional em Python. Figura 1 - Banco de dados em Python Fonte: Elaborada pela autora. Considerando o código da Figura 1, avalie as asserções a seguir. I. Ao final da execução do código, o registro com nome "João" e idade "30", será adicionado a tabela cliente e poderá ser recuperado com uma instrução SELECT. II. A instrução SQL na query faz parte das instruções do grupo DDL. III. Segundo a PEP 249, uma instrução SQL deve ser executado por um método chamado execute() através de um objeto do tipo cursor. Assinale a alternativa correta. Sua resposta Somente a asserção III está correta. correta Questão 1Correta A principal função da visualização de dados é mover as informações do ponto A para o ponto B. Na visualização exploratória, o ponto A é o conjunto de dados e o ponto B é a própria mente do designer. Na visualização explicativa, o ponto A é a mente do projetista e o ponto B é a mente do leitor. Para alcançar esse objetivo, um designer ao projetar uma visualização de dados visa uma entrega que será bem recebida e facilmente compreendida pelo leitor. Todas as opções de design e implementações específicas devem servir a esse propósito (ILIINSKY e STEELE, 2011). Figura 1 -Uso da biblioteca matplotlib Fonte: Elaborada pela autora. Considerando o comando e o gráfico da Figura 1 escolha a opção correta. Sua resposta O gráfico da esquerda foi construído com o comando ax[0].plot(x, x) correta 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 bibliotecapandas 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 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 4Correta 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 é um como uma matriz de dados, capaz de armazenar diferentes tipos de dados. 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 é um como um vetor de dados, capaz de armazenar diferentes tipos de dados. Questão 5Correta 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
Compartilhar