0% acharam este documento útil (0 voto)
52 visualizações18 páginas

Linguagem de Programação

O documento apresenta questões sobre programação em Python e conceitos de algoritmos e estruturas de dados, com o objetivo de avaliar conhecimentos. São abordados tópicos como estruturas condicionais, variáveis, tipos de dados, funções, complexidade de algoritmos e orientação a objetos.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
52 visualizações18 páginas

Linguagem de Programação

O documento apresenta questões sobre programação em Python e conceitos de algoritmos e estruturas de dados, com o objetivo de avaliar conhecimentos. São abordados tópicos como estruturas condicionais, variáveis, tipos de dados, funções, complexidade de algoritmos e orientação a objetos.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 18

Módulo 1

Questão 1
Correta
Questão com problema?

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
Correta
Somente a asserção I está correta.

Comentário

correta

Questão 2
Correta
Questão com problema?

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
Correta
2-1-4-3-7-5-6

Comentário

correta

Questão 3
Correta
Questão com problema?

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
Correta
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.

Comentário

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 4
Correta
Questão com problema?

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
Correta
Uma estrutura condicional encadeada, que dependendo do valor um desconto será
aplicado.

Comentário

correto

Questão 5
Correta
Questão com problema?

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
Correta
O valor armazenado na variável resultado é 7.25

Comentário

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

Módulo 2

Questão 1
Correta
Questão com problema?

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
Correta
meio = (minimo + maximo) // 2

Comentário

correta

Questão 2
Correta
Questão com problema?

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
Correta
for i in range(tamanho_lista):

Comentário

correta

Questão 3
Incorreta
Questão com problema?

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
Incorreta
while lista[j] > lista[j + 1]:

Solução esperada

if lista[j] > lista[j + 1]:

Comentário

if lista[j] > lista[j + 1]:

Questão 4
Correta
Questão com problema?

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
Correta
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.

Comentário

As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.

Questão 5
Correta
Questão com problema?
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
Correta
X: if lista[j] < lista[index_menor]:
Y: index_menor = j

Comentário

correto

Módulo 3

Questão 1
Correta
Questão com problema?

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
Correta
A Figura 1 ilustra de forma gráfica o conceito de herança.

Comentário

correta

Questão 2
Correta
Questão com problema?

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
Correta
V-V-V

Comentário

correta

Questão 3
Incorreta
Questão com problema?

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
Incorreta
Todas as asserções estão corretas.

Solução esperada

Somente a asserção III está correta.

Comentário

Somente a asserção III está correta.

Questão 4
Correta
Questão com problema?

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
Correta
Somente a asserção III está correta.

Comentário

correta

Questão 5
Correta
Questão com problema?

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
Correta
1-6-2-8-3-5-7-4

Comentário

correta

Módulo 4

Questão 1
Incorreta
Questão com problema?

Uma visualização informativa tem como objetivo estabelecer um relacionamento entre o


leito e os dados, buscando apresentar de forma neutra os fatos, com intuito de educar o
leitor, sem necessidade de persuadi-lo. Essas visualizações estão frequentemente
associadas a conjuntos amplos de dados e buscam destilar o conteúdo de maneira
gerenciável e consumível. Idealmente, constituem a maior parte das visualizações
encontradas no cotidiano de pessoas comuns, seja no ambiente de trabalho, em jornais ou
em sites de prestadores 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() para criar gráficos de barras. Ao utilizar
o parâmetro estimator=count, é possível gerar uma barra que representa a contagem
de elementos.
II. O parâmetro "estimator" do método barplot() possui o valor padrão como média. Isso
significa que, ao selecionar os dados, uma barra será exibida representando a média dos
valores correspondentes.
III. O parâmetro estimator=len utilizado no método barplot() cria o mesmo tipo de
gráfico que a função countplot().

Considerando o contexto apresentado, é correto o que se afirma em:

Sua resposta
Incorreta
Somente as asserções II e III estão corretas.

Solução esperada
Somente as asserções I e II estão corretas.

Comentário

Alternativa Correta: Somente as asserções I e II estão corretas. I. A biblioteca


seaborn possui o método barplot() para criar gráficos de barras. Ao utilizar
o parâmetro estimator=count, é possível gerar uma barra que representa a
contagem de elementos. CORRETA. O método barplot() da biblioteca seaborn é
utilizado para criar gráficos de barras. O parâmetro estimator pode ser usado para
modificar o comportamento do gráfico. Ao utilizar o valor count no parâmetro, é
possível construir uma barra que representa a quantidade de elementos. II. O parâmetro
"estimator" do método barplot() possui o valor padrão como média. Isso significa
que, ao selecionar os dados, uma barra será exibida representando a média dos valores
correspondentes. CORRETA. Por padrão, o parâmetro estimator do método barplot() é
configurado para utilizar a média. Isso implica que, caso nenhum valor seja especificado
para esse parâmetro, uma barra representando a média dos valores será exibida. III. O
parâmetro estimator=len utilizado no método barplot() cria o mesmo tipo de gráfico
que a função countplot(). INCORRETA. O parâmetro estimator=len não cria o mesmo
tipo de gráfico que a função countplot(). O countplot() é uma função específica para
exibir a contagem de observações em cada categoria de uma variável categórica. Por
outro lado, o barplot() permite personalizar diferentes estimadores, como média (mean),
mediana (median), soma (sum), mas o parâmetro len não é permitido.

Questão 2
Correta
Questão com problema?

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
Correta
V-V-V

Comentário

correta

Questão 3
Correta
Questão com problema?

Sob uma perspectiva de armazém de dados (data warehouse), o processo de mineração


de dados pode ser visto como um estágio avançado do processamento analítico on-line
(on-line analytical processing – OLAP). Entretanto, a mineração de dados vai muito além
do escopo restrito típico de um OLAP, baseado em métodos de resumo ou sumarização
de dados, incorporando técnicas mais avançadas para a compreensão e a extração de
conhecimentos dos dados (CASTRO, p. 6, 2016). A Figura 1 apresenta um código que
trabalha com dados em Python.
Figura 1 - Trabalho com dados em Python

Fonte: Elaborada pela autora.

Considerando o código na Figura 1,

julgue as afirmativas a seguir em (V) Verdadeiras ou (F) Falsas.

I. ( ) O arquivo dados.csv é estruturado e seus campos são separados por vírgula.


II. ( ) O DataFrame novo_df possui a quantidade de colunas igual ou menor que o
DataFrame df.
III. ( ) O DataFrame novo_df será substituído por um novo DataFrame, cuja quantidade
de linhas será menor ou igual ao novo_df criado na linha 4.

Escolha a opção correta

Sua resposta
Correta
V-V-V

Comentário

correta

Questão 4
Incorreta
Questão com problema?

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 linhas 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
Incorreta
Somente a asserção II está correta.

Solução esperada

Somente a asserção I está correta.

Comentário

Somente a asserção I está correta. II. Na linha 9, o recurso "str" é da estrutura de


dados Series que transforma a coluna "responsável" em letras maiúsculas. Ao selecionar
uma única coluna tem-se uma Series. 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 não será salva no próprio DataFrame, pois não
se passou o parâmetro inplace=True
Questão 5
Correta
Questão com problema?

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
Correta
df_etanol[['ANO', 'JAN', 'FEV']].plot(x='ANO', kind='bar', figsize=(12, 5), rot=45,
fontsize=12)

Comentário

correta

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy