Buscar

Programação Funcional em Python

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PYTHON AVANÇADO ESP ► Avaliação ► PROVA
Data de inicio quinta, 28 Jul 2022, 17:21
Estado Finalizada
Data de conclusão quinta, 28 Jul 2022, 18:58
Tempo empregado 1 hora 37 minutos
Nota 4,80 de um máximo de 8,00(60%)
https://moodle.universoead.com.br/course/view.php?id=1077
https://moodle.universoead.com.br/mod/quiz/view.php?id=24029
Questão 1
Correto
Atingiu 0,80 de
0,80
É legal para uma função chamar outra; também é
legal para uma função chamar a si própria. Pode
não ser óbvio porque isso é uma coisa boa, mas na
verdade é uma das coisas mais mágicas que um
programa pode fazer. 
DOWNEY, Allen B.; EM PYTHON. Pense como um
cientista da computação. São Paulo: Novatec,
2016.
Considerando os conceitos de programação
recursiva é correto a�rmar que:
I. Uma função que chama outra função com
uma declaração diferente a ela é dita função
recursiva
II. Uma função que chama a si mesma é dita
recursiva
III. Uma função que chama a si mesma é dita
função de currying
IV. O processo de executar uma função recursiva
é chamado de recursividade
É correto o que se a�rma em:
Escolha uma:
a. I.
b. I e II
c. III e IV
d. II e IV 
e. I, II, III, IV
Sua resposta está correta.
Feedback: Correta d.
DOWNEY, Allen B.; EM PYTHON, Pense. pense
como um cientista da computação. São Paulo:
Novatec, 2016.
A�rma que uma função que chama a si mesma é
dita recursiva; o processo para executá-la é a
recursividade. 
A criação de funções Currying é a transformação
de uma função com vários argumentos em uma
sequência de funções de argumento único.
A resposta correta é: II e IV.
Questão 2
Correto
Atingiu 0,80 de
0,80
A biblioteca Matplotlib tem como objetivo gerar
visualizações informativas, chamadas de
plotagens. Este passo é uma das tarefas mais
importantes em análise de dados. Essa tarefa faz
parte do processo exploratório, para ajudar a
identi�car valores discrepantes (outliers) ou
transformações necessárias nos dados, ou como
uma forma de gerar ideias modelos.
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Sobre a plotagem de grá�cos com pandas e
Matplotlib, assinale a alternativa correta.
Escolha uma:
a. por padrão da o método plot() do
DataFrame e Series invoca a biblioteca
Matplotlib exibindo grá�co de linhas. 
b. por padrão o eixo x do gŕ�co de um
DataFrame é a primeira coluna.
c. o parâmetro xticker desabilita o uso do
index como pardẽo para o eixo x.
d. o método plot de DataFrame plota cada
uma de suas linhas como como barras.
e. o método plot da Series plota a legenda do
grá�co automaticamente.
Sua resposta está correta.
Feedback: Correta a.
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Series e DataFrame têm um atributo de plotagem
para fazer alguns tipos básicos de plotagem. Por
padrão, plot() faz grá�cos de linha. O índice do
objeto Series é passado para matplotlib para
plotagem no eixo x, embora você possa desabilitar
isso passando use_index=False . Os ticks e limites
do eixo x podem ser ajustados com as opções
xticks e xlim, e o eixo y respectivamente com yticks
e ylim. A maioria dos métodos de plotagem dos
pandas aceita um parâmetro opcional ax, que
pode ser um objeto subplot matplotlib. Isso
oferece um posicionamento mais �exível de
subtramas em um layout de grade. O método de
plotagem do DataFrame plota cada uma de suas
colunas como uma linha diferente na mesma
subtrama, criando uma legenda automaticamente
Questão 3
Correto
Atingiu 0,80 de
0,80
A resposta correta é: por padrão da o método
plot() do DataFrame e Series invoca a biblioteca
Matplotlib exibindo grá�co de linhas..
De forma geral, escreva funções puras sempre que
achar razoável e recorra a modi�cadores só se
houver alguma vantagem clara. Esta abordagem
pode ser chamada de programação funcional.
DOWNEY, Allen B.; EM PYTHON, Pense como um
cientista da computação. São Paulo: Novatec,
2016.
Sobre programação funcional é correto a�rmar:
Escolha uma:
a. A programação funcional é um dialeto da
programação imperativa.
b. A programação funcional representa o um
modo de programação para IA (inteligência
Arti�cial).
c. O objetivo da programação funcional é
simular funções matemáticas. 
d. Com programação funcional podemos
passar uma função como argumento para
outra função .
e. O termo closure é usado para representar
funções puras.
Sua resposta está correta.
Feedback: Correta c.
SEBESTA, Robert W. Conceitos de Linguagem de
Programação. 4º edição. 2000.
A programação funcional decompõe um problema
em um conjunto de funções. Idealmente, as
funções apenas recebem entradas e produzem
saídas, e não têm nenhum estado interno que
afete a saída produzida para uma determinada
entrada. O objetivo da programação funcional é
simular funções matemáticas. Esse objetivo resulta
em uma abordagem para a solução de problemas
fundamentalmente diferente de abordagens
usadas com linguagens imperativas.
A resposta correta é: O objetivo da programação
funcional é simular funções matemáticas..
Questão 4
Incorreto
Atingiu 0,00 de
0,80
Usar o símbolo @ é equivalente a chamar o
decorador na função que ele envolve e atribuir o
valor de retorno ao nome original no mesmo
escopo. 
SLATKIN, Brett. E�ective python: 90 speci�c ways
to write better python. Addison-Wesley
Professional, 2019.
Sobre uma função recursiva decorada com @trace,
podemos a�rmar que:
Escolha uma:
a. Ele decora a função para gerar um rastreio
da função recursiva. 
b. Ele faz uma chamada a outra função.
c. Ele realiza uma operação de salvar a
recursão em um arquivo.
d. Ele imprime os argumentos e o valor de
retorno da função recursiva.
e. Ele salva os valores da função recursiva para
tratamento posterior.
Sua resposta está incorreta.
Feedback: Correta d.
SLATKIN, Brett. E�ective python: 90 speci�c ways
to write better python. Addison-Wesley
Professional, 2019.
Ele imprime os argumentos e o valor de retorno
em cada nível na pilha recursiva. 
A resposta correta é: Ele imprime os argumentos e
o valor de retorno da função recursiva..
Questão 5
Incorreto
Atingiu 0,00 de
0,80
O pandas é uma ferramenta de análise e
manipulação de dados de código aberto rápida,
poderosa, �exível e fácil de usar, desenvolvida com
base na linguagem de programação Python. 
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Com Pandas o(s) principal(is) objetivo(s) é/são.
I. Realizar consultas web HTTP.
II. Manipular dados como se fossem uma
planilha.
III. Modelar dados de uma forma matricial, com
linhas e colunas.
IV. Armazenar e persistir dados estruturados.
Assinale a alternativa correta:
Escolha uma:
a. I e II 
b. II e III 
c. II e IV 
d. II, III e IV 
e. I, II, III, e IV 
Sua resposta está incorreta.
Feedback: Correta b.
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Pandas não tem como objetivo realizar consultas
web. Os pandas não tem o objetivo ser uma
ferramenta para armazenar dados estruturados. O
pandas contém estruturas de dados e ferramentas
de manipulação de dados projetadas para tornar a
limpeza e a análise de dados rápidas e fáceis em
Python. pandas é frequentemente usado em
conjunto com ferramentas de computação
numérica como NumPy e SciPy, bibliotecas
analíticas como statsmodels e scikit-learn e
bibliotecas de visualização de dados como
matplotlib.
A resposta correta é: II e III .
Questão 6
Incorreto
Atingiu 0,00 de
0,80
No paradigma de programação funcional, algumas
das funções de ordem superior mais conhecidas
são: map, �lter, reduce.
RAMALHO, Luciano. Fluent Python 2nd ed. 2015.
Dado as funções de ordem superior, avalie as
a�rmações a seguir como (V)
para verdadeiras e (F) para falsas:
I. A função �lter() retorna um objeto de map dos
resultados após aplicar a função dada a cada item
de um dado iterável
II. A função reduce() é usada para aplicar uma
funçãoespecí�ca passada em seu argumento a
todos os elementos da lista mencionados na
sequência passada e o retorno é um único
elemento.
III. O função map() �ltra a sequência dada com a
ajuda de uma função que testa cada elemento na
sequência para ser verdadeiro ou não.
As a�rmações I, II e III são, respectivamente:
Escolha uma:
a. V, F, V
b. F, V, V
c. F, F, V
d. F, V, F 
e. V, F, F
Sua resposta está incorreta.
Feedback: Correta a.
RAMALHO, Luciano. Fluent Python 2nd ed. 2015.
No Python 3, map e �lter retornam geradores –
uma forma de iterador – então seu substituto
direto agora é uma expressão geradora (no Python
2, essas funções retornam listas, portanto, sua
alternativa mais próxima é um listcomp). A função
reduce foi rebaixada de um built-in em Python 2
para o módulo functools em Python 3. Seu caso de
uso mais comum, summation, é melhor servido
pelo sum built-in disponível desde que o Python
2.3 foi lançado em 2003. Este é um grande vitoria
em termos de legibilidade e desempenho.
A resposta correta é: V, F, V.
Questão 7
Correto
Atingiu 0,80 de
0,80
StopIteration sinaliza que o iterador está esgotado.
Essa exceção é tratada internamente em loops for
e outros contextos de iteração, como
compreensão de lista, descompactação de tupla,
etc.
RAMALHO, Luciano. Fluent Python 2nd ed. 2015.
Sobre funções objetos iteradores em Python,
podemos a�rmar que:
Escolha uma:
a. O objetos iteradores são uma especialização
dos objetos iteráveis, ou seja ele é uma
abstração de um iterável.
b. O método next(), retorna o próximo item do
iterador. 
c. A implementação de um objeto iterador faz
parte de um padrão de projeto chamado
Singleton.
d. Os objetos de tipo map e �lter não
implementam a classe dos iteradores.
e. A principal diferença dos iteráveis e dos
iteradores é que os iteráveis possuem um
método __getitem__ que pode ser usada como
chave e os iteradores não possuem essa
chave.
Sua resposta está correta.
Feedback: Correta b.
RAMALHO, Luciano. Fluent Python 2nd ed. 2015.
A interface padrão para um iterador tem dois
métodos:
__next__ retorna o próximo item disponível,
aumentando StopIteration quando não houver
mais itens.
__iter__ retorna a si mesmo; isso permite que
iteradores sejam usados onde um iterável é
esperado, por exemplo, em um loop for.
Isso é formalizado no collections.abc.Iterator ABC,
que de�ne o método abstrato __next__ e nas
subclasses Iterable — onde o método abstrato
__iter__ é de�nido.
A resposta correta é: O método next(), retorna o
próximo item do iterador..
Questão 8
Correto
Atingiu 0,80 de
0,80
Uma Series é um objeto do tipo __________
contendo uma sequência de valores (de tipos
semelhantes aos tipos do ________) e um array
associado de rótulos (labels) de dados, chamado
de _______. A Series mais simples é composta de
apenas um _______ de dados
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Diante do exposto, na sequência assinale a
alternativa que preencha corretamente as lacunas.
Escolha uma:
a. NumPy, array unidimensional, índice, array.
b. array, NumPy, array unidimensional, índice .
c. índice, array array unidimensional, NumPy.
d. NumPy, array índice, array unidimensional.
e. array unidimensional, NumPy, índice, array
Sua resposta está correta.
Feedback: Correta e.
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Uma Series é um objeto do tipo array
unidimensional contendo uma sequência de
valores (de tipos semelhantes aos tipos do NumPy)
e um array associado de rótulos (labels) de dados,
chamado de índice. A Series mais simples é
composta de apenas um array de dados. Usar
funções NumPy ou operações do tipo NumPy,
como �ltragem com um array boolean,
multiplicação escalar ou aplicação de funções
matemáticas, preservar a ligação entre índice e
valor.
A resposta correta é: array unidimensional,
NumPy, índice, array.
Questão 9
Correto
Atingiu 0,80 de
0,80
O projeto SQLAlchemy é um kit de ferramentas
SQL Python popular que abstrai muitas das
diferenças comuns entre bancos de dados SQL. O
pandas têm uma função read_sql que permite ler
dados facilmente de uma conexão SQLAlchemy
geral. 
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Para persistir um DataFrame Pandas em um banco
de dados é necessário usar a função:
Assinale a alternativa correta:
Escolha uma:
a. read_sql()
b. write_sql()
c. to_sql():  
d. read_sql_query()
e. to_excel()
Sua resposta está correta.
Feedback: Correta c.
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Grave registros armazenados em um DataFrame
em um banco de dados SQL. Bancos de dados
suportados pelo SQLAlchemy. As tabelas podem
ser recém-criadas, anexadas ou sobrescritas.
A resposta correta é: to_sql(): .
Questão 10
Incorreto
Atingiu 0,00 de
0,80
Os dados contínuos geralmente são discretizados
ou separados em “caixas” para análise. O Objeto
pandas pode ser tratado como um array de strings
indicando o nome do compartimento;
internamente, ele contém uma array de categorias
especi�cando os nomes das categorias distintas,
juntamente com uma rotulagem para os dados.
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
O principal método utilizado para contagem de
compartimentos em Pandas é:
Assinale a alternativa correta:
Escolha uma:
a. iloc(): Indexação puramente baseada em
localização inteira para seleção por posição.
b. value_counts(): Retorna uma série contendo
contagens de linhas exclusivas no DataFrame.
c. items(): Itera sobre as colunas DataFrame,
retornando uma tupla com o nome da coluna
e o conteúdo como uma série. 
d. empty(): True se o DataFrame estiver
totalmente vazio (sem itens), o que signi�ca
que qualquer um dos eixos tem comprimento
0.
e. apply(): Aplique uma função ao longo de um
eixo do DataFrame.
Sua resposta está incorreta.
Feedback: Correta b.
MCKINNEY, Wes. Python para análise de dados:
Tratamento de dados com Pandas, NumPy e
IPython. Novatec Editora, 2019.
Observe que pd.value_counts(cats) são as
contagens bin para o resultado de pandas.cut
.Consistente com a notação matemática para
intervalos, um parêntese signi�ca que o lado está
aberto, enquanto o colchete signi�ca que está
fechado (inclusive). Você pode alterar qual lado
está fechado passando right=False
A resposta correta é: value_counts(): Retorna uma
série contendo contagens de linhas exclusivas no
DataFrame..

Continue navegando