Buscar

Prova Linguagem de Programação

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

Prévia do material em texto

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 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 2Correta 
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 3 Correta 
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 4Correta 
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 5Correta 
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 6Correta 
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 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 7Correta 
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 registrocom 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 8Correta 
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 9Correta 
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 10Correta 
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

Outros materiais