Logo Passei Direto
Buscar

AVALIANDO O APRENDIZADO INFORMÁTICA PARA ENGENHARIA

Ferramentas de estudo

Questões resolvidas

Parte de um computador que permite ao usuário colocar informações no computador
Dispositivo de saída
Dispositivos de entrdada
Unidade de disco
Sistema operacional
Placa-mãe

A motivação para o desenvolvimento de softwares parte de alguma necessidade humana, como um sistema para controlar estoque, gerenciar informações de saúde etc. A construção é baseada na necessidade dos clientes, a partir de informações dadas sobre o que software deve conter e realizar. Essas especificações são geralmente chamadas de requisitos. Traduzidos em especificações técnicas de software, os requisitos dos clientes servem de base para o desenvolvimento do programa. Tipicamente essa tarefa é dividida em etapas, segundo tradicionalmente a seguinte ordem:
Qual a ordem correta do processo de desenvolvimento de software?
Análise > Projeto > Implementação > Testes
Projeto > Análise > Testes > Implementação
Projeto > Análise > Implementação > Testes
Depende da metodologia adotada
Análise > Projeto > Testes > Implementação

Quantas unidades/componentes tem a arquitetura de Vo Neumann?
5
4
2
3
6

A multiplicação (M) de dois números positivos maiores ou iguais a zero (A e B), realizada através de operações de somas, foi implementado da seguinte forma: 1: M := 0; 2: ENQUANTO (A≠0) FAÇA 3: M := M + A; 4: A := A - 1; 5: FIM-ENQUANTO
O algoritmo, conforme implementado, não realiza a multiplicação. Assinale a alternativa abaixo que melhor identifica o erro de lógica do algoritmo.
Apenas na linha 1
Apenas na linha 3
Nas linhas 2 e 3
Nas linhas 3 e 4
Nas linhas 1 e 3

Considere o seguinte código em português estruturado:
Qual o valor calculado pela função se o argumento n for igual a 5?
5
0
10
15
120

Considere o fluxograma abaixo, desenvolvido com a finalidade de ordenar três valores A, B e C, contidos na memória.
Entretanto o fluxograma contém uma falha de lógica, de forma que não resultem corretamente ordenados os três valores, para determinados valores de A, B e C. Dentre os valores de teste abaixo, qual alternativa NÃO apresenta corretamente classificados os valores A, B e C?
A = 5; B = 3; C = 8
A = 8; B = 5; C = 3
A = 3; B = 8; C = 5
A = 8; B = 3; C = 5
A = 3; B = 5; C = 8

Considere o trecho de código a seguir. Ao final da execução do trecho de código acima, os valores de X e J são iguais, respectivamente, a
7 e 11
6 e 12
8 e 9
8 e 12
9 e 12

Observe as assertivas a seguir. Relacione as opções com os respectivos tipos de algoritmos.
1. É necessário aprender sua simbologia. Além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando a sua transcrição para um programa. 2. Caracteriza-se pelo uso de conjunto de estruturas bem-definidas com a finalidade de minimizar a complexidade (isto é, a ambiguidade); 3. Apesar de fácil compreensão, suas características (abstração e imprecisão) fazem que ela seja pouco utilizada na prática.
Fluxograma, Narrativa e Pseudocódigo
Pseudocódigo, Narrativa e Fluxograma
Fluxograma, Pseudocódigo e Narrativa
Narrativa, Pseudocódigo e Fluxograma
Narrativa, Fluxograma e Pseudocódigo

Considere o fluxograma abaixo, desenvolvido com a finalidade de ordenar três valores A, B e C, contidos na memória.
Dentre os valores de teste abaixo, qual alternativa NÃO apresenta corretamente classificados os valores A, B e C?
A = 5; B = 3; C = 8
A = 8; B = 3; C = 5
A = 3; B = 5; C = 8
A = 8; B = 5; C = 3
A = 3; B = 8; C = 5

Considere o código abaixo, digitado em Python. No final da execução do código, o último valor armazenado nas variáveis a e b serão, respectivamente,
13 e 21
5 e 10.
8 e 13
8 e 10.
13 e 20.

Dado o código abaixo
Para que valor de "t" tem-se um loop infinito?
1.02
1.05
1.04
1.01
1.03

Dado o código abaixo
"populacaoA = 80000
crescimentoA = t
populacaoB = 200000
crescimentoB = 1.015
ano = 1
while (populacaoA <= populacaoB):
populacaoA *= crescimentoA
populacaoB *= crescimentoB
ano += 1
# Imprime o resultado
print 'Serao necessarios', ano, 'anos para que a populacao do pais A'\ ' ultrapasse a populacao do pais B'" Para que valor de "t" tem-se um loop infinito?
1.01
1.03
1.05
1.04
1.02

Analise o trecho de programa Python apresentado a seguir.
Ao ser executado, o resultado exibido é:
[8] [ ]
[1]
[1, 2, 3, 4, 5, 6, 7, 8]
[8, 7, 6, 5, 4, 3, 2, 1]

O conjunto correto de palavras reservadas para a construção de uma estrutura de controle em Python 3.4.3 é:
if, elseif e else
if, elsif e else
Somente if; o restante da estrutura de controle (¿senão se¿ e ¿senão¿) é realizado simplesmente com indentação.
if, elif e else
if, else if e else

Analise o código Python a seguir. Assinale a opção que descreve corretamente o que acontece quando esse programa é executado no Python
Exibe [10, 20, 30, 40, 50]
Exibe [10, 20, 30, [40, 50]]
Produz uma mensagem de erro, porque tenta executar uma operação inválida
Exibe [10, 20, 30], [40, 50]
Exibe []

Com base no código Python a seguir, qual será a saída produzida pelo algoritmo?
E S A
U N
U S A
S A
U N E S A

Qual é a saída do seguinte código? print("abc DEF".capitalize())
ABC DEF
Não será exibida nenhuma mensagem, pois o código está errado.
Abc Def
Abc def
abc def

Quais os resultados retornados pelos comandos 1. math.ceil(3.4) 2. math.floor(3.4) 3. print(math.fabs(-3.4))
4, 3 e 0
3, 3 e 0
Nenhuma das anteriores
3, 3 e 3.4
4, 3 e 3.4

Analise as assertivas sobre as funções em Python: I. o resultado da expressão k = 2 + 3l é um número complexo. II. o resultado de round(0.5) - round(-0.5) é 2. III. considerando x = 8/3, o resultado de floor(Fraction(x)) é igual ao round(Fraction(x)). São corretas as alternativas:
I e II
II e III
Somente I
I e III
Nenhuma das anteriores

Qual das seguintes funções é uma função interna (built-in) no Python?
print()
seed()
Nenhuma das anteriores
factorial()
sqrt()

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Parte de um computador que permite ao usuário colocar informações no computador
Dispositivo de saída
Dispositivos de entrdada
Unidade de disco
Sistema operacional
Placa-mãe

A motivação para o desenvolvimento de softwares parte de alguma necessidade humana, como um sistema para controlar estoque, gerenciar informações de saúde etc. A construção é baseada na necessidade dos clientes, a partir de informações dadas sobre o que software deve conter e realizar. Essas especificações são geralmente chamadas de requisitos. Traduzidos em especificações técnicas de software, os requisitos dos clientes servem de base para o desenvolvimento do programa. Tipicamente essa tarefa é dividida em etapas, segundo tradicionalmente a seguinte ordem:
Qual a ordem correta do processo de desenvolvimento de software?
Análise > Projeto > Implementação > Testes
Projeto > Análise > Testes > Implementação
Projeto > Análise > Implementação > Testes
Depende da metodologia adotada
Análise > Projeto > Testes > Implementação

Quantas unidades/componentes tem a arquitetura de Vo Neumann?
5
4
2
3
6

A multiplicação (M) de dois números positivos maiores ou iguais a zero (A e B), realizada através de operações de somas, foi implementado da seguinte forma: 1: M := 0; 2: ENQUANTO (A≠0) FAÇA 3: M := M + A; 4: A := A - 1; 5: FIM-ENQUANTO
O algoritmo, conforme implementado, não realiza a multiplicação. Assinale a alternativa abaixo que melhor identifica o erro de lógica do algoritmo.
Apenas na linha 1
Apenas na linha 3
Nas linhas 2 e 3
Nas linhas 3 e 4
Nas linhas 1 e 3

Considere o seguinte código em português estruturado:
Qual o valor calculado pela função se o argumento n for igual a 5?
5
0
10
15
120

Considere o fluxograma abaixo, desenvolvido com a finalidade de ordenar três valores A, B e C, contidos na memória.
Entretanto o fluxograma contém uma falha de lógica, de forma que não resultem corretamente ordenados os três valores, para determinados valores de A, B e C. Dentre os valores de teste abaixo, qual alternativa NÃO apresenta corretamente classificados os valores A, B e C?
A = 5; B = 3; C = 8
A = 8; B = 5; C = 3
A = 3; B = 8; C = 5
A = 8; B = 3; C = 5
A = 3; B = 5; C = 8

Considere o trecho de código a seguir. Ao final da execução do trecho de código acima, os valores de X e J são iguais, respectivamente, a
7 e 11
6 e 12
8 e 9
8 e 12
9 e 12

Observe as assertivas a seguir. Relacione as opções com os respectivos tipos de algoritmos.
1. É necessário aprender sua simbologia. Além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando a sua transcrição para um programa. 2. Caracteriza-se pelo uso de conjunto de estruturas bem-definidas com a finalidade de minimizar a complexidade (isto é, a ambiguidade); 3. Apesar de fácil compreensão, suas características (abstração e imprecisão) fazem que ela seja pouco utilizada na prática.
Fluxograma, Narrativa e Pseudocódigo
Pseudocódigo, Narrativa e Fluxograma
Fluxograma, Pseudocódigo e Narrativa
Narrativa, Pseudocódigo e Fluxograma
Narrativa, Fluxograma e Pseudocódigo

Considere o fluxograma abaixo, desenvolvido com a finalidade de ordenar três valores A, B e C, contidos na memória.
Dentre os valores de teste abaixo, qual alternativa NÃO apresenta corretamente classificados os valores A, B e C?
A = 5; B = 3; C = 8
A = 8; B = 3; C = 5
A = 3; B = 5; C = 8
A = 8; B = 5; C = 3
A = 3; B = 8; C = 5

Considere o código abaixo, digitado em Python. No final da execução do código, o último valor armazenado nas variáveis a e b serão, respectivamente,
13 e 21
5 e 10.
8 e 13
8 e 10.
13 e 20.

Dado o código abaixo
Para que valor de "t" tem-se um loop infinito?
1.02
1.05
1.04
1.01
1.03

Dado o código abaixo
"populacaoA = 80000
crescimentoA = t
populacaoB = 200000
crescimentoB = 1.015
ano = 1
while (populacaoA <= populacaoB):
populacaoA *= crescimentoA
populacaoB *= crescimentoB
ano += 1
# Imprime o resultado
print 'Serao necessarios', ano, 'anos para que a populacao do pais A'\ ' ultrapasse a populacao do pais B'" Para que valor de "t" tem-se um loop infinito?
1.01
1.03
1.05
1.04
1.02

Analise o trecho de programa Python apresentado a seguir.
Ao ser executado, o resultado exibido é:
[8] [ ]
[1]
[1, 2, 3, 4, 5, 6, 7, 8]
[8, 7, 6, 5, 4, 3, 2, 1]

O conjunto correto de palavras reservadas para a construção de uma estrutura de controle em Python 3.4.3 é:
if, elseif e else
if, elsif e else
Somente if; o restante da estrutura de controle (¿senão se¿ e ¿senão¿) é realizado simplesmente com indentação.
if, elif e else
if, else if e else

Analise o código Python a seguir. Assinale a opção que descreve corretamente o que acontece quando esse programa é executado no Python
Exibe [10, 20, 30, 40, 50]
Exibe [10, 20, 30, [40, 50]]
Produz uma mensagem de erro, porque tenta executar uma operação inválida
Exibe [10, 20, 30], [40, 50]
Exibe []

Com base no código Python a seguir, qual será a saída produzida pelo algoritmo?
E S A
U N
U S A
S A
U N E S A

Qual é a saída do seguinte código? print("abc DEF".capitalize())
ABC DEF
Não será exibida nenhuma mensagem, pois o código está errado.
Abc Def
Abc def
abc def

Quais os resultados retornados pelos comandos 1. math.ceil(3.4) 2. math.floor(3.4) 3. print(math.fabs(-3.4))
4, 3 e 0
3, 3 e 0
Nenhuma das anteriores
3, 3 e 3.4
4, 3 e 3.4

Analise as assertivas sobre as funções em Python: I. o resultado da expressão k = 2 + 3l é um número complexo. II. o resultado de round(0.5) - round(-0.5) é 2. III. considerando x = 8/3, o resultado de floor(Fraction(x)) é igual ao round(Fraction(x)). São corretas as alternativas:
I e II
II e III
Somente I
I e III
Nenhuma das anteriores

Qual das seguintes funções é uma função interna (built-in) no Python?
print()
seed()
Nenhuma das anteriores
factorial()
sqrt()

Prévia do material em texto

1a Questão 
 
Parte de um computador que permite ao usuário colocar informações no computador 
 
 Dispositivo de saída 
 
 Dispositivos de entrdada 
 Placa-mãe 
 Unidade de disco 
 
 Sistema operacional 
 
Respondido em 17/02/2019 20:42:34 
 
 
Explicação: 
Os dispositivos de entrada permitem a inserção de dados no sistema. São exemplos, 
teclado, mouse, telas touch-screen, etc. 
 
 
 
 2a Questão 
 
Consiste em entender os problemas que estão se desenvolvendo, os dados são 
informados sobre o que está acontecendo (entrada) e a solução de informação que 
espera por atenção (saída). 
 
 Diagrama 
 Processo 
 Fluxograma 
 Algoritmo 
 Solução 
Respondido em 17/02/2019 20:42:57 
 
 
Explicação: 
De forma geral, o conceito de algoritmo pode ser descrito como um 
conjunto de regras para a solução de um problema. Essa definição 
generalista pode ser aplicada a qualquer circunstância que exige a 
descrição da solução. 
 
 
 
 3a Questão 
 
A motivação para o desenvolvimento de softwares parte de alguma necessidade 
humana, como um sistema para controlar estoque, gerenciar informações de saúde 
etc. A construção é baseada na necessidade dos clientes, a partir de informações 
dadas sobre o que software deve conter e realizar. Essas 
especificações são geralmente chamadas de requisitos. 
Traduzidos em especificações técnicas de software, os requisitos dos clientes servem 
de base para o desenvolvimento do programa. Tipicamente essa tarefa é dividida 
em etapas, segundo tradicionalmente a seguinte ordem: 
 
 Análise > Projeto > Implementação > Testes 
 Projeto > Análise > Testes > Implementação 
 Projeto > Análise > Implementação > Testes 
 Depende da metodologia adotada 
 Análise > Projeto > Testes > Implementação 
Respondido em 17/02/2019 20:43:19 
 
 
Explicação: 
Tradicionalmente, o processo de desenvolvimento de software segue o fluxo 
análise>projeto> implementação>testes. No entanto, existem novas abordagens em 
que as duas últimas etapas são trocadas. 
 
 
 
 4a Questão 
 
Quais são os quatro componentes estruturais principais que os computadores 
modernos devem conter? 
 
 Código Binário, Tabela ASCII, Teorema de De Morgan e Mapa de Karnnaugh. 
 Todos os anteriores 
 Codificação, Decodificação, Processamento Paralelo e Pipeline 
 
 Palavra, Sistema Operacional, Tradutor e Interpretador 
 CPU (contendo ULA e UC), Memória principal, E/S e Interconexão do 
sistema. 
Respondido em 17/02/2019 20:43:47 
 
 
Explicação: 
Apesar da relevância de todos, todos operam sob a CPU, MP, E/S e a interconexão 
do sistema. 
 
 
 
 5a Questão 
 
O cérebro do computador. Esta parte faz o cálculo, movimentação e processamento 
de informações 
 
 Internet 
 CPU 
 Rede 
 Disco rígido 
 RAM 
Respondido em 17/02/2019 20:43:55 
 
 
Explicação: 
Unidade responsável pela execução de programas armazenados na memória 
principal. Exerce funções executivas e de controle sobre os dados. 
 
 
 
 6a Questão 
 
Quantas unidades/componentes tem a arquitetura de Vo Neumann? 
 
 3 
 2 
 4 
 5 
 6 
Respondido em 17/02/2019 20:44:10 
 
 
Explicação: 
Com base na arquitetura proposta por von Neumann, podemos classificar as partes que 
compõem o 
computador em três amplas categorias: a unidade central de processamento (UCP), a 
memória principal e 
o subsistema de entrada e saída. 
 
1a Questão 
 
Parte de um computador que permite ao usuário colocar informações no computador 
 
 Sistema operacional 
 
 Dispositivos de entrdada 
 Dispositivo de saída 
 
 Unidade de disco 
 
 Placa-mãe 
Respondido em 17/02/2019 20:44:29 
 
 
Explicação: 
Os dispositivos de entrada permitem a inserção de dados no sistema. São exemplos, 
teclado, mouse, telas touch-screen, etc. 
 
 
 
 2a Questão 
 
Consiste em entender os problemas que estão se desenvolvendo, os dados são 
informados sobre o que está acontecendo (entrada) e a solução de informação que 
espera por atenção (saída). 
 
 Fluxograma 
 Processo 
 Diagrama 
 Algoritmo 
 Solução 
Respondido em 17/02/2019 20:44:34 
 
 
Explicação: 
De forma geral, o conceito de algoritmo pode ser descrito como um 
conjunto de regras para a solução de um problema. Essa definição 
generalista pode ser aplicada a qualquer circunstância que exige a 
descrição da solução. 
 
 
 
 3a Questão 
 
A motivação para o desenvolvimento de softwares parte de alguma necessidade 
humana, como um sistema para controlar estoque, gerenciar informações de saúde 
etc. A construção é baseada na necessidade dos clientes, a partir de informações 
dadas sobre o que software deve conter e realizar. Essas 
especificações são geralmente chamadas de requisitos. 
Traduzidos em especificações técnicas de software, os requisitos dos clientes servem 
de base para o desenvolvimento do programa. Tipicamente essa tarefa é dividida 
em etapas, segundo tradicionalmente a seguinte ordem: 
 
 Análise > Projeto > Implementação > Testes 
 Análise > Projeto > Testes > Implementação 
 Depende da metodologia adotada 
 Projeto > Análise > Testes > Implementação 
 Projeto > Análise > Implementação > Testes 
Respondido em 17/02/2019 20:44:39 
 
 
Explicação: 
Tradicionalmente, o processo de desenvolvimento de software segue o fluxo 
análise>projeto> implementação>testes. No entanto, existem novas abordagens em 
que as duas últimas etapas são trocadas. 
 
 
 
 4a Questão 
 
Quais são os quatro componentes estruturais principais que os computadores 
modernos devem conter? 
 
 Todos os anteriores 
 Código Binário, Tabela ASCII, Teorema de De Morgan e Mapa de Karnnaugh. 
 Codificação, Decodificação, Processamento Paralelo e Pipeline 
 
 CPU (contendo ULA e UC), Memória principal, E/S e Interconexão do 
sistema. 
 Palavra, Sistema Operacional, Tradutor e Interpretador 
Respondido em 17/02/2019 20:44:46 
 
 
Explicação: 
Apesar da relevância de todos, todos operam sob a CPU, MP, E/S e a interconexão 
do sistema. 
 
 
 
 5a Questão 
 
O cérebro do computador. Esta parte faz o cálculo, movimentação e processamento 
de informações 
 
 Rede 
 RAM 
 Internet 
 CPU 
 Disco rígido 
Respondido em 17/02/2019 20:44:52 
 
 
Explicação: 
Unidade responsável pela execução de programas armazenados na memória 
principal. Exerce funções executivas e de controle sobre os dados. 
 
 
 
 6a Questão 
 
Quantas unidades/componentes tem a arquitetura de Vo Neumann? 
 
 5 
 4 
 3 
 6 
 2 
Respondido em 17/02/2019 20:44:57 
 
 
Explicação: 
Com base na arquitetura proposta por von Neumann, podemos classificar as partes que 
compõem o 
computador em três amplas categorias: a unidade central de processamento (UCP), a 
memória principal e 
o subsistema de entrada e saída. 
 
 1a Questão 
 
Parte de um computador que permite ao usuário colocar informações no computador 
 
 Dispositivos de entrdada 
 Unidade de disco 
 
 Dispositivo de saída 
 
 Sistema operacional 
 
 Placa-mãe 
Respondido em 17/02/2019 20:45:45 
 
 
Explicação: 
Os dispositivos de entrada permitem a inserção de dados no sistema. São exemplos, 
teclado, mouse, telas touch-screen, etc. 
 
 
 
 2a Questão 
 
Consiste em entender os problemas que estão se desenvolvendo, os dados são 
informados sobre o que está acontecendo (entrada) e a solução de informação que 
espera por atenção (saída). 
 
 Fluxograma 
 Solução 
 Diagrama 
 Processo 
 Algoritmo 
Respondido em 17/02/2019 20:45:50 
 
 
Explicação: 
De forma geral, o conceito de algoritmo pode ser descrito como um 
conjunto de regras para a solução de um problema. Essa definição 
generalista pode ser aplicada a qualquer circunstância que exige a 
descrição da solução. 
 
 
 
 3a Questão 
 
A motivação para o desenvolvimento de softwares parte de alguma necessidade 
humana, como um sistema para controlar estoque, gerenciar informações de saúde 
etc. A construção é baseada na necessidade dos clientes, a partir de informações 
dadas sobre o que software deve conter e realizar.Essas 
especificações são geralmente chamadas de requisitos. 
Traduzidos em especificações técnicas de software, os requisitos dos clientes servem 
de base para o desenvolvimento do programa. Tipicamente essa tarefa é dividida 
em etapas, segundo tradicionalmente a seguinte ordem: 
 
 Análise > Projeto > Testes > Implementação 
 Análise > Projeto > Implementação > Testes 
 Depende da metodologia adotada 
 Projeto > Análise > Testes > Implementação 
 Projeto > Análise > Implementação > Testes 
Respondido em 17/02/2019 20:45:25 
 
 
Explicação: 
Tradicionalmente, o processo de desenvolvimento de software segue o fluxo 
análise>projeto> implementação>testes. No entanto, existem novas abordagens em 
que as duas últimas etapas são trocadas. 
 
 
 
 4a Questão 
 
Quais são os quatro componentes estruturais principais que os computadores 
modernos devem conter? 
 
 CPU (contendo ULA e UC), Memória principal, E/S e Interconexão do 
sistema. 
 Codificação, Decodificação, Processamento Paralelo e Pipeline 
 
 Código Binário, Tabela ASCII, Teorema de De Morgan e Mapa de Karnnaugh. 
 Palavra, Sistema Operacional, Tradutor e Interpretador 
 Todos os anteriores 
Respondido em 17/02/2019 20:46:00 
 
 
Explicação: 
Apesar da relevância de todos, todos operam sob a CPU, MP, E/S e a interconexão 
do sistema. 
 
 
 
 5a Questão 
 
O cérebro do computador. Esta parte faz o cálculo, movimentação e processamento 
de informações 
 
 Rede 
 Disco rígido 
 CPU 
 RAM 
 Internet 
Respondido em 17/02/2019 20:46:04 
 
 
Explicação: 
Unidade responsável pela execução de programas armazenados na memória 
principal. Exerce funções executivas e de controle sobre os dados. 
 
 
 
 6a Questão 
 
Quantas unidades/componentes tem a arquitetura de Vo Neumann? 
 
 5 
 6 
 2 
 3 
 4 
Respondido em 17/02/2019 20:45:36 
 
 
Explicação: 
Com base na arquitetura proposta por von Neumann, podemos classificar as partes que 
compõem o 
computador em três amplas categorias: a unidade central de processamento (UCP), a 
memória principal e 
o subsistema de entrada e saída. 
 
1a Questão 
 
O que é um pseudocódigo? 
 
 É considerada uma linguagem, baseada na convenção adotada por uma 
equipe de desenvolvimento de software. 
 Não é considerada uma linguagem, mas um estilo de representação baseada na 
convenção adotada por uma equipe de desenvolvimento de software. 
 Linguagem de programação simples, ligada a uma linguagem específica 
 Linguagem de programação simplificada, que não é uma linguagem específica 
 Linguagem de programação complicada 
Respondido em 21/03/2019 09:36:53 
 
 
Explicação: 
Considerada uma forma intermediária entre o design e a codificação para a 
linguagem de programação, o pseudocódigo é uma forma universal de representar 
algoritmos independentemente da linguagem a ser utilizada 
 
 
 
 2a Questão 
 
A multiplicação (M) de dois números positivos maiores ou iguais a zero (A e B), 
realizada através de operações de somas, foi implementado da seguinte forma: 
1: M := 0; 
2: ENQUANTO (A≠0) FAÇA 
3: M := M + A; 
4: A := A - 1; 
5: FIM-ENQUANTO 
O algoritmo, conforme implementado, não realiza a multiplicação. Assinale a 
alternativa abaixo que melhor identifica o erro de lógica do algoritmo. 
 
 Apenas na linha 1 
 Nas linhas 1 e 3 
 Nas linhas 2 e 3 
 Apenas na linha 3 
 Nas linhas 3 e 4 
Respondido em 21/03/2019 09:38:01 
 
 
Explicação: 
A multiplicação será o resultado de "A" somas repetidas do valor "B", e não "A" 
somas repetidas do valor "A". Por isso, a linha 3 deveria ser M := M + B 
 
 
 
 3a Questão 
 
Considere o seguinte código em português estruturado: 
 
 
 
Qual o valor calculado pela função se o argumento n for igual a 5? 
 
 120 
 15 
 5 
 0 
 10 
Respondido em 21/03/2019 09:38:33 
 
 
Explicação: 
Algoritmo que irá calcular, através de recorrencia, o fatorial do argumento inicial 
informado 
 
 
 
 4a Questão 
 
Considere o fluxograma abaixo, desenvolvido com a finalidade de ordenar três 
valores A, B e C, contidos na memória. 
 
 
 
Entretanto o fluxograma contém uma falha de lógica, de forma que não resultem 
corretamente ordenados os três valores, para determinados valores de A, B e C. 
Dentre os valores de teste abaixo, qual alternativa NÃO apresenta corretamente 
classificados os valores A, B e C? 
 
 A = 8; B = 3; C = 5 
 A = 3; B = 8; C = 5 
 A = 5; B = 3; C = 8 
 A = 3; B = 5; C = 8 
 A = 8; B = 5; C = 3 
Respondido em 21/03/2019 09:39:13 
 
 
Explicação: 
Na primeira verificação do fluxograma, A e B são colocados em ordem crescente (A 
< B). Após essa verificação, uma segunda verificação coloca B e C em ordem 
crescente (B < C), porém,, se na arrumação inicial, C for o menor dos 3 elementos, 
ele ficará na 2ª posição, pois o menor dos elementos B e C não é comparado ao 
elemento A. 
Na letra E, 8 e 5 trocam de lugar, ficando a sequencia 5 , 8 , 3. Na segunda 
verificação, 8 e 3 trocam de lugar, ficando a sequencia 5 , 3 , 8. Faltou uma terceira 
verificação entre os elementos 5 e 3 
 
 
 
 5a Questão 
 
Considere o trecho de código a seguir. 
 
Ao final da execução do trecho de código acima, os valores de X e J são iguais, 
respectivamente, a 
 
 8 e 9 
 9 e 12 
 7 e 11 
 8 e 12 
 6 e 12 
Respondido em 21/03/2019 09:39:45 
 
 
Explicação: 
A cada loop teremos os valores 
x = 2; 3; 4; 5; 6; 7 
j = 1; 3 ; 5; 7; 9; 11 (quando o loop se encerra pelo não atendimento da condição de 
entrada) 
 
 
 
 6a Questão 
 
Observe as assertivas a seguir. Relacione as opções com os respectivos tipos de 
algoritmos. 
1. É necessário aprender sua simbologia. Além disso, o algoritmo resultante não 
apresenta muitos detalhes, dificultando a sua transcrição para um programa. 
2. Caracteriza-se pelo uso de conjunto de estruturas bem-definidas com a 
finalidade de minimizar a complexidade (isto é, a ambiguidade); 
3. Apesar de fácil compreensão, suas características (abstração e imprecisão) 
fazem que ela seja pouco utilizada na prática. 
 
 Fluxograma, Narrativa e Pseudocódigo 
 Pseudocódigo, Narrativa e Fluxograma 
 Narrativa, Fluxograma e Pseudocódigo 
 Fluxograma, Pseudocódigo e Narrativa 
 Narrativa, Pseudocódigo e Fluxograma 
Respondido em 21/03/2019 09:41:24 
 
 
Explicação: 
Fluxograma: Consiste em analisar o enunciado do problema e escrever, por meio de 
símbolos gráficos predefinidos 
Pseudocódigo: Consiste em analisar o enunciado do problema e escrever, por meio de 
regras predefinidas, os passos a 
serem seguidos para a resolução do problema. 
Narrativa: linguagem natural abstrata, imprecisa e pouco confiável. Isso 
poderia trazer problemas na hora de transcrever o algoritmo para o programa (em uma 
linguagem de 
programação). 
 
1a Questão 
 
O que é um pseudocódigo? 
 
 Linguagem de programação complicada 
 Não é considerada uma linguagem, mas um estilo de representação baseada na 
convenção adotada por uma equipe de desenvolvimento de software. 
 Linguagem de programação simples, ligada a uma linguagem específica 
 É considerada uma linguagem, baseada na convenção adotada por uma 
equipe de desenvolvimento de software. 
 Linguagem de programação simplificada, que não é uma linguagem específica 
Respondido em 21/03/2019 09:42:04 
 
 
Explicação: 
Considerada uma forma intermediária entre o design e a codificação para a 
linguagem de programação, o pseudocódigo é uma forma universal de representar 
algoritmos independentemente da linguagem a ser utilizada 
 
 
 
 2a Questão 
 
A multiplicação (M) de dois números positivos maiores ou iguais a zero (A e B), 
realizada através de operações de somas, foi implementado da seguinte forma: 
1: M := 0; 
2: ENQUANTO (A≠0) FAÇA 
3: M := M + A; 
4: A := A - 1; 
5: FIM-ENQUANTO 
O algoritmo, conforme implementado, não realiza a multiplicação. Assinale a 
alternativa abaixo que melhor identifica o erro de lógica do algoritmo. 
 
 Apenas na linha 3 
 Nas linhas 3 e 4 
 Nas linhas 2 e3 
 Apenas na linha 1 
 Nas linhas 1 e 3 
Respondido em 21/03/2019 09:42:36 
 
 
Explicação: 
A multiplicação será o resultado de "A" somas repetidas do valor "B", e não "A" 
somas repetidas do valor "A". Por isso, a linha 3 deveria ser M := M + B 
 
 
 
 3a Questão 
 
Considere o seguinte código em português estruturado: 
 
 
 
Qual o valor calculado pela função se o argumento n for igual a 5? 
 
 0 
 10 
 5 
 15 
 120 
Respondido em 21/03/2019 09:43:09 
 
 
Explicação: 
Algoritmo que irá calcular, através de recorrencia, o fatorial do argumento inicial 
informado 
 
 
 
 4a Questão 
 
Considere o fluxograma abaixo, desenvolvido com a finalidade de ordenar três 
valores A, B e C, contidos na memória. 
 
 
 
Entretanto o fluxograma contém uma falha de lógica, de forma que não resultem 
corretamente ordenados os três valores, para determinados valores de A, B e C. 
Dentre os valores de teste abaixo, qual alternativa NÃO apresenta corretamente 
classificados os valores A, B e C? 
 
 A = 5; B = 3; C = 8 
 A = 8; B = 3; C = 5 
 A = 3; B = 5; C = 8 
 A = 8; B = 5; C = 3 
 A = 3; B = 8; C = 5 
Respondido em 21/03/2019 09:43:20 
 
 
Explicação: 
Na primeira verificação do fluxograma, A e B são colocados em ordem crescente (A 
< B). Após essa verificação, uma segunda verificação coloca B e C em ordem 
crescente (B < C), porém,, se na arrumação inicial, C for o menor dos 3 elementos, 
ele ficará na 2ª posição, pois o menor dos elementos B e C não é comparado ao 
elemento A. 
Na letra E, 8 e 5 trocam de lugar, ficando a sequencia 5 , 8 , 3. Na segunda 
verificação, 8 e 3 trocam de lugar, ficando a sequencia 5 , 3 , 8. Faltou uma terceira 
verificação entre os elementos 5 e 3 
 
 
 
 5a Questão 
 
Considere o trecho de código a seguir. 
 
Ao final da execução do trecho de código acima, os valores de X e J são iguais, 
respectivamente, a 
 
 8 e 9 
 9 e 12 
 7 e 11 
 6 e 12 
 8 e 12 
Respondido em 21/03/2019 09:43:34 
 
 
Explicação: 
A cada loop teremos os valores 
x = 2; 3; 4; 5; 6; 7 
j = 1; 3 ; 5; 7; 9; 11 (quando o loop se encerra pelo não atendimento da condição de 
entrada) 
 
 
 
 6a Questão 
 
Observe as assertivas a seguir. Relacione as opções com os respectivos tipos de 
algoritmos. 
1. É necessário aprender sua simbologia. Além disso, o algoritmo resultante não 
apresenta muitos detalhes, dificultando a sua transcrição para um programa. 
2. Caracteriza-se pelo uso de conjunto de estruturas bem-definidas com a 
finalidade de minimizar a complexidade (isto é, a ambiguidade); 
3. Apesar de fácil compreensão, suas características (abstração e imprecisão) 
fazem que ela seja pouco utilizada na prática. 
 
 Fluxograma, Pseudocódigo e Narrativa 
 Fluxograma, Narrativa e Pseudocódigo 
 Pseudocódigo, Narrativa e Fluxograma 
 Narrativa, Fluxograma e Pseudocódigo 
 Narrativa, Pseudocódigo e Fluxograma 
Respondido em 21/03/2019 09:43:50 
 
 
Explicação: 
Fluxograma: Consiste em analisar o enunciado do problema e escrever, por meio de 
símbolos gráficos predefinidos 
Pseudocódigo: Consiste em analisar o enunciado do problema e escrever, por meio de 
regras predefinidas, os passos a 
serem seguidos para a resolução do problema. 
Narrativa: linguagem natural abstrata, imprecisa e pouco confiável. Isso 
poderia trazer problemas na hora de transcrever o algoritmo para o programa (em uma 
linguagem de 
programação). 
 1a Questão 
 
O que é um pseudocódigo? 
 
 Linguagem de programação simples, ligada a uma linguagem específica 
 Linguagem de programação simplificada, que não é uma linguagem específica 
 É considerada uma linguagem, baseada na convenção adotada por uma 
equipe de desenvolvimento de software. 
 Não é considerada uma linguagem, mas um estilo de representação baseada na 
convenção adotada por uma equipe de desenvolvimento de software. 
 Linguagem de programação complicada 
Respondido em 21/03/2019 09:44:10 
 
 
Explicação: 
Considerada uma forma intermediária entre o design e a codificação para a 
linguagem de programação, o pseudocódigo é uma forma universal de representar 
algoritmos independentemente da linguagem a ser utilizada 
 
 
 
 2a Questão 
 
A multiplicação (M) de dois números positivos maiores ou iguais a zero (A e B), 
realizada através de operações de somas, foi implementado da seguinte forma: 
1: M := 0; 
2: ENQUANTO (A≠0) FAÇA 
3: M := M + A; 
4: A := A - 1; 
5: FIM-ENQUANTO 
O algoritmo, conforme implementado, não realiza a multiplicação. Assinale a 
alternativa abaixo que melhor identifica o erro de lógica do algoritmo. 
 
 Nas linhas 2 e 3 
 Nas linhas 3 e 4 
 Nas linhas 1 e 3 
 Apenas na linha 3 
 Apenas na linha 1 
Respondido em 21/03/2019 09:44:26 
 
 
Explicação: 
A multiplicação será o resultado de "A" somas repetidas do valor "B", e não "A" 
somas repetidas do valor "A". Por isso, a linha 3 deveria ser M := M + B 
 
 
 
 3a Questão 
 
Considere o seguinte código em português estruturado: 
 
 
 
Qual o valor calculado pela função se o argumento n for igual a 5? 
 
 5 
 0 
 120 
 10 
 15 
Respondido em 21/03/2019 09:44:31 
 
 
Explicação: 
Algoritmo que irá calcular, através de recorrencia, o fatorial do argumento inicial 
informado 
 
 
 
 4a Questão 
 
Considere o fluxograma abaixo, desenvolvido com a finalidade de ordenar três 
valores A, B e C, contidos na memória. 
 
 
 
Entretanto o fluxograma contém uma falha de lógica, de forma que não resultem 
corretamente ordenados os três valores, para determinados valores de A, B e C. 
Dentre os valores de teste abaixo, qual alternativa NÃO apresenta corretamente 
classificados os valores A, B e C? 
 
 A = 3; B = 5; C = 8 
 A = 8; B = 3; C = 5 
 A = 5; B = 3; C = 8 
 A = 8; B = 5; C = 3 
 A = 3; B = 8; C = 5 
Respondido em 21/03/2019 09:45:03 
 
 
Explicação: 
Na primeira verificação do fluxograma, A e B são colocados em ordem crescente (A 
< B). Após essa verificação, uma segunda verificação coloca B e C em ordem 
crescente (B < C), porém,, se na arrumação inicial, C for o menor dos 3 elementos, 
ele ficará na 2ª posição, pois o menor dos elementos B e C não é comparado ao 
elemento A. 
Na letra E, 8 e 5 trocam de lugar, ficando a sequencia 5 , 8 , 3. Na segunda 
verificação, 8 e 3 trocam de lugar, ficando a sequencia 5 , 3 , 8. Faltou uma terceira 
verificação entre os elementos 5 e 3 
 
 
 
 5a Questão 
 
Considere o trecho de código a seguir. 
 
Ao final da execução do trecho de código acima, os valores de X e J são iguais, 
respectivamente, a 
 
 6 e 12 
 7 e 11 
 8 e 9 
 9 e 12 
 8 e 12 
Respondido em 21/03/2019 09:45:08 
 
 
Explicação: 
A cada loop teremos os valores 
x = 2; 3; 4; 5; 6; 7 
j = 1; 3 ; 5; 7; 9; 11 (quando o loop se encerra pelo não atendimento da condição de 
entrada) 
 
 
 
 6a Questão 
 
Observe as assertivas a seguir. Relacione as opções com os respectivos tipos de 
algoritmos. 
1. É necessário aprender sua simbologia. Além disso, o algoritmo resultante não 
apresenta muitos detalhes, dificultando a sua transcrição para um programa. 
2. Caracteriza-se pelo uso de conjunto de estruturas bem-definidas com a 
finalidade de minimizar a complexidade (isto é, a ambiguidade); 
3. Apesar de fácil compreensão, suas características (abstração e imprecisão) 
fazem que ela seja pouco utilizada na prática. 
 
 Narrativa, Pseudocódigo e Fluxograma 
 Pseudocódigo, Narrativa e Fluxograma 
 Fluxograma, Pseudocódigo e Narrativa 
 Narrativa, Fluxograma e Pseudocódigo 
 Fluxograma, Narrativa e Pseudocódigo 
Respondido em 21/03/2019 09:45:28 
 
 
Explicação: 
Fluxograma: Consiste em analisar o enunciado do problema e escrever, por meio de 
símbolos gráficos predefinidos 
Pseudocódigo: Consiste em analisar o enunciado do problema e escrever, por meio de 
regras predefinidas, os passos a 
serem seguidos para a resolução do problema. 
Narrativa: linguagem natural abstrata, imprecisa e pouco confiável. Isso 
poderia trazer problemas na horade transcrever o algoritmo para o programa (em uma 
linguagem de 
programação). 
 1a Questão 
 
Considere o código abaixo, digitado em Python. 
 
a, b = 0, 1 
while b < 10: 
 print b 
 a, b = b, a+b 
 
No final da execução do código, o último valor armazenado nas variáveis a e b serão, 
respectivamente, 
 
 13 e 21 
 8 e 10. 
 
5 e 10. 
 13 e 20. 
 8 e 13 
Respondido em 21/03/2019 16:42:44 
 
 
Explicação: 
Implemetação do cálculo da série de Fibonacci em python 
 
 
 
 2a Questão 
 
O conjunto correto de palavras reservadas para a construção de uma estrutura de 
controle em Python 3.4.3 é: 
 
 if, else if e else 
 if, elseif e else 
 if, elsif e else 
 Somente if; o restante da estrutura de controle (¿senão se¿ e ¿senão¿) é 
realizado simplesmente com indentação. 
 if, elif e else 
Respondido em 21/03/2019 16:43:06 
 
 
Explicação: 
if, elif e else são as palavras reservadas em python para a estrutura de decisão "se" 
 
 
 
 3a Questão 
 
Analise o código Python a seguir. 
 
Assinale a opção que descreve corretamente o que acontece quando esse programa é 
executado no Python 
 
 Exibe [10, 20, 30], [40, 50] 
 Exibe [10, 20, 30, 40, 50] 
 Exibe [10, 20, 30, [40, 50]] 
 Produz uma mensagem de erro, porque tenta executar uma operação inválida 
 Exibe [] 
Respondido em 21/03/2019 16:43:14 
 
 
Explicação: 
A função append irá tratar a lista L2 como elemento a ser adicionado à lista L1 
 
 
 
 4a Questão 
 
Considere o código fonte Python abaixo. 
 
Para que seja exibido [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] a lacuna ___I___ precisa 
ser preenchida corretamente com: 
 
 resultado.append(a) 
a, b = a+b, b 
 resultado.add(a) 
a, b = a, a+b 
 resultado.insert(a) 
a, b = b, a+b 
 resultado.append(a) 
a, b = b, a+b 
 resultado.add(a) 
a, b = b, a+b 
Respondido em 21/03/2019 16:43:22 
 
 
Explicação: 
A função "append" adiciona elementos a uma lista existente 
 
 
 
 5a Questão 
 
Dado o código abaixo 
"populacaoA = 80000 
crescimentoA = t 
populacaoB = 200000 
crescimentoB = 1.015 
ano = 1 
while (populacaoA <= populacaoB): 
 populacaoA *= crescimentoA 
 populacaoB *= crescimentoB 
 ano += 1 
# Imprime o resultado 
print 'Serao necessarios', ano, 'anos para que a populacao do pais A'\ ' ultrapasse a 
populacao do pais B' " 
Para que valor de "t" tem-se um loop infinito? 
 
 
 
 1.03 
 1.04 
 1.01 
 1.05 
 1.02 
Respondido em 21/03/2019 16:43:28 
 
 
Explicação: 
Se crescimentoA for inferior a crescimentoB, a populaçãoA nunca irá superar a 
populacaoB 
 
 
 
 6a Questão 
 
Analise o trecho de programa Python apresentado a seguir. 
 
Ao ser executado, o resultado exibido é: 
 
 
 [1, 2, 3, 4, 5, 6, 7, 8] 
 
[8] 
 [1] 
 [8, 7, 6, 5, 4, 3, 2, 1] 
 [ ] 
Respondido em 21/03/2019 16:43:35 
 
 
Explicação: 
O comando [::-1] irá inverter a ordem da lista na impressão 
 1a Questão 
 
Considere o código abaixo, digitado em Python. 
 
a, b = 0, 1 
while b < 10: 
 print b 
 a, b = b, a+b 
 
No final da execução do código, o último valor armazenado nas variáveis a e b serão, 
respectivamente, 
 
 13 e 21 
 13 e 20. 
 8 e 13 
 8 e 10. 
 
5 e 10. 
Respondido em 21/03/2019 16:43:52 
 
 
Explicação: 
Implemetação do cálculo da série de Fibonacci em python 
 
 
 
 2a Questão 
 
O conjunto correto de palavras reservadas para a construção de uma estrutura de 
controle em Python 3.4.3 é: 
 
 Somente if; o restante da estrutura de controle (¿senão se¿ e ¿senão¿) é 
realizado simplesmente com indentação. 
 if, elseif e else 
 if, elif e else 
 if, else if e else 
 if, elsif e else 
Respondido em 21/03/2019 16:43:59 
 
 
Explicação: 
if, elif e else são as palavras reservadas em python para a estrutura de decisão "se" 
 
 
 
 3a Questão 
 
Analise o código Python a seguir. 
 
Assinale a opção que descreve corretamente o que acontece quando esse programa é 
executado no Python 
 
 Produz uma mensagem de erro, porque tenta executar uma operação inválida 
 Exibe [10, 20, 30, [40, 50]] 
 Exibe [10, 20, 30], [40, 50] 
 Exibe [] 
 Exibe [10, 20, 30, 40, 50] 
Respondido em 21/03/2019 16:44:14 
 
 
Explicação: 
A função append irá tratar a lista L2 como elemento a ser adicionado à lista L1 
 
 
 
 4a Questão 
 
Considere o código fonte Python abaixo. 
 
Para que seja exibido [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] a lacuna ___I___ precisa 
ser preenchida corretamente com: 
 
 resultado.insert(a) 
a, b = b, a+b 
 resultado.append(a) 
a, b = b, a+b 
 resultado.add(a) 
a, b = b, a+b 
 resultado.add(a) 
a, b = a, a+b 
 resultado.append(a) 
a, b = a+b, b 
Respondido em 21/03/2019 16:44:25 
 
 
Explicação: 
A função "append" adiciona elementos a uma lista existente 
 
 
 
 5a Questão 
 
Dado o código abaixo 
"populacaoA = 80000 
crescimentoA = t 
populacaoB = 200000 
crescimentoB = 1.015 
ano = 1 
while (populacaoA <= populacaoB): 
 populacaoA *= crescimentoA 
 populacaoB *= crescimentoB 
 ano += 1 
# Imprime o resultado 
print 'Serao necessarios', ano, 'anos para que a populacao do pais A'\ ' ultrapasse a 
populacao do pais B' " 
Para que valor de "t" tem-se um loop infinito? 
 
 
 
 1.03 
 1.05 
 1.04 
 1.01 
 1.02 
Respondido em 21/03/2019 16:44:29 
 
 
Explicação: 
Se crescimentoA for inferior a crescimentoB, a populaçãoA nunca irá superar a 
populacaoB 
 
 
 
 6a Questão 
 
Analise o trecho de programa Python apresentado a seguir. 
 
Ao ser executado, o resultado exibido é: 
 
 
 [1, 2, 3, 4, 5, 6, 7, 8] 
 [8, 7, 6, 5, 4, 3, 2, 1] 
 
[8] 
 [ ] 
 [1] 
Respondido em 21/03/2019 16:44:34 
 
 
Explicação: 
O comando [::-1] irá inverter a ordem da lista na impressão 
 1a Questão 
 
Considere o código abaixo, digitado em Python. 
 
a, b = 0, 1 
while b < 10: 
 print b 
 a, b = b, a+b 
 
No final da execução do código, o último valor armazenado nas variáveis a e b serão, 
respectivamente, 
 
 8 e 10. 
 8 e 13 
 13 e 20. 
 
5 e 10. 
 13 e 21 
Respondido em 21/03/2019 16:44:56 
 
 
Explicação: 
Implemetação do cálculo da série de Fibonacci em python 
 
 
 
 2a Questão 
 
O conjunto correto de palavras reservadas para a construção de uma estrutura de 
controle em Python 3.4.3 é: 
 
 if, else if e else 
 Somente if; o restante da estrutura de controle (¿senão se¿ e ¿senão¿) é 
realizado simplesmente com indentação. 
 if, elseif e else 
 if, elsif e else 
 if, elif e else 
Respondido em 21/03/2019 16:45:02 
 
 
Explicação: 
if, elif e else são as palavras reservadas em python para a estrutura de decisão "se" 
 
 
 
 3a Questão 
 
Analise o código Python a seguir. 
 
Assinale a opção que descreve corretamente o que acontece quando esse programa é 
executado no Python 
 
 Exibe [10, 20, 30, [40, 50]] 
 Exibe [] 
 Produz uma mensagem de erro, porque tenta executar uma operação inválida 
 Exibe [10, 20, 30], [40, 50] 
 Exibe [10, 20, 30, 40, 50] 
Respondido em 21/03/2019 16:45:13 
 
 
Explicação: 
A função append irá tratar a lista L2 como elemento a ser adicionado à lista L1 
 
 
 
 4a Questão 
 
Considere o código fonte Python abaixo. 
 
Para que seja exibido [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] a lacuna ___I___ precisa 
ser preenchida corretamente com: 
 
 resultado.append(a) 
a, b = b, a+b 
 resultado.insert(a) 
a, b = b, a+b 
 resultado.append(a) 
a, b = a+b, b 
 resultado.add(a) 
a, b = a, a+b 
 resultado.add(a) 
a, b = b, a+b 
Respondido em 21/03/2019 16:45:22 
 
 
Explicação: 
A função "append" adiciona elementos a uma lista existente 
 
 
 
 5a Questão 
 
Dado o código abaixo 
"populacaoA = 80000 
crescimentoA = t 
populacaoB = 200000 
crescimentoB = 1.015 
ano = 1 
while (populacaoA <= populacaoB): 
 populacaoA *= crescimentoA 
 populacaoB *= crescimentoB 
 ano += 1 
# Imprime o resultado 
print 'Serao necessarios', ano, 'anos para que a populacaodo pais A'\ ' ultrapasse a 
populacao do pais B' " 
Para que valor de "t" tem-se um loop infinito? 
 
 
 
 1.04 
 1.05 
 1.02 
 1.03 
 1.01 
Respondido em 21/03/2019 16:45:26 
 
 
Explicação: 
Se crescimentoA for inferior a crescimentoB, a populaçãoA nunca irá superar a 
populacaoB 
 
 
 
 6a Questão 
 
Analise o trecho de programa Python apresentado a seguir. 
 
Ao ser executado, o resultado exibido é: 
 
 
 [ ] 
 [1] 
 [8, 7, 6, 5, 4, 3, 2, 1] 
 [1, 2, 3, 4, 5, 6, 7, 8] 
 
[8] 
Respondido em 21/03/2019 16:45:29 
 
 
Explicação: 
O comando [::-1] irá inverter a ordem da lista na impressão 
 1a Questão 
 
Com base no código Python a seguir, qual será a saída produzida pelo algoritmo? 
 
 
 U S A 
 U N 
 U N E S A 
 S A 
 E S A 
Respondido em 27/03/2019 08:28:27 
 
 
Explicação: 
A única condição correta e a da linha 9. 
 
 
 
 2a Questão 
 
Qual é a saída do seguinte código? 
print("abc DEF".capitalize()) 
 
 ABC DEF 
 Abc def 
 abc def 
 Não será exibida nenhuma mensagem, pois o código está errado. 
 Abc Def 
Respondido em 27/03/2019 08:29:57 
 
 
Explicação: 
capitalize aplica a caixa alta somente para o primeiro caracter 
 
 
 
 3a Questão 
 
Observe o código Python a seguir e informe o número de comparações realizadas. O 
algoritmo imprime a mensagem da situação escolar de uma aluno, com os segintes 
status: aprovado com nota 7 ou maior; entre 4 e 6,9 Final e menor do que 4 o aluno é 
reprovado. 
 
 
 NDA 
 4 
 3 
 2 
 1 
Respondido em 27/03/2019 08:31:25 
 
 
Explicação: 
Da maneira como está, o algoritmo irá realizar as comparações para cada estrutura 
condicional if. 
 
 
 
 4a Questão 
 
Quais os resultados retornados pelos comandos 
1. math.ceil(3.4) 
2. math.floor(3.4) 
3. print(math.fabs(-3.4)) 
 
 3, 3 e 3.4 
 Nenhuma das anteriores 
 3, 3 e 0 
 4, 3 e 3.4 
 4, 3 e 0 
Respondido em 27/03/2019 08:32:12 
 
 
Explicação: 
Ceil arredonda pra cima. Round trunca o número. fabs é o número absoluto (sem 
sinal) 
 
 
 
 5a Questão 
 
Analise as assertivas sobre as funções em Python: 
I. o resultado da expressão k = 2 + 3l é um número complexo. 
II. o resultado de round(0.5) - round(-0.5) é 2. 
III. considerando x = 8/3, o resultado de floor(Fraction(x)) é igual ao 
round(Fraction(x)). 
São corretas as alternativas: 
 
 I e III 
 II e III 
 I e II 
 Somente I 
 Nenhuma das anteriores 
Respondido em 27/03/2019 08:33:05 
 
 
Explicação: 
O item I é um número complexo. O item II o resultado da expressão é 0. O item III, o 
resultado de floor é 2, ao passo que o round é 3. 
 
 
 
 6a Questão 
 
Analise as assertivas sobre as funções em Python: 
1. o resultado da expressão k = 2 + 3l não é um número complexo. 
2. o resultado de round(0.5) - round(-0.5) é 2. 
3. considerando x = 8/3, o resultado de floor(Fraction(x)) é igual ao 
round(Fraction(x)). 
São incorretas as alternativas: 
 
 1 e 2 
 Somente 1 
 1 e 3 
 Todas as alternativas 
 2 e 3 
Respondido em 27/03/2019 08:33:43 
 
 
Explicação: 
O item I é um número complexo. O item II o resultado da expressão é 0. O item III, o 
resultado de floor é 2, ao passo que o round é 3. 
 
 
 
 
 7a Questão 
 
Qual das seguintes funções é uma função interna (built-in) no Python? 
 
 factorial() 
 sqrt() 
 print() 
 seed() 
 Nenhuma das anteriores 
Respondido em 27/03/2019 08:34:01 
 
 
Explicação: 
A função seed é uma função que está presente no módulo randomo. As funções sqrt e 
fatorial fazem parte do módulo math. A função de impressão é uma função interna que 
imprime um valor diretamente na saída do sistema. 
 1a Questão 
 
Com base no código Python a seguir, qual será a saída produzida pelo algoritmo? 
 
 
 E S A 
 U S A 
 U N E S A 
 S A 
 U N 
Respondido em 27/03/2019 08:39:30 
 
 
Explicação: 
A única condição correta e a da linha 9. 
 
 
 
 2a Questão 
 
Qual é a saída do seguinte código? 
print("abc DEF".capitalize()) 
 
 Abc def 
 ABC DEF 
 Abc Def 
 abc def 
 Não será exibida nenhuma mensagem, pois o código está errado. 
Respondido em 27/03/2019 08:40:03 
 
 
Explicação: 
capitalize aplica a caixa alta somente para o primeiro caracter 
 
 
 
 3a Questão 
 
Observe o código Python a seguir e informe o número de comparações realizadas. O 
algoritmo imprime a mensagem da situação escolar de uma aluno, com os segintes 
status: aprovado com nota 7 ou maior; entre 4 e 6,9 Final e menor do que 4 o aluno é 
reprovado. 
 
 
 2 
 3 
 4 
 NDA 
 1 
Respondido em 27/03/2019 08:40:50 
 
 
Explicação: 
Da maneira como está, o algoritmo irá realizar as comparações para cada estrutura 
condicional if. 
 
 
 
 4a Questão 
 
Quais os resultados retornados pelos comandos 
1. math.ceil(3.4) 
2. math.floor(3.4) 
3. print(math.fabs(-3.4)) 
 
 4, 3 e 3.4 
 3, 3 e 0 
 3, 3 e 3.4 
 4, 3 e 0 
 Nenhuma das anteriores 
Respondido em 27/03/2019 08:41:10 
 
 
Explicação: 
Ceil arredonda pra cima. Round trunca o número. fabs é o número absoluto (sem 
sinal) 
 
 
 
 5a Questão 
 
Analise as assertivas sobre as funções em Python: 
I. o resultado da expressão k = 2 + 3l é um número complexo. 
II. o resultado de round(0.5) - round(-0.5) é 2. 
III. considerando x = 8/3, o resultado de floor(Fraction(x)) é igual ao 
round(Fraction(x)). 
São corretas as alternativas: 
 
 I e II 
 I e III 
 II e III 
 Nenhuma das anteriores 
 Somente I 
Respondido em 27/03/2019 08:41:40 
 
 
Explicação: 
O item I é um número complexo. O item II o resultado da expressão é 0. O item III, o 
resultado de floor é 2, ao passo que o round é 3. 
 
 
 
 6a Questão 
 
Analise as assertivas sobre as funções em Python: 
1. o resultado da expressão k = 2 + 3l não é um número complexo. 
2. o resultado de round(0.5) - round(-0.5) é 2. 
3. considerando x = 8/3, o resultado de floor(Fraction(x)) é igual ao 
round(Fraction(x)). 
São incorretas as alternativas: 
 
 Todas as alternativas 
 1 e 2 
 2 e 3 
 Somente 1 
 1 e 3 
Respondido em 27/03/2019 08:42:54 
 
 
Explicação: 
O item I é um número complexo. O item II o resultado da expressão é 0. O item III, o 
resultado de floor é 2, ao passo que o round é 3. 
 
 
 
 
 7a Questão 
 
Qual das seguintes funções é uma função interna (built-in) no Python? 
 
 print() 
 seed() 
 factorial() 
 sqrt() 
 Nenhuma das anteriores 
Respondido em 27/03/2019 08:43:14 
 
 
Explicação: 
A função seed é uma função que está presente no módulo randomo. As funções sqrt e 
fatorial fazem parte do módulo math. A função de impressão é uma função interna que 
imprime um valor diretamente na saída do sistema. 
 
 1a Questão 
 
Com base no código Python a seguir, qual será a saída produzida pelo algoritmo? 
 
 
 U S A 
 E S A 
 U N 
 S A 
 U N E S A 
Respondido em 27/03/2019 08:46:05 
 
 
Explicação: 
A única condição correta e a da linha 9. 
 
 
 
 2a Questão 
 
Qual é a saída do seguinte código? 
print("abc DEF".capitalize()) 
 
 abc def 
 Abc Def 
 Não será exibida nenhuma mensagem, pois o código está errado. 
 Abc def 
 ABC DEF 
Respondido em 27/03/2019 08:46:21 
 
 
Explicação: 
capitalize aplica a caixa alta somente para o primeiro caracter 
 
 
 
 3a Questão 
 
Observe o código Python a seguir e informe o número de comparações realizadas. O 
algoritmo imprime a mensagem da situação escolar de uma aluno, com os segintes 
status: aprovado com nota 7 ou maior; entre 4 e 6,9 Final e menor do que 4 o aluno é 
reprovado. 
 
 
 4 
 2 
 3 
 1 
 NDA 
Respondido em 27/03/2019 08:46:27 
 
 
Explicação: 
Da maneira como está, o algoritmo irá realizar as comparações para cada estrutura 
condicional if. 
 
 
 
 4a Questão 
 
Quais os resultados retornados pelos comandos 
1. math.ceil(3.4) 
2. math.floor(3.4) 
3. print(math.fabs(-3.4)) 
 
 4, 3 e 3.4 
 4, 3 e 0 
 Nenhuma das anteriores 
 3, 3 e 3.4 
 3, 3 e 0 
Respondido em 27/03/2019 08:46:35 
 
 
Explicação: 
Ceil arredonda pra cima.Round trunca o número. fabs é o número absoluto (sem 
sinal) 
 
 
 
 5a Questão 
 
Analise as assertivas sobre as funções em Python: 
I. o resultado da expressão k = 2 + 3l é um número complexo. 
II. o resultado de round(0.5) - round(-0.5) é 2. 
III. considerando x = 8/3, o resultado de floor(Fraction(x)) é igual ao 
round(Fraction(x)). 
São corretas as alternativas: 
 
 Somente I 
 Nenhuma das anteriores 
 I e II 
 II e III 
 I e III 
Respondido em 27/03/2019 08:46:47 
 
 
Explicação: 
O item I é um número complexo. O item II o resultado da expressão é 0. O item III, o 
resultado de floor é 2, ao passo que o round é 3. 
 
 
 
 6a Questão 
 
Analise as assertivas sobre as funções em Python: 
1. o resultado da expressão k = 2 + 3l não é um número complexo. 
2. o resultado de round(0.5) - round(-0.5) é 2. 
3. considerando x = 8/3, o resultado de floor(Fraction(x)) é igual ao 
round(Fraction(x)). 
São incorretas as alternativas: 
 
 Todas as alternativas 
 1 e 3 
 Somente 1 
 1 e 2 
 2 e 3 
Respondido em 27/03/2019 08:46:54 
 
 
Explicação: 
O item I é um número complexo. O item II o resultado da expressão é 0. O item III, o 
resultado de floor é 2, ao passo que o round é 3. 
 
 
 
 
 7a Questão 
 
Qual das seguintes funções é uma função interna (built-in) no Python? 
 
 factorial() 
 sqrt() 
 print() 
 seed() 
 Nenhuma das anteriores 
Respondido em 27/03/2019 08:47:01 
 
 
Explicação: 
A função seed é uma função que está presente no módulo randomo. As funções sqrt e 
fatorial fazem parte do módulo math. A função de impressão é uma função interna que 
imprime um valor diretamente na saída do sistema. 
 
1a Questão 
 
Observe as assertivas a seguir sobre estrutura sequencial. 
1. No Python, uma decisão pode ser feita usando if else statement. 
2. Verificar várias condições no Python requer instruções elseif. 
3. Se a condição for avaliada como verdadeira, a (s) instrução (ões) do bloco if 
será executada, caso contrário, a (s) instrução (ões) em outro bloco (se houver 
outra especificada) será executada. 
4. A estrutura switch.case no Python existe, podendo ser representada pelo 
comando if. 
São incorretas as alternativas: 
 
 3 e 4 
 1 e 2 
 Todas as alternativas 
 2 e 4 
 1 e 3 
Respondido em 09/04/2019 08:43:14 
 
 
Explicação: 
Verificar várias condições no Python requer instruções elif, e não elseif como no item 
2. 
A estrutura switch.case no Python não existe, diferente do que afirma a questão 4. 
 
 
 
 2a Questão 
 
Observe as assertivas a seguir sobre estrutura sequencial. 
1. No Python, uma decisão pode ser feita usando if else statement. 
2. Verificar várias condições no Python requer instruções elif. 
3. Se a condição for avaliada como verdadeira, a (s) instrução (ões) do bloco if 
será executada, caso contrário, a (s) instrução (ões) em outro bloco (se houver 
outra especificada) será executada. 
4. A estrutura switch.case no Python não existe, sendo assim representada pelo 
comando if. 
São corretas as alternativas: 
 
 1 e 3 
 1 e 2 
 Todas as alternativas 
 2 e 3 
 2 e 4 
Respondido em 09/04/2019 08:43:24 
 
 
Explicação: 
Todas são corretas, pois a estrutura if é responsável pela tomada de decisão em várias 
linguagens, assim como no Python. Estruturas encadeadas são compostas pelo 
comando elif. 
 
 
 
 3a Questão 
 
Qual será a saída do código abaixo? 
L = [10, 12, 14, 16] 
for item in range(1,4,2): 
 print(L[item]) 
 
 12 
 16 
 10, 14 
 12, 16 
 12, 14 
Respondido em 09/04/2019 08:43:35 
 
 
Explicação: 
A saída será os elementos de ordem 1 e 3 da lista L dada 
 
 
 
 4a Questão 
 
Qual a saída do código abaixo? 
 
"int volume (int altura, int largura, int comprimento) 
{return altura * largura * comprimento;} 
main() 
{int a1 = 1, l1 = 2, c1 = 3, a2 = 4, c2 = 5, l2 = 6; 
int v1, v2; 
v1 = volume(a1, l1, c1); 
v2 = volume(a2, l2, c2); 
print("v1: %d\nv2: %d\n", v1, v2); 
}" 
 
 v1:6, v2:120 
 6 
 120 
 
1 
 2 
Respondido em 09/04/2019 08:43:47 
 
 
Explicação: 
O módulo volume multipla as dimensões inseridas 
 
 
 
 5a Questão 
 
O Python permite que partes diferentes de um programa sejam definidas em arquivos 
diferentes, chamados de módulos. O Python também oferece vários módulos nativos, 
como o math (que contém várias funções matemáticas), o statistics (que inclui várias 
rotinas estatísticas), o sys para acessar funções do sistema, etc. Para utilizar as 
funções e classes definidas nesses módulos, qual comando devemos utilizar? 
 
 import 
 add 
 include 
 plus 
 inclusive 
Respondido em 09/04/2019 08:43:56 
 
 
Explicação: 
import permite incluir módulos externos 
 
 
 
 6a Questão 
 
def exemplo(valor): 
 numero = valor * 2 
 if numero > 10: 
 return numero 
 
 valor = valor + 5 
 return valor 
print(exemplo(7)) 
Qual a saída do código anterior? 
 
 7 
 14 
 2 
 12 
 5 
Respondido em 09/04/2019 08:44:08 
 
 
Explicação: 
Antes do teste lógico "if", o valor do parametro enviado (7) é dobrado, fazendo com que 
o teste "if" seja verdadeiro, dobrando o valor de entrada 
 1a Questão 
 
Observe as assertivas a seguir sobre estrutura sequencial. 
1. No Python, uma decisão pode ser feita usando if else statement. 
2. Verificar várias condições no Python requer instruções elseif. 
3. Se a condição for avaliada como verdadeira, a (s) instrução (ões) do bloco if 
será executada, caso contrário, a (s) instrução (ões) em outro bloco (se houver 
outra especificada) será executada. 
4. A estrutura switch.case no Python existe, podendo ser representada pelo 
comando if. 
São incorretas as alternativas: 
 
 Todas as alternativas 
 1 e 3 
 2 e 4 
 1 e 2 
 3 e 4 
Respondido em 09/04/2019 08:45:04 
 
 
Explicação: 
Verificar várias condições no Python requer instruções elif, e não elseif como no item 
2. 
A estrutura switch.case no Python não existe, diferente do que afirma a questão 4. 
 
 
 
 2a Questão 
 
Observe as assertivas a seguir sobre estrutura sequencial. 
1. No Python, uma decisão pode ser feita usando if else statement. 
2. Verificar várias condições no Python requer instruções elif. 
3. Se a condição for avaliada como verdadeira, a (s) instrução (ões) do bloco if 
será executada, caso contrário, a (s) instrução (ões) em outro bloco (se houver 
outra especificada) será executada. 
4. A estrutura switch.case no Python não existe, sendo assim representada pelo 
comando if. 
São corretas as alternativas: 
 
 1 e 3 
 2 e 4 
 1 e 2 
 Todas as alternativas 
 2 e 3 
Respondido em 09/04/2019 08:45:37 
 
 
Explicação: 
Todas são corretas, pois a estrutura if é responsável pela tomada de decisão em várias 
linguagens, assim como no Python. Estruturas encadeadas são compostas pelo 
comando elif. 
 
 
 
 3a Questão 
 
Qual será a saída do código abaixo? 
L = [10, 12, 14, 16] 
for item in range(1,4,2): 
 print(L[item]) 
 
 12, 14 
 12, 16 
 12 
 16 
 10, 14 
Respondido em 09/04/2019 08:52:16 
 
 
Explicação: 
A saída será os elementos de ordem 1 e 3 da lista L dada 
 
 
 
 4a Questão 
 
Qual a saída do código abaixo? 
 
"int volume (int altura, int largura, int comprimento) 
{return altura * largura * comprimento;} 
main() 
{int a1 = 1, l1 = 2, c1 = 3, a2 = 4, c2 = 5, l2 = 6; 
int v1, v2; 
v1 = volume(a1, l1, c1); 
v2 = volume(a2, l2, c2); 
print("v1: %d\nv2: %d\n", v1, v2); 
}" 
 
 2 
 
1 
 6 
 120 
 v1:6, v2:120 
Respondido em 09/04/2019 08:52:23 
 
 
Explicação: 
O módulo volume multipla as dimensões inseridas 
 
 
 
 5a Questão 
 
O Python permite que partes diferentes de um programa sejam definidas em arquivos 
diferentes, chamados de módulos. O Python também oferece vários módulos nativos, 
como o math (que contém várias funções matemáticas), o statistics (que inclui várias 
rotinas estatísticas), o sys para acessar funções do sistema, etc. Para utilizar as 
funções e classes definidas nesses módulos, qual comando devemos utilizar? 
 
 add 
 inclusiveplus 
 include 
 import 
Respondido em 09/04/2019 08:52:28 
 
 
Explicação: 
import permite incluir módulos externos 
 
 
 
 6a Questão 
 
def exemplo(valor): 
 numero = valor * 2 
 if numero > 10: 
 return numero 
 
 valor = valor + 5 
 return valor 
print(exemplo(7)) 
Qual a saída do código anterior? 
 
 14 
 2 
 7 
 5 
 12 
Respondido em 09/04/2019 08:52:34 
 
 
Explicação: 
Antes do teste lógico "if", o valor do parametro enviado (7) é dobrado, fazendo com que 
o teste "if" seja verdadeiro, dobrando o valor de entrada 
1a Questão 
 
Observe as assertivas a seguir sobre estrutura sequencial. 
1. No Python, uma decisão pode ser feita usando if else statement. 
2. Verificar várias condições no Python requer instruções elseif. 
3. Se a condição for avaliada como verdadeira, a (s) instrução (ões) do bloco if 
será executada, caso contrário, a (s) instrução (ões) em outro bloco (se houver 
outra especificada) será executada. 
4. A estrutura switch.case no Python existe, podendo ser representada pelo 
comando if. 
São incorretas as alternativas: 
 
 1 e 2 
 Todas as alternativas 
 2 e 4 
 1 e 3 
 3 e 4 
Respondido em 09/04/2019 08:53:05 
 
 
Explicação: 
Verificar várias condições no Python requer instruções elif, e não elseif como no item 
2. 
A estrutura switch.case no Python não existe, diferente do que afirma a questão 4. 
 
 
 
 2a Questão 
 
Observe as assertivas a seguir sobre estrutura sequencial. 
1. No Python, uma decisão pode ser feita usando if else statement. 
2. Verificar várias condições no Python requer instruções elif. 
3. Se a condição for avaliada como verdadeira, a (s) instrução (ões) do bloco if 
será executada, caso contrário, a (s) instrução (ões) em outro bloco (se houver 
outra especificada) será executada. 
4. A estrutura switch.case no Python não existe, sendo assim representada pelo 
comando if. 
São corretas as alternativas: 
 
 2 e 4 
 Todas as alternativas 
 1 e 3 
 2 e 3 
 1 e 2 
Respondido em 09/04/2019 08:53:10 
 
 
Explicação: 
Todas são corretas, pois a estrutura if é responsável pela tomada de decisão em várias 
linguagens, assim como no Python. Estruturas encadeadas são compostas pelo 
comando elif. 
 
 
 
 3a Questão 
 
Qual será a saída do código abaixo? 
L = [10, 12, 14, 16] 
for item in range(1,4,2): 
 print(L[item]) 
 
 10, 14 
 12, 14 
 12 
 16 
 12, 16 
Respondido em 09/04/2019 08:53:16 
 
 
Explicação: 
A saída será os elementos de ordem 1 e 3 da lista L dada 
 
 
 
 4a Questão 
 
Qual a saída do código abaixo? 
 
"int volume (int altura, int largura, int comprimento) 
{return altura * largura * comprimento;} 
main() 
{int a1 = 1, l1 = 2, c1 = 3, a2 = 4, c2 = 5, l2 = 6; 
int v1, v2; 
v1 = volume(a1, l1, c1); 
v2 = volume(a2, l2, c2); 
print("v1: %d\nv2: %d\n", v1, v2); 
}" 
 
 v1:6, v2:120 
 
1 
 120 
 2 
 6 
Respondido em 09/04/2019 08:53:20 
 
 
Explicação: 
O módulo volume multipla as dimensões inseridas 
 
 
 
 5a Questão 
 
O Python permite que partes diferentes de um programa sejam definidas em arquivos 
diferentes, chamados de módulos. O Python também oferece vários módulos nativos, 
como o math (que contém várias funções matemáticas), o statistics (que inclui várias 
rotinas estatísticas), o sys para acessar funções do sistema, etc. Para utilizar as 
funções e classes definidas nesses módulos, qual comando devemos utilizar? 
 
 include 
 add 
 import 
 inclusive 
 plus 
Respondido em 09/04/2019 08:53:25 
 
 
Explicação: 
import permite incluir módulos externos 
 
 
 
 6a Questão 
 
def exemplo(valor): 
 numero = valor * 2 
 if numero > 10: 
 return numero 
 
 valor = valor + 5 
 return valor 
print(exemplo(7)) 
Qual a saída do código anterior? 
 
 7 
 2 
 5 
 12 
 14 
Respondido em 09/04/2019 08:53:29 
 
 
Explicação: 
Antes do teste lógico "if", o valor do parametro enviado (7) é dobrado, fazendo com que 
o teste "if" seja verdadeiro, dobrando o valor de entrada 
 
1a Questão 
 
Observe o código Pyton a seguir e informe qual será a saída: 
total = 200 
pais = "BR" 
if pais == "US": 
 if total <= 50: 
 print("O custo de envio é $50") 
elif total <= 100: 
 print("O custo de envio é $25") 
elif total <= 150: 
 print("O custo de envio é $5") 
else: 
 print("FREE") 
if pais == "BR": 
 if total <= 500: 
 print("O custo de envio é $100") 
else: 
 print("FREE") 
 
 "O custo de envio é $100" 
 "O custo de envio é $5" 
 "FREE" 
 "O custo de envio é $25" 
 "O custo de envio é $50" 
Respondido em 29/04/2019 05:59:55 
 
 
Explicação: 
No primeiro teste lógico a resposta é "F", logo nada é executado. Na segunda 
estrutura de decisão, a primeira resposta é verdadeira (pais = BR) , e o custo é 
"FREE", pois total <= 500 
 
 
 
 2a Questão 
 
A precedência de operadores é particulamente importante em estruturas condicionais. 
Assim, sequência correta de precedência segue a seguinte ordem: 
 
 Parênteses mais internos, Operadores lógicos, Operadores relacionais 
e Operadores aritméticos 
 Parênteses mais internos, Operadores aritméticos, Operadores lógicos 
e Operadores relacionais 
 Parênteses mais internos, Operadores aritméticos, Operadores relacionais e 
Operadores lógicos 
 Parênteses mais internos, Operadores relacionais, Operadores lógicos 
e Operadores aritméticos 
 Parênteses mais internos, Operadores relacionais, Operadores aritméticos e 
Operadores lógicos 
Respondido em 29/04/2019 06:00:11 
 
 
Explicação: 
Conforme abordado no tópico "Operadores Aritméticos, Relacionais e Lógicos", a 
sequência correta segue os parênteses mais internos; depois os aritméticos; após os 
relacionais e, por último, os lógicos. 
 
 
 
 3a Questão 
 
if False: 
print("Nissan") 
elif True: 
print("Ford") 
elif True: print("BMW") 
else: print("Audi") 
 
 Mercedez 
 Nissan 
 Audi 
 BMW 
 Ford 
Respondido em 29/04/2019 06:00:33 
 
 
Explicação: 
O Ford foi selecionado na primeira condição verdadeira 
 
 
 
 4a Questão 
 
Qual a saída produzida pelo seguinte código em Python? 
if True: 
 print("Nissan") 
elif True: 
 print("Ford") 
elif True: 
 print("BMW") 
else: 
 print("Audi") 
 
 Nissan 
 Nenhuma palavra 
 Audi 
 BMW 
 Ford 
Respondido em 29/04/2019 06:00:50 
 
 
Explicação: 
Uma vez que a primeira estrutura de seleção é satisfeita, a palavra 'Nissan' será 
impressa. Como as demais estruturas são aninhadas com o if inicial, elas não 
imprimem suas respectivas mensagens. 
 
 
 
 5a Questão 
 
Qual será a saída do código abaixo 
def f(n): 
 num = int(n) 
 if num == 0: 
 return 0 
 if num == 1: 
 return 1 
 if num > 1: 
 return f(num - 1) * num 
 
print (f(5.1)) 
 
 720 
 Haverá mensagem de erro, pois não há fatorial de número não natural 
 15 
 120 
 5 
Respondido em 29/04/2019 06:01:03 
 
 
Explicação: 
O paramentro inicial 5.1 será convertido no inteiro 5 na variável num, fazendo com 
seja possível calcular o fatorial (de 5) 
 
 
 
 6a Questão 
 
Conforme definido, um programa é composto por uma sequência de comandos ou 
blocos, executados de forma linear de cima para baixo. Nos casos em que devemos 
escolher qual (is) blocos devem ser executados, utilizamos a estrutura se..então (ou if 
em Python), nas mais variadas combinações. Para casos onde temos uma quantidade 
considerável de comparações, a melhor estrutura a se utilizar é: 
 
 Seleção Composta 
 Seleção Encadeada 
 Todas as anteriores 
 Seleção simples 
 NDA 
Respondido em 29/04/2019 06:01:36 
 
 
Explicação: 
Esta é a mais indicada por questões de desempenho (menor número de comparações) 
 
1a Questão 
 
Observe o código Pyton a seguir e informe qual será a saída: 
total = 200 
pais = "BR" 
if pais == "US": 
 if total <= 50: 
 print("O custo de envio é $50") 
elif total <= 100: 
 print("O custo de envio é $25") 
elif total <= 150:print("O custo de envio é $5") 
else: 
 print("FREE") 
if pais == "BR": 
 if total <= 500: 
 print("O custo de envio é $100") 
else: 
 print("FREE") 
 
 "O custo de envio é $100" 
 "O custo de envio é $50" 
 "O custo de envio é $5" 
 "FREE" 
 "O custo de envio é $25" 
Respondido em 29/04/2019 06:02:43 
 
 
Explicação: 
No primeiro teste lógico a resposta é "F", logo nada é executado. Na segunda 
estrutura de decisão, a primeira resposta é verdadeira (pais = BR) , e o custo é 
"FREE", pois total <= 500 
 
 
 
 2a Questão 
 
A precedência de operadores é particulamente importante em estruturas condicionais. 
Assim, sequência correta de precedência segue a seguinte ordem: 
 
 Parênteses mais internos, Operadores relacionais, Operadores lógicos 
e Operadores aritméticos 
 Parênteses mais internos, Operadores relacionais, Operadores aritméticos e 
Operadores lógicos 
 Parênteses mais internos, Operadores aritméticos, Operadores relacionais e 
Operadores lógicos 
 Parênteses mais internos, Operadores lógicos, Operadores relacionais 
e Operadores aritméticos 
 Parênteses mais internos, Operadores aritméticos, Operadores lógicos 
e Operadores relacionais 
Respondido em 29/04/2019 06:04:20 
 
 
Explicação: 
Conforme abordado no tópico "Operadores Aritméticos, Relacionais e Lógicos", a 
sequência correta segue os parênteses mais internos; depois os aritméticos; após os 
relacionais e, por último, os lógicos. 
 
 
 
 3a Questão 
 
if False: 
print("Nissan") 
elif True: 
print("Ford") 
elif True: print("BMW") 
else: print("Audi") 
 
 BMW 
 Mercedez 
 Nissan 
 Audi 
 Ford 
Respondido em 29/04/2019 06:03:10 
 
 
Explicação: 
O Ford foi selecionado na primeira condição verdadeira 
 
 
 
 4a Questão 
 
Qual a saída produzida pelo seguinte código em Python? 
if True: 
 print("Nissan") 
elif True: 
 print("Ford") 
elif True: 
 print("BMW") 
else: 
 print("Audi") 
 
 Nenhuma palavra 
 Nissan 
 BMW 
 Audi 
 Ford 
Respondido em 29/04/2019 06:04:34 
 
 
Explicação: 
Uma vez que a primeira estrutura de seleção é satisfeita, a palavra 'Nissan' será 
impressa. Como as demais estruturas são aninhadas com o if inicial, elas não 
imprimem suas respectivas mensagens. 
 
 
 
 5a Questão 
 
Qual será a saída do código abaixo 
def f(n): 
 num = int(n) 
 if num == 0: 
 return 0 
 if num == 1: 
 return 1 
 if num > 1: 
 return f(num - 1) * num 
 
print (f(5.1)) 
 
 15 
 720 
 5 
 Haverá mensagem de erro, pois não há fatorial de número não natural 
 120 
Respondido em 29/04/2019 06:04:52 
 
 
Explicação: 
O paramentro inicial 5.1 será convertido no inteiro 5 na variável num, fazendo com 
seja possível calcular o fatorial (de 5) 
 
 
 
 6a Questão 
 
Conforme definido, um programa é composto por uma sequência de comandos ou 
blocos, executados de forma linear de cima para baixo. Nos casos em que devemos 
escolher qual (is) blocos devem ser executados, utilizamos a estrutura se..então (ou if 
em Python), nas mais variadas combinações. Para casos onde temos uma quantidade 
considerável de comparações, a melhor estrutura a se utilizar é: 
 
 Todas as anteriores 
 Seleção Encadeada 
 Seleção Composta 
 Seleção simples 
 NDA 
Respondido em 29/04/2019 06:06:17 
 
 
Explicação: 
Esta é a mais indicada por questões de desempenho (menor número de comparações) 
 
 1a Questão 
 
Observe o código Pyton a seguir e informe qual será a saída: 
total = 200 
pais = "BR" 
if pais == "US": 
 if total <= 50: 
 print("O custo de envio é $50") 
elif total <= 100: 
 print("O custo de envio é $25") 
elif total <= 150: 
 print("O custo de envio é $5") 
else: 
 print("FREE") 
if pais == "BR": 
 if total <= 500: 
 print("O custo de envio é $100") 
else: 
 print("FREE") 
 
 "FREE" 
 "O custo de envio é $50" 
 "O custo de envio é $5" 
 "O custo de envio é $100" 
 "O custo de envio é $25" 
Respondido em 29/04/2019 06:06:47 
 
 
Explicação: 
No primeiro teste lógico a resposta é "F", logo nada é executado. Na segunda 
estrutura de decisão, a primeira resposta é verdadeira (pais = BR) , e o custo é 
"FREE", pois total <= 500 
 
 
 
 2a Questão 
 
A precedência de operadores é particulamente importante em estruturas condicionais. 
Assim, sequência correta de precedência segue a seguinte ordem: 
 
 Parênteses mais internos, Operadores relacionais, Operadores aritméticos e 
Operadores lógicos 
 Parênteses mais internos, Operadores aritméticos, Operadores lógicos 
e Operadores relacionais 
 Parênteses mais internos, Operadores aritméticos, Operadores relacionais e 
Operadores lógicos 
 Parênteses mais internos, Operadores relacionais, Operadores lógicos 
e Operadores aritméticos 
 Parênteses mais internos, Operadores lógicos, Operadores relacionais 
e Operadores aritméticos 
Respondido em 29/04/2019 06:07:00 
 
 
Explicação: 
Conforme abordado no tópico "Operadores Aritméticos, Relacionais e Lógicos", a 
sequência correta segue os parênteses mais internos; depois os aritméticos; após os 
relacionais e, por último, os lógicos. 
 
 
 
 3a Questão 
 
if False: 
print("Nissan") 
elif True: 
print("Ford") 
elif True: print("BMW") 
else: print("Audi") 
 
 Mercedez 
 Audi 
 Nissan 
 BMW 
 Ford 
Respondido em 29/04/2019 06:07:12 
 
 
Explicação: 
O Ford foi selecionado na primeira condição verdadeira 
 
 
 
 4a Questão 
 
Qual a saída produzida pelo seguinte código em Python? 
if True: 
 print("Nissan") 
elif True: 
 print("Ford") 
elif True: 
 print("BMW") 
else: 
 print("Audi") 
 
 Ford 
 BMW 
 Audi 
 Nissan 
 Nenhuma palavra 
Respondido em 29/04/2019 06:07:23 
 
 
Explicação: 
Uma vez que a primeira estrutura de seleção é satisfeita, a palavra 'Nissan' será 
impressa. Como as demais estruturas são aninhadas com o if inicial, elas não 
imprimem suas respectivas mensagens. 
 
 
 
 5a Questão 
 
Qual será a saída do código abaixo 
def f(n): 
 num = int(n) 
 if num == 0: 
 return 0 
 if num == 1: 
 return 1 
 if num > 1: 
 return f(num - 1) * num 
 
print (f(5.1)) 
 
 720 
 120 
 Haverá mensagem de erro, pois não há fatorial de número não natural 
 15 
 5 
Respondido em 29/04/2019 06:07:39 
 
 
Explicação: 
O paramentro inicial 5.1 será convertido no inteiro 5 na variável num, fazendo com 
seja possível calcular o fatorial (de 5) 
 
 
 
 6a Questão 
 
Conforme definido, um programa é composto por uma sequência de comandos ou 
blocos, executados de forma linear de cima para baixo. Nos casos em que devemos 
escolher qual (is) blocos devem ser executados, utilizamos a estrutura se..então (ou if 
em Python), nas mais variadas combinações. Para casos onde temos uma quantidade 
considerável de comparações, a melhor estrutura a se utilizar é: 
 
 Seleção Encadeada 
 Seleção Composta 
 Todas as anteriores 
 Seleção simples 
 NDA 
Respondido em 29/04/2019 06:08:24 
 
 
Explicação: 
Esta é a mais indicada por questões de desempenho (menor número de comparações) 
 
 1a Questão 
 
Qual a saída do código Python? 
i = 4 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i+=1 
 
 1 
 1 2 
 Loop infinito 
 1 2 3 
 Nenhuma das anteriores 
Respondido em 06/05/2019 08:03:03 
 
 
Explicação: 
Como a variável i tem valor inicial 4, serão exibidos os valores 4 e 5, já que o resto 
da divisão de 6 por 3 satisfaz a condição. 
 
 
 
 2a Questão 
 
Considere os trechos de código Python numerados abaixo e analise as afirmações que 
seguem. 
1. print(type(('cão', 'gato', ' elefante', 'cobra', 'vespa'))) 
2. x = 1 
print(++++x) 
3. frutas = ['morango', 'abacaxi', 'banana', 'coco'] 
4. x = 'asdf' 
y = '123' 
I. A saída do trecho 1 será "". 
II. A saída do trecho 2 será "1". 
III. Considerando o trecho 3, a saída do comando "frutas[-2]" será "abacaxi". 
IV. Considerando o trecho 3, a saída do comando"print(type(frutas))" será "Array". 
V. Considerando o trecho 4, a saída do comando "print(x+y)" será "asdf1123". 
 
Qual afirmação está correta? 
 
 II 
 I 
 V 
 IV 
 III 
Respondido em 06/05/2019 08:03:17 
 
 
Explicação: 
As saídas do algoritmo da questão são: 
 
1 
b a n a n a 
 
asdf123 
 
 
 
 3a Questão 
 
Qual é a saída do seguinte código Python? 
i = 1 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i + = 1 
 
 1 
 1 2 
 Loop infinito 
 1 2 3 
 Erro 
Respondido em 06/05/2019 08:03:27 
 
 
Explicação: 
O loop só será satisfeito quando o valor da variávei i for 3, situação que interrompe 
(break) o loop. 
 
 
 
 4a Questão 
 
Qual a saída do algoritmo abaixo 
n=5 
x=1 
for i in range(i,n): 
 x=x*i 
 
 5 
 1 
 120 
 15 
 0 
Respondido em 06/05/2019 08:02:07 
 
 
Explicação: 
O código acima calcula o fatorial do valor "N" dado 
 
 
 
 5a Questão 
 
Qual a saída do código abaixo? 
 
lista = [30, 10, 20, 50, 80] 
 
maior = lista[0] 
i = 0 
while i < len(lista): 
 if lista[i] < maior: 
 maior = lista[i] 
 i += 1 
 
print('O número procurado é {}'.format(maior)) 
 
 80 
 50 
 20 
 30 
 10 
Respondido em 06/05/2019 08:02:20 
 
 
Explicação: 
A estrutura while percorre a lista procurando seu menor valor e armazenado-o na 
variável "maior" 
 
 
 
 6a Questão 
 
Assinale a opção que indica o comando Python que produz [-2, -4]. 
 
 print (*range(0, -4, -2)) 
 print (*range(-2, -6, -2)) 
 print (*range(-2, -4, 2)) 
 print (*range(0, -6, 2)) 
 print (*range(-2, -4, -2)) 
Respondido em 06/05/2019 08:05:29 
 
 
Explicação: 
A lista de -2 (inclusive) e -6 (exclusive) com intervalo de 2 unidades consiste nos 
valores -2 e -4 
 
 1a Questão 
 
Qual a saída do código Python? 
i = 4 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i+=1 
 
 Nenhuma das anteriores 
 1 2 3 
 1 2 
 1 
 Loop infinito 
Respondido em 06/05/2019 08:15:03 
 
 
Explicação: 
Como a variável i tem valor inicial 4, serão exibidos os valores 4 e 5, já que o resto 
da divisão de 6 por 3 satisfaz a condição. 
 
 
 
 2a Questão 
 
Considere os trechos de código Python numerados abaixo e analise as afirmações que 
seguem. 
1. print(type(('cão', 'gato', ' elefante', 'cobra', 'vespa'))) 
2. x = 1 
print(++++x) 
3. frutas = ['morango', 'abacaxi', 'banana', 'coco'] 
4. x = 'asdf' 
y = '123' 
I. A saída do trecho 1 será "". 
II. A saída do trecho 2 será "1". 
III. Considerando o trecho 3, a saída do comando "frutas[-2]" será "abacaxi". 
IV. Considerando o trecho 3, a saída do comando "print(type(frutas))" será "Array". 
V. Considerando o trecho 4, a saída do comando "print(x+y)" será "asdf1123". 
 
Qual afirmação está correta? 
 
 IV 
 I 
 V 
 III 
 II 
Respondido em 06/05/2019 08:26:47 
 
 
Explicação: 
As saídas do algoritmo da questão são: 
 
1 
b a n a n a 
 
asdf123 
 
 
 
 3a Questão 
 
Qual é a saída do seguinte código Python? 
i = 1 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i + = 1 
 
 Loop infinito 
 1 2 3 
 1 2 
 1 
 Erro 
Respondido em 06/05/2019 08:26:56 
 
 
Explicação: 
O loop só será satisfeito quando o valor da variávei i for 3, situação que interrompe 
(break) o loop. 
 
 
 
 4a Questão 
 
Qual a saída do algoritmo abaixo 
n=5 
x=1 
for i in range(i,n): 
 x=x*i 
 
 120 
 0 
 1 
 15 
 5 
Respondido em 06/05/2019 08:27:07 
 
 
Explicação: 
O código acima calcula o fatorial do valor "N" dado 
 
 
 
 5a Questão 
 
Qual a saída do código abaixo? 
 
lista = [30, 10, 20, 50, 80] 
 
maior = lista[0] 
i = 0 
while i < len(lista): 
 if lista[i] < maior: 
 maior = lista[i] 
 i += 1 
 
print('O número procurado é {}'.format(maior)) 
 
 30 
 10 
 80 
 50 
 20 
Respondido em 06/05/2019 08:27:14 
 
 
Explicação: 
A estrutura while percorre a lista procurando seu menor valor e armazenado-o na 
variável "maior" 
 
 
 
 6a Questão 
 
Assinale a opção que indica o comando Python que produz [-2, -4]. 
 
 print (*range(-2, -4, 2)) 
 print (*range(-2, -6, -2)) 
 print (*range(0, -6, 2)) 
 print (*range(0, -4, -2)) 
 print (*range(-2, -4, -2)) 
Respondido em 06/05/2019 08:28:09 
 
 
Explicação: 
A lista de -2 (inclusive) e -6 (exclusive) com intervalo de 2 unidades consiste nos 
valores -2 e -4 
1a Questão 
 
Qual a saída do código Python? 
i = 4 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i+=1 
 
 1 
 Loop infinito 
 1 2 
 Nenhuma das anteriores 
 1 2 3 
Respondido em 06/05/2019 08:29:54 
 
 
Explicação: 
Como a variável i tem valor inicial 4, serão exibidos os valores 4 e 5, já que o resto 
da divisão de 6 por 3 satisfaz a condição. 
 
 
 
 2a Questão 
 
Considere os trechos de código Python numerados abaixo e analise as afirmações que 
seguem. 
1. print(type(('cão', 'gato', ' elefante', 'cobra', 'vespa'))) 
2. x = 1 
print(++++x) 
3. frutas = ['morango', 'abacaxi', 'banana', 'coco'] 
4. x = 'asdf' 
y = '123' 
I. A saída do trecho 1 será "". 
II. A saída do trecho 2 será "1". 
III. Considerando o trecho 3, a saída do comando "frutas[-2]" será "abacaxi". 
IV. Considerando o trecho 3, a saída do comando "print(type(frutas))" será "Array". 
V. Considerando o trecho 4, a saída do comando "print(x+y)" será "asdf1123". 
 
Qual afirmação está correta? 
 
 IV 
 II 
 V 
 I 
 III 
Respondido em 06/05/2019 08:30:00 
 
 
Explicação: 
As saídas do algoritmo da questão são: 
 
1 
b a n a n a 
 
asdf123 
 
 
 
 3a Questão 
 
Qual é a saída do seguinte código Python? 
i = 1 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i + = 1 
 
 1 2 
 Erro 
 1 
 1 2 3 
 Loop infinito 
Respondido em 06/05/2019 08:30:06 
 
 
Explicação: 
O loop só será satisfeito quando o valor da variávei i for 3, situação que interrompe 
(break) o loop. 
 
 
 
 4a Questão 
 
Qual a saída do algoritmo abaixo 
n=5 
x=1 
for i in range(i,n): 
 x=x*i 
 
 1 
 0 
 120 
 5 
 15 
Respondido em 06/05/2019 08:30:11 
 
 
Explicação: 
O código acima calcula o fatorial do valor "N" dado 
 
 
 
 5a Questão 
 
Qual a saída do código abaixo? 
 
lista = [30, 10, 20, 50, 80] 
 
maior = lista[0] 
i = 0 
while i < len(lista): 
 if lista[i] < maior: 
 maior = lista[i] 
 i += 1 
 
print('O número procurado é {}'.format(maior)) 
 
 80 
 10 
 30 
 50 
 20 
Respondido em 06/05/2019 08:30:15 
 
 
Explicação: 
A estrutura while percorre a lista procurando seu menor valor e armazenado-o na 
variável "maior" 
 
 
 
 6a Questão 
 
Assinale a opção que indica o comando Python que produz [-2, -4]. 
 
 print (*range(0, -6, 2)) 
 print (*range(-2, -6, -2)) 
 print (*range(-2, -4, 2)) 
 print (*range(-2, -4, -2)) 
 print (*range(0, -4, -2)) 
Respondido em 06/05/2019 08:30:20 
 
 
Explicação: 
A lista de -2 (inclusive) e -6 (exclusive) com intervalo de 2 unidades consiste nos 
valores -2 e -4 
1a Questão 
 
Qual a saída do código Python? 
i = 4 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i+=1 
 
 Nenhuma das anteriores 
 Loop infinito 
 1 2 
 1 2 3 
 1 
Respondido em 06/05/2019 08:31:13 
 
 
Explicação: 
Como a variável i tem valor inicial 4, serão exibidos os valores 4 e 5, já que o resto 
da divisão de 6 por 3 satisfaz a condição. 
 
 
 
 2a Questão 
 
Considere os trechos de código Python numerados abaixo e analise as afirmações que 
seguem. 
1. print(type(('cão', 'gato', ' elefante', 'cobra', 'vespa'))) 
2. x = 1 
print(++++x) 
3. frutas = ['morango', 'abacaxi', 'banana', 'coco'] 
4. x = 'asdf' 
y = '123' 
I. A saída do trecho 1 será "". 
II. A saída do trecho 2 será "1". 
III. Considerando o trecho 3, a saída do comando "frutas[-2]" será "abacaxi". 
IV. Considerando o trecho 3, a saída do comando "print(type(frutas))" será "Array". 
V. Considerando o trecho 4, a saída do comando "print(x+y)" será "asdf1123". 
 
Qual afirmação está correta? 
 
 II 
 III 
 IV 
 I 
 V 
Respondidoem 06/05/2019 08:31:17 
 
 
Explicação: 
As saídas do algoritmo da questão são: 
 
1 
b a n a n a 
 
asdf123 
 
 
 
 3a Questão 
 
Qual é a saída do seguinte código Python? 
i = 1 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i + = 1 
 
 Erro 
 1 2 3 
 1 2 
 Loop infinito 
 1 
Respondido em 06/05/2019 08:31:22 
 
 
Explicação: 
O loop só será satisfeito quando o valor da variávei i for 3, situação que interrompe 
(break) o loop. 
 
 
 
 4a Questão 
 
Qual a saída do algoritmo abaixo 
n=5 
x=1 
for i in range(i,n): 
 x=x*i 
 
 5 
 0 
 120 
 1 
 15 
Respondido em 06/05/2019 08:31:26 
 
 
Explicação: 
O código acima calcula o fatorial do valor "N" dado 
 
 
 
 5a Questão 
 
Qual a saída do código abaixo? 
 
lista = [30, 10, 20, 50, 80] 
 
maior = lista[0] 
i = 0 
while i < len(lista): 
 if lista[i] < maior: 
 maior = lista[i] 
 i += 1 
 
print('O número procurado é {}'.format(maior)) 
 
 80 
 30 
 10 
 20 
 50 
Respondido em 06/05/2019 08:31:30 
 
 
Explicação: 
A estrutura while percorre a lista procurando seu menor valor e armazenado-o na 
variável "maior" 
 
 
 
 6a Questão 
 
Assinale a opção que indica o comando Python que produz [-2, -4]. 
 
 print (*range(-2, -4, -2)) 
 print (*range(0, -4, -2)) 
 print (*range(0, -6, 2)) 
 print (*range(-2, -6, -2)) 
 print (*range(-2, -4, 2)) 
Respondido em 06/05/2019 08:31:45 
 
 
Explicação: 
A lista de -2 (inclusive) e -6 (exclusive) com intervalo de 2 unidades consiste nos 
valores -2 e -4 
 
1a Questão 
 
Qual a saída do código Python? 
i = 4 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i+=1 
 
 1 2 3 
 Loop infinito 
 Nenhuma das anteriores 
 1 
 1 2 
Respondido em 06/05/2019 08:32:12 
 
 
Explicação: 
Como a variável i tem valor inicial 4, serão exibidos os valores 4 e 5, já que o resto 
da divisão de 6 por 3 satisfaz a condição. 
 
 
 
 2a Questão 
 
Considere os trechos de código Python numerados abaixo e analise as afirmações que 
seguem. 
1. print(type(('cão', 'gato', ' elefante', 'cobra', 'vespa'))) 
2. x = 1 
print(++++x) 
3. frutas = ['morango', 'abacaxi', 'banana', 'coco'] 
4. x = 'asdf' 
y = '123' 
I. A saída do trecho 1 será "". 
II. A saída do trecho 2 será "1". 
III. Considerando o trecho 3, a saída do comando "frutas[-2]" será "abacaxi". 
IV. Considerando o trecho 3, a saída do comando "print(type(frutas))" será "Array". 
V. Considerando o trecho 4, a saída do comando "print(x+y)" será "asdf1123". 
 
Qual afirmação está correta? 
 
 IV 
 I 
 II 
 V 
 III 
Respondido em 06/05/2019 08:32:17 
 
 
Explicação: 
As saídas do algoritmo da questão são: 
 
1 
b a n a n a 
 
asdf123 
 
 
 
 3a Questão 
 
Qual é a saída do seguinte código Python? 
i = 1 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i + = 1 
 
 1 
 Erro 
 1 2 
 1 2 3 
 Loop infinito 
Respondido em 06/05/2019 08:32:21 
 
 
Explicação: 
O loop só será satisfeito quando o valor da variávei i for 3, situação que interrompe 
(break) o loop. 
 
 
 
 4a Questão 
 
Qual a saída do algoritmo abaixo 
n=5 
x=1 
for i in range(i,n): 
 x=x*i 
 
 0 
 5 
 120 
 15 
 1 
Respondido em 06/05/2019 08:32:29 
 
 
Explicação: 
O código acima calcula o fatorial do valor "N" dado 
 
 
 
 5a Questão 
 
Qual a saída do código abaixo? 
 
lista = [30, 10, 20, 50, 80] 
 
maior = lista[0] 
i = 0 
while i < len(lista): 
 if lista[i] < maior: 
 maior = lista[i] 
 i += 1 
 
print('O número procurado é {}'.format(maior)) 
 
 20 
 30 
 50 
 10 
 80 
Respondido em 06/05/2019 08:32:33 
 
 
Explicação: 
A estrutura while percorre a lista procurando seu menor valor e armazenado-o na 
variável "maior" 
 
 
 
 6a Questão 
 
Assinale a opção que indica o comando Python que produz [-2, -4]. 
 
 print (*range(-2, -4, -2)) 
 print (*range(0, -4, -2)) 
 print (*range(0, -6, 2)) 
 print (*range(-2, -4, 2)) 
 print (*range(-2, -6, -2)) 
Respondido em 06/05/2019 08:32:49 
 
 
Explicação: 
A lista de -2 (inclusive) e -6 (exclusive) com intervalo de 2 unidades consiste nos 
valores -2 e -4 
 
 1a Questão 
 
Qual a saída do código Python? 
i = 4 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i+=1 
 
 Nenhuma das anteriores 
 Loop infinito 
 1 
 1 2 3 
 1 2 
Respondido em 06/05/2019 08:33:54 
 
 
Explicação: 
Como a variável i tem valor inicial 4, serão exibidos os valores 4 e 5, já que o resto 
da divisão de 6 por 3 satisfaz a condição. 
 
 
 
 2a Questão 
 
Considere os trechos de código Python numerados abaixo e analise as afirmações que 
seguem. 
1. print(type(('cão', 'gato', ' elefante', 'cobra', 'vespa'))) 
2. x = 1 
print(++++x) 
3. frutas = ['morango', 'abacaxi', 'banana', 'coco'] 
4. x = 'asdf' 
y = '123' 
I. A saída do trecho 1 será "". 
II. A saída do trecho 2 será "1". 
III. Considerando o trecho 3, a saída do comando "frutas[-2]" será "abacaxi". 
IV. Considerando o trecho 3, a saída do comando "print(type(frutas))" será "Array". 
V. Considerando o trecho 4, a saída do comando "print(x+y)" será "asdf1123". 
 
Qual afirmação está correta? 
 
 II 
 V 
 IV 
 I 
 III 
Respondido em 06/05/2019 08:33:58 
 
 
Explicação: 
As saídas do algoritmo da questão são: 
 
1 
b a n a n a 
 
asdf123 
 
 
 
 3a Questão 
 
Qual é a saída do seguinte código Python? 
i = 1 
while True: 
 if i%3 == 0: 
 break 
 print(i) 
 
 i + = 1 
 
 1 2 
 Loop infinito 
 1 2 3 
 Erro 
 1 
Respondido em 06/05/2019 08:34:05 
 
 
Explicação: 
O loop só será satisfeito quando o valor da variávei i for 3, situação que interrompe 
(break) o loop. 
 
 
 
 4a Questão 
 
Qual a saída do algoritmo abaixo 
n=5 
x=1 
for i in range(i,n): 
 x=x*i 
 
 5 
 1 
 0 
 120 
 15 
Respondido em 06/05/2019 08:34:09 
 
 
Explicação: 
O código acima calcula o fatorial do valor "N" dado 
 
 
 
 5a Questão 
 
Qual a saída do código abaixo? 
 
lista = [30, 10, 20, 50, 80] 
 
maior = lista[0] 
i = 0 
while i < len(lista): 
 if lista[i] < maior: 
 maior = lista[i] 
 i += 1 
 
print('O número procurado é {}'.format(maior)) 
 
 20 
 80 
 30 
 10 
 50 
Respondido em 06/05/2019 08:34:13 
 
 
Explicação: 
A estrutura while percorre a lista procurando seu menor valor e armazenado-o na 
variável "maior" 
 
 
 
 6a Questão 
 
Assinale a opção que indica o comando Python que produz [-2, -4]. 
 
 print (*range(-2, -6, -2)) 
 print (*range(0, -6, 2)) 
 print (*range(0, -4, -2)) 
 print (*range(-2, -4, 2)) 
 print (*range(-2, -4, -2)) 
Respondido em 06/05/2019 08:34:23 
 
 
Explicação: 
A lista de -2 (inclusive) e -6 (exclusive) com intervalo de 2 unidades consiste nos 
valores -2 e -4 
 1a Questão 
 
Qual das seguintes opções não é uma vantagem de usar módulos? 
 
 Proporciona um meio de dividir tarefas 
 Nenhuma das anteriores 
 Fornece um meio de testar partes individuais do programa 
 Proporciona um meio de reduzir o tamanho do programa 
 
Fornece um meio de reutilização do código do programa 
Respondido em 28/05/2019 07:55:51 
 
 
Explicação: 
O tamanho total do programa permanece o mesmo, independentemente de os 
módulos serem usados ou não. Módulos simplesmente dividem o programa. 
 
 
 
 2a Questão 
 
Qual a saída do seguinte trecho de código? 
 
#mod1 
def troca(a): 
 b=[x*2 for x in a] 
 print(b) 
#mod2 
def troca(a): 
 b=[x*x for x in a] 
 print(b) 
from mod1 import troca 
from mod2 import troca 
#main 
s=[1,2,3] 
troca(s) 
 
 Nenhuma das anteriores 
 [1,4,9] 
 [2,4,6] [1,4,9] 
 [2,4,6] 
 Há um confronto de nomes. 
Respondido em 28/05/2019 07:56:04 
 
 
Explicação: 
Um conflito de nomes ocorre quando duas entidades diferentes com o 
mesmo identificador tornam-se parte do mesmo escopo. Como os dois 
módulos têm o mesmo nome de função, há um conflito de nomes. 
 
 
 
 
 
 
 
 
 
 3a Questão 
 
Quais dessas definições descreve corretamente um módulo?Projeto e implementação de funcionalidades específicas a serem incorporadas 
em um programa 
 Define a especificação de como deve ser usado 
 Nenhuma das anteriores 
 
Denominado por citações triplas para fornecer a especificação 
de certos elementos do programa 
 Qualquer programa que reutilize código 
Respondido em 28/05/2019 07:56:17 
 
 
Explicação: 
O termo ¿módulo¿ refere-se à implementação de funcionalidades 
específicas a serem incorporadas em um programa. 
 
 
 
 4a Questão 
 
Qual das afirmações sobre os módulos é falsa? 
 
 
 Na forma de importação "import", todos os identificadores, 
independentemente de serem privados ou públicos, são importados 
 
 Quando um módulo é carregado, uma versão compilada do módulo com 
extensão de arquivo .pyc é automaticamente produzida 
 
 Na forma de importação "import", os identificadores que começam com dois 
sublinhados são privados e não são importados 
 
 Quando um módulo é carregado, uma versão interpretada do módulo com 
extensão de arquivo .pyc é automaticamente produzida 
 
 a função interna dir () monitora os itens no namespace do módulo principal 
 
Respondido em 28/05/2019 07:56:29 
 
 
Explicação: 
Na forma de importação "import", os identificadores que começam com 
dois sublinhados são privados e não são importados. 
 
 
 
 
 
 
 
 
 
 5a Questão 
 
Qual das seguintes afirmações é verdadeira sobre o processo de 
design top-down? 
 
 
O design geral do programa é abordado antes dos detalhes 
 
Somente o desenho do programa é endereçado 
 
Apenas os detalhes do programa são abordados 
 Nenhuma das anteriores 
 
Os detalhes de um projeto de programa são abordados antes do 
projeto geral 
Respondido em 28/05/2019 07:56:50 
 
 
Explicação: 
O projeto top-down é uma abordagem para derivar um design modular a partir 
do design geral. 
 
 
 
 6a Questão 
 
Qual é a ordem dos namespaces em que o Python procura um identificador? 
 
 
 O Python pesquisa primeiro o namespace interno, o namespace global e, 
finalmente, o namespace local 
 
 O Python pesquisa primeiro o namespace global, depois o namespace local e, 
finalmente, o namespace integrado. 
 
 O Python pesquisa primeiro o namespace local, o namespace global e, 
finalmente, o namespace integrado. 
 
 O Python pesquisa primeiro o namespace interno, o namespace local e, 
finalmente, o namespace global. 
 d) O Python pesquisa primeiro o namespace global, o namespace local e, 
finalmente, o namespace interno. 
Respondido em 28/05/2019 07:57:11 
 
 
Explicação: 
O Python procura primeiro pelo local, depois pelo global e finalmente 
pelo namespace interno. 
1a Questão 
 
Qual das seguintes opções não é uma vantagem de usar módulos? 
 
 Proporciona um meio de reduzir o tamanho do programa 
 Proporciona um meio de dividir tarefas 
 Fornece um meio de testar partes individuais do programa 
 
Fornece um meio de reutilização do código do programa 
 Nenhuma das anteriores 
Respondido em 28/05/2019 07:58:13 
 
 
Explicação: 
O tamanho total do programa permanece o mesmo, independentemente de os 
módulos serem usados ou não. Módulos simplesmente dividem o programa. 
 
 
 
 2a Questão 
 
Qual a saída do seguinte trecho de código? 
 
#mod1 
def troca(a): 
 b=[x*2 for x in a] 
 print(b) 
#mod2 
def troca(a): 
 b=[x*x for x in a] 
 print(b) 
from mod1 import troca 
from mod2 import troca 
#main 
s=[1,2,3] 
troca(s) 
 
 [1,4,9] 
 Nenhuma das anteriores 
 [2,4,6] 
 Há um confronto de nomes. 
 [2,4,6] [1,4,9] 
Respondido em 28/05/2019 07:59:56 
 
 
Explicação: 
Um conflito de nomes ocorre quando duas entidades diferentes com o 
mesmo identificador tornam-se parte do mesmo escopo. Como os dois 
módulos têm o mesmo nome de função, há um conflito de nomes. 
 
 
 
 
 
 
 
 
 
 3a Questão 
 
Quais dessas definições descreve corretamente um módulo? 
 
 Nenhuma das anteriores 
 Qualquer programa que reutilize código 
 Projeto e implementação de funcionalidades específicas a serem incorporadas 
em um programa 
 Define a especificação de como deve ser usado 
 
Denominado por citações triplas para fornecer a especificação 
de certos elementos do programa 
Respondido em 28/05/2019 07:58:26 
 
 
Explicação: 
O termo ¿módulo¿ refere-se à implementação de funcionalidades 
específicas a serem incorporadas em um programa. 
 
 
 
 4a Questão 
 
Qual das afirmações sobre os módulos é falsa? 
 
 
 Quando um módulo é carregado, uma versão compilada do módulo com 
extensão de arquivo .pyc é automaticamente produzida 
 
 Na forma de importação "import", os identificadores que começam com dois 
sublinhados são privados e não são importados 
 
 Na forma de importação "import", todos os identificadores, 
independentemente de serem privados ou públicos, são importados 
 
 a função interna dir () monitora os itens no namespace do módulo principal 
 
 Quando um módulo é carregado, uma versão interpretada do módulo com 
extensão de arquivo .pyc é automaticamente produzida 
 
Respondido em 28/05/2019 07:58:41 
 
 
Explicação: 
Na forma de importação "import", os identificadores que começam com 
dois sublinhados são privados e não são importados. 
 
 
 
 
 
 
 
 
 
 5a Questão 
 
Qual das seguintes afirmações é verdadeira sobre o processo de 
design top-down? 
 
 Nenhuma das anteriores 
 
Os detalhes de um projeto de programa são abordados antes do 
projeto geral 
 
O design geral do programa é abordado antes dos detalhes 
 
Apenas os detalhes do programa são abordados 
 
Somente o desenho do programa é endereçado 
Respondido em 28/05/2019 07:58:54 
 
 
Explicação: 
O projeto top-down é uma abordagem para derivar um design modular a partir 
do design geral. 
 
 
 
 6a Questão 
 
Qual é a ordem dos namespaces em que o Python procura um identificador? 
 
 
 O Python pesquisa primeiro o namespace global, depois o namespace local e, 
finalmente, o namespace integrado. 
 
 O Python pesquisa primeiro o namespace interno, o namespace local e, 
finalmente, o namespace global. 
 O Python pesquisa primeiro o namespace local, o namespace global e, 
finalmente, o namespace integrado. 
 
 d) O Python pesquisa primeiro o namespace global, o namespace local e, 
finalmente, o namespace interno. 
 O Python pesquisa primeiro o namespace interno, o namespace global e, 
finalmente, o namespace local 
 
Respondido em 28/05/2019 07:59:12 
 
 
Explicação: 
O Python procura primeiro pelo local, depois pelo global e finalmente 
pelo namespace interno. 
1a Questão 
 
Qual das seguintes opções não é uma vantagem de usar módulos? 
 
 
Fornece um meio de reutilização do código do programa 
 Proporciona um meio de reduzir o tamanho do programa 
 Fornece um meio de testar partes individuais do programa 
 Proporciona um meio de dividir tarefas 
 Nenhuma das anteriores 
Respondido em 28/05/2019 08:01:08 
 
 
Explicação: 
O tamanho total do programa permanece o mesmo, independentemente de os 
módulos serem usados ou não. Módulos simplesmente dividem o programa. 
 
 
 
 2a Questão 
 
Qual a saída do seguinte trecho de código? 
 
#mod1 
def troca(a): 
 b=[x*2 for x in a] 
 print(b) 
#mod2 
def troca(a): 
 b=[x*x for x in a] 
 print(b) 
from mod1 import troca 
from mod2 import troca 
#main 
s=[1,2,3] 
troca(s) 
 
 [2,4,6] 
 [2,4,6] [1,4,9] 
 Há um confronto de nomes. 
 Nenhuma das anteriores 
 [1,4,9] 
Respondido em 28/05/2019 08:01:18 
 
 
Explicação: 
Um conflito de nomes ocorre quando duas entidades diferentes com o 
mesmo identificador tornam-se parte do mesmo escopo. Como os dois 
módulos têm o mesmo nome de função, há um conflito de nomes. 
 
 
 
 
 
 
 
 
 
 3a Questão 
 
Quais dessas definições descreve corretamente um módulo? 
 
 
Denominado por citações triplas para fornecer a especificação 
de certos elementos do programa 
 Define a especificação de como deve ser usado 
 Qualquer programa que reutilize código 
 Nenhuma dasanteriores 
 Projeto e implementação de funcionalidades específicas a serem incorporadas 
em um programa 
Respondido em 28/05/2019 08:01:59 
 
 
Explicação: 
O termo ¿módulo¿ refere-se à implementação de funcionalidades 
específicas a serem incorporadas em um programa. 
 
 
 
 4a Questão 
 
Qual das afirmações sobre os módulos é falsa? 
 
 
 a função interna dir () monitora os itens no namespace do módulo principal 
 
 Quando um módulo é carregado, uma versão compilada do módulo com 
extensão de arquivo .pyc é automaticamente produzida 
 
 Na forma de importação "import", todos os identificadores, 
independentemente de serem privados ou públicos, são importados 
 
 Quando um módulo é carregado, uma versão interpretada do módulo com 
extensão de arquivo .pyc é automaticamente produzida 
 
 Na forma de importação "import", os identificadores que começam com dois 
sublinhados são privados e não são importados 
 
Respondido em 28/05/2019 08:02:18 
 
 
Explicação: 
Na forma de importação "import", os identificadores que começam com 
dois sublinhados são privados e não são importados. 
 
 
 
 
 
 
 
 
 
 5a Questão 
 
Qual das seguintes afirmações é verdadeira sobre o processo de 
design top-down? 
 
 Nenhuma das anteriores 
 
Apenas os detalhes do programa são abordados 
 
O design geral do programa é abordado antes dos detalhes 
 
Os detalhes de um projeto de programa são abordados antes do 
projeto geral 
 
Somente o desenho do programa é endereçado 
Respondido em 28/05/2019 08:02:31 
 
 
Explicação: 
O projeto top-down é uma abordagem para derivar um design modular a partir 
do design geral. 
 
 
 
 6a Questão 
 
Qual é a ordem dos namespaces em que o Python procura um identificador? 
 
 
 O Python pesquisa primeiro o namespace interno, o namespace global e, 
finalmente, o namespace local 
 
 d) O Python pesquisa primeiro o namespace global, o namespace local e, 
finalmente, o namespace interno. 
 O Python pesquisa primeiro o namespace interno, o namespace local e, 
finalmente, o namespace global. 
 O Python pesquisa primeiro o namespace local, o namespace global e, 
finalmente, o namespace integrado. 
 
 O Python pesquisa primeiro o namespace global, depois o namespace local e, 
finalmente, o namespace integrado. 
 
Respondido em 28/05/2019 08:02:51 
 
 
Explicação: 
O Python procura primeiro pelo local, depois pelo global e finalmente 
pelo namespace interno. 
 1a Questão 
 
Qual será a saída do seguinte código Python? 
 
my_dict = {} 
my_dict[1] = 1 
my_dict['1'] = 2 
my_dict[1.0] = 4 
 
sum = 0 
for k in my_dict: 
 sum += my_dict[k] 
 
print (sum) 
 
 3 
 6 
 4 
 7 
 Erro de sintaxe. 
Respondido em 28/05/2019 08:06:52 
 
 
Explicação: 
Apesar de, aparentemente, o dicionário conter 3 chaves, ele na verdade contém dois. 
O my_dict[1.0] é o mesmo que my_dict[ 
1] sobrescrevendo, portanto, seu valor. Logo, ao final da execução do programa, o 
dicionário é {'1': 2, 1: 4}. 
Como o algoritmo soma os valores do dicionário, a resultado é 6. 
 
 
 
 
 
 
 2a Questão 
 
Qual a saída do código Python a seguir? 
 
r = [11, 12, 13, 14, 15, 16, 17, 18, 19] 
A = [[0, 10, 20], 
 [30, 40, 50], 
 [60, 70, 80]] 
for row in A: 
 for col in row: 
 r.append(col+10) 
print(r) 
 
 [0, 10, 20, 30, 40, 50, 60, 70, 80] 
 [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 
 [10, 20, 30, 40, 50, 60, 70, 80, 90] 
 [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 20, 30, 40, 50, 60, 70, 80, 90] 
 [11, 12, 13, 14, 15, 16, 17, 18, 19] 
Respondido em 28/05/2019 08:07:00 
 
 
Explicação: 
O código mostrado acima adiciona 10 a cada elemento da matriz e imprime a saída 
em linha. Como a lista l já contém alguns elementos, os novos elementos são 
anexados a ela. Assim, a saída deste código é: [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 
20, 30, 40, 50, 60, 70, 80, 90]. 
 
 
 
 3a Questão 
 
Considere uma lista com a seguinte estrutura lst = [10,9,8,7,6,5]. Após a sequencia de comandos abaixo, 
qual será a saída do algoritmo? 
lst.pop() 
lst.pop() 
lst.pop() 
lst.append(15) 
lst.append(11) 
print(lst) 
 
 [5,6,7,8,9,10,11,15] 
 [10,9,8,7,6,5,11,15] 
 [5,6,7,8,9,10] 
 [10,9,8,15,11] 
 [15,11,7,6,5] 
Respondido em 28/05/2019 08:07:13 
 
 
Explicação: 
pop elimina o último elemento da lista, quando a posição a ser excluida não é 
informada, e append insere elemento no final da lista 
 
 
 
 4a Questão 
 
Qual a saída do seguinte código em Python? 
 
def f(value, values): 
 v = 1 
 values[0] = 44 
t = 3 
v = [1, 2, 3] 
f(t, v) 
print(t, v[0]) 
 
 1 44 
 3 1 
 1 1 
 3 44 
 3 3 
Respondido em 28/05/2019 08:07:25 
 
 
Explicação: 
O valor de t foi estipulado em 0. O valor da estrutura list na posição 0 foi alterado 
para 44 pela função. 
 
 
 
 5a Questão 
 
Qual é a saída do seguinte algoritmo em Python? 
 
my_dict = {} 
my_dict[(1,2,4)] = 8 
my_dict[(4,2,1)] = 10 
my_dict[(1,2)] = 12 
sum = 0 
for k in my_dict: 
 sum += my_dict[k] 
print (sum) 
print(my_dict) 
 
 40 
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8} 
 Erro de sintaxe 
 47 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
 30 
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8} 
 30 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
Respondido em 28/05/2019 08:08:44 
 
 
Explicação: 
Soma igual a 30, pois os valores associados às chaves são: 12, 10 e 8. Já as chaves 
são (1,2), (4,2,1) e (1,2,4). 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
 
 
 
 6a Questão 
 
Qual das seguintes estruturas de dados pode ser usada com o operador "in" para 
verificar se um item está na estrutura de dados? 
 
 Somente Set 
 Somente Dictionary 
 
 Somente set e dictionary 
 Somente List 
 
 List, set e dictionary 
Respondido em 28/05/2019 08:09:02 
 
 
Explicação: 
O operador "in" pode ser usado com todas essas três estruturas de dados. 
 
 1a Questão 
 
Qual será a saída do seguinte código Python? 
 
my_dict = {} 
my_dict[1] = 1 
my_dict['1'] = 2 
my_dict[1.0] = 4 
 
sum = 0 
for k in my_dict: 
 sum += my_dict[k] 
 
print (sum) 
 
 4 
 7 
 3 
 6 
 Erro de sintaxe. 
Respondido em 28/05/2019 08:10:01 
 
 
Explicação: 
Apesar de, aparentemente, o dicionário conter 3 chaves, ele na verdade contém dois. 
O my_dict[1.0] é o mesmo que my_dict[ 
1] sobrescrevendo, portanto, seu valor. Logo, ao final da execução do programa, o 
dicionário é {'1': 2, 1: 4}. 
Como o algoritmo soma os valores do dicionário, a resultado é 6. 
 
 
 
 
 
 
 2a Questão 
 
Qual a saída do código Python a seguir? 
 
r = [11, 12, 13, 14, 15, 16, 17, 18, 19] 
A = [[0, 10, 20], 
 [30, 40, 50], 
 [60, 70, 80]] 
for row in A: 
 for col in row: 
 r.append(col+10) 
print(r) 
 
 [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 20, 30, 40, 50, 60, 70, 80, 90] 
 [11, 12, 13, 14, 15, 16, 17, 18, 19] 
 [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 
 [0, 10, 20, 30, 40, 50, 60, 70, 80] 
 [10, 20, 30, 40, 50, 60, 70, 80, 90] 
Respondido em 28/05/2019 08:10:07 
 
 
Explicação: 
O código mostrado acima adiciona 10 a cada elemento da matriz e imprime a saída 
em linha. Como a lista l já contém alguns elementos, os novos elementos são 
anexados a ela. Assim, a saída deste código é: [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 
20, 30, 40, 50, 60, 70, 80, 90]. 
 
 
 
 3a Questão 
 
Considere uma lista com a seguinte estrutura lst = [10,9,8,7,6,5]. Após a sequencia de comandos abaixo, 
qual será a saída do algoritmo? 
lst.pop() 
lst.pop() 
lst.pop() 
lst.append(15) 
lst.append(11) 
print(lst) 
 
 [15,11,7,6,5] 
 [10,9,8,7,6,5,11,15] 
 [5,6,7,8,9,10] 
 [10,9,8,15,11] 
 [5,6,7,8,9,10,11,15] 
Respondido em 28/05/2019 08:10:18 
 
 
Explicação: 
pop elimina o último elemento da lista, quando a posição a ser excluida não é 
informada, e append insere elemento no final da lista 
 
 
 
 4a Questão 
 
Qual a saída do seguinte código em Python? 
 
def f(value, values): 
 v = 1 
 values[0] = 44 
t= 3 
v = [1, 2, 3] 
f(t, v) 
print(t, v[0]) 
 
 1 44 
 3 1 
 1 1 
 3 44 
 3 3 
Respondido em 28/05/2019 08:10:27 
 
 
Explicação: 
O valor de t foi estipulado em 0. O valor da estrutura list na posição 0 foi alterado 
para 44 pela função. 
 
 
 
 5a Questão 
 
Qual é a saída do seguinte algoritmo em Python? 
 
my_dict = {} 
my_dict[(1,2,4)] = 8 
my_dict[(4,2,1)] = 10 
my_dict[(1,2)] = 12 
sum = 0 
for k in my_dict: 
 sum += my_dict[k] 
print (sum) 
print(my_dict) 
 
 40 
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8} 
 Erro de sintaxe 
 47 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
 30 
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8} 
 30 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
Respondido em 28/05/2019 08:10:42 
 
 
Explicação: 
Soma igual a 30, pois os valores associados às chaves são: 12, 10 e 8. Já as chaves 
são (1,2), (4,2,1) e (1,2,4). 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
 
 
 
 6a Questão 
 
Qual das seguintes estruturas de dados pode ser usada com o operador "in" para 
verificar se um item está na estrutura de dados? 
 
 Somente Set 
 Somente Dictionary 
 
 Somente set e dictionary 
 Somente List 
 
 List, set e dictionary 
Respondido em 28/05/2019 08:10:54 
 
 
Explicação: 
O operador "in" pode ser usado com todas essas três estruturas de dados. 
 
1a Questão 
 
Qual será a saída do seguinte código Python? 
 
my_dict = {} 
my_dict[1] = 1 
my_dict['1'] = 2 
my_dict[1.0] = 4 
 
sum = 0 
for k in my_dict: 
 sum += my_dict[k] 
 
print (sum) 
 
 7 
 Erro de sintaxe. 
 6 
 4 
 3 
Respondido em 28/05/2019 08:11:38 
 
 
Explicação: 
Apesar de, aparentemente, o dicionário conter 3 chaves, ele na verdade contém dois. 
O my_dict[1.0] é o mesmo que my_dict[ 
1] sobrescrevendo, portanto, seu valor. Logo, ao final da execução do programa, o 
dicionário é {'1': 2, 1: 4}. 
Como o algoritmo soma os valores do dicionário, a resultado é 6. 
 
 
 
 
 
 
 2a Questão 
 
Qual a saída do código Python a seguir? 
 
r = [11, 12, 13, 14, 15, 16, 17, 18, 19] 
A = [[0, 10, 20], 
 [30, 40, 50], 
 [60, 70, 80]] 
for row in A: 
 for col in row: 
 r.append(col+10) 
print(r) 
 
 [10, 20, 30, 40, 50, 60, 70, 80, 90] 
 [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 20, 30, 40, 50, 60, 70, 80, 90] 
 [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 
 [0, 10, 20, 30, 40, 50, 60, 70, 80] 
 [11, 12, 13, 14, 15, 16, 17, 18, 19] 
Respondido em 28/05/2019 08:11:45 
 
 
Explicação: 
O código mostrado acima adiciona 10 a cada elemento da matriz e imprime a saída 
em linha. Como a lista l já contém alguns elementos, os novos elementos são 
anexados a ela. Assim, a saída deste código é: [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 
20, 30, 40, 50, 60, 70, 80, 90]. 
 
 
 
 3a Questão 
 
Considere uma lista com a seguinte estrutura lst = [10,9,8,7,6,5]. Após a sequencia de comandos abaixo, 
qual será a saída do algoritmo? 
lst.pop() 
lst.pop() 
lst.pop() 
lst.append(15) 
lst.append(11) 
print(lst) 
 
 [5,6,7,8,9,10] 
 [5,6,7,8,9,10,11,15] 
 [10,9,8,7,6,5,11,15] 
 [15,11,7,6,5] 
 [10,9,8,15,11] 
Respondido em 28/05/2019 08:11:56 
 
 
Explicação: 
pop elimina o último elemento da lista, quando a posição a ser excluida não é 
informada, e append insere elemento no final da lista 
 
 
 
 4a Questão 
 
Qual a saída do seguinte código em Python? 
 
def f(value, values): 
 v = 1 
 values[0] = 44 
t = 3 
v = [1, 2, 3] 
f(t, v) 
print(t, v[0]) 
 
 1 1 
 3 44 
 3 1 
 1 44 
 3 3 
Respondido em 28/05/2019 08:12:03 
 
 
Explicação: 
O valor de t foi estipulado em 0. O valor da estrutura list na posição 0 foi alterado 
para 44 pela função. 
 
 
 
 5a Questão 
 
Qual é a saída do seguinte algoritmo em Python? 
 
my_dict = {} 
my_dict[(1,2,4)] = 8 
my_dict[(4,2,1)] = 10 
my_dict[(1,2)] = 12 
sum = 0 
for k in my_dict: 
 sum += my_dict[k] 
print (sum) 
print(my_dict) 
 
 47 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
 30 
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8} 
 40 
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8} 
 Erro de sintaxe 
 30 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
Respondido em 28/05/2019 08:12:19 
 
 
Explicação: 
Soma igual a 30, pois os valores associados às chaves são: 12, 10 e 8. Já as chaves 
são (1,2), (4,2,1) e (1,2,4). 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
 
 
 
 6a Questão 
 
Qual das seguintes estruturas de dados pode ser usada com o operador "in" para 
verificar se um item está na estrutura de dados? 
 
 Somente set e dictionary 
 List, set e dictionary 
 Somente Dictionary 
 
 Somente Set 
 Somente List 
 
Respondido em 28/05/2019 08:12:33 
 
 
Explicação: 
O operador "in" pode ser usado com todas essas três estruturas de dados. 
 
1a Questão 
 
Qual será a saída do seguinte código Python? 
 
my_dict = {} 
my_dict[1] = 1 
my_dict['1'] = 2 
my_dict[1.0] = 4 
 
sum = 0 
for k in my_dict: 
 sum += my_dict[k] 
 
print (sum) 
 
 7 
 Erro de sintaxe. 
 6 
 4 
 3 
Respondido em 28/05/2019 08:11:38 
 
 
Explicação: 
Apesar de, aparentemente, o dicionário conter 3 chaves, ele na verdade contém dois. 
O my_dict[1.0] é o mesmo que my_dict[ 
1] sobrescrevendo, portanto, seu valor. Logo, ao final da execução do programa, o 
dicionário é {'1': 2, 1: 4}. 
Como o algoritmo soma os valores do dicionário, a resultado é 6. 
 
 
 
 
 
 
 2a Questão 
 
Qual a saída do código Python a seguir? 
 
r = [11, 12, 13, 14, 15, 16, 17, 18, 19] 
A = [[0, 10, 20], 
 [30, 40, 50], 
 [60, 70, 80]] 
for row in A: 
 for col in row: 
 r.append(col+10) 
print(r) 
 
 [10, 20, 30, 40, 50, 60, 70, 80, 90] 
 [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 20, 30, 40, 50, 60, 70, 80, 90] 
 [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 
 [0, 10, 20, 30, 40, 50, 60, 70, 80] 
 [11, 12, 13, 14, 15, 16, 17, 18, 19] 
Respondido em 28/05/2019 08:11:45 
 
 
Explicação: 
O código mostrado acima adiciona 10 a cada elemento da matriz e imprime a saída 
em linha. Como a lista l já contém alguns elementos, os novos elementos são 
anexados a ela. Assim, a saída deste código é: [11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 
20, 30, 40, 50, 60, 70, 80, 90]. 
 
 
 
 3a Questão 
 
Considere uma lista com a seguinte estrutura lst = [10,9,8,7,6,5]. Após a sequencia de comandos abaixo, 
qual será a saída do algoritmo? 
lst.pop() 
lst.pop() 
lst.pop() 
lst.append(15) 
lst.append(11) 
print(lst) 
 
 [5,6,7,8,9,10] 
 [5,6,7,8,9,10,11,15] 
 [10,9,8,7,6,5,11,15] 
 [15,11,7,6,5] 
 [10,9,8,15,11] 
Respondido em 28/05/2019 08:11:56 
 
 
Explicação: 
pop elimina o último elemento da lista, quando a posição a ser excluida não é 
informada, e append insere elemento no final da lista 
 
 
 
 4a Questão 
 
Qual a saída do seguinte código em Python? 
 
def f(value, values): 
 v = 1 
 values[0] = 44 
t = 3 
v = [1, 2, 3] 
f(t, v) 
print(t, v[0]) 
 
 1 1 
 3 44 
 3 1 
 1 44 
 3 3 
Respondido em 28/05/2019 08:12:03 
 
 
Explicação: 
O valor de t foi estipulado em 0. O valor da estrutura list na posição 0 foi alterado 
para 44 pela função. 
 
 
 
 5a Questão 
 
Qual é a saída do seguinte algoritmo em Python? 
 
my_dict = {} 
my_dict[(1,2,4)] = 8 
my_dict[(4,2,1)] = 10 
my_dict[(1,2)] = 12 
sum = 0 
for k in my_dict: 
 sum += my_dict[k] 
print (sum) 
print(my_dict) 
 
 47 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
 30 
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8} 
 40 
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8} 
 Erro de sintaxe 
 30 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
Respondido em 28/05/2019 08:12:19 
 
 
Explicação: 
Soma igual a 30, pois os valores associados às chaves são: 12, 10 e 8. Já as chaves 
são (1,2), (4,2,1) e (1,2,4). 
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8} 
 
 
 
 6a Questão 
 
Qual das seguintes estruturas de dados pode ser usada com o operador "in" para 
verificar se um item está na estrutura de dados? 
 
 Somente set e dictionary 
 List, set e dictionary 
 SomenteDictionary 
 
 Somente Set 
 Somente List 
 
Respondido em 28/05/2019 08:12:33 
 
 
Explicação: 
O operador "in" pode ser usado com todas essas três estruturas de dados. 
 1a Questão 
 
Qual a saída do código abaixo? 
 
def troca(vet): 
 for i in range(3): 
 if vet[i] != 0: 
 vet[i] = 0 
 else: 
 vet[i] = 1 
 return vet 
 
vet = [0] * 3 
for i in range(3): 
 vet[i] = i % 2 
troca (vet) 
print (vet) 
 
 [1 ,2, 3] 
 [1, 1, 1] 
 [0, 1, 0] 
 [0, 0, 0] 
 [1, 0, 1] 
Respondido em 29/05/2019 08:08:21 
 
 
Explicação: 
O algoritmo pega os índices da lista (1,2,3) e calcula o resto da divisão deles por 2 
(0,1,0). A função "troca" transforma os valores 0 em 1 e diferente de 0 em 1, tendo 
como saída (1,0,1) 
 
 
 
 2a Questão 
 
Qual o último elemento listado da pilha? 
 
def main(): 
 
 seq = [11, 22, 33, 444] 
 
 pilha = [] 
 for elemento in seq: 
 pilha.append(elemento) 
 
 while len(pilha) > 0: 
 print(pilha) 
 topo = pilha.pop() 
 print("objeto do topo: ", topo) 
 
main() 
 
 33 
 1 
 11 
 444 
 22 
Respondido em 29/05/2019 08:08:42 
 
 
Explicação: 
O comando pop lista e retira os elementos da pilha do último para o primeiro, por 
fim, restando somente o 11 
 
 
 
 3a Questão 
 
 Fazendo com que a operação de push seja dispendiosa, selecione o trecho de código 
que implementa a operação pop (empilhar). 
 
 
def pop(): 
 if(q1.size()>0): 
 q1.poll() 
 elif (q2.size()>0): 
 q2.poll(); 
 
def pop(): 
 q1.poll() 
 q2.poll() 
 
def pop(): 
 q2.poll() 
 q1.poll() 
 Nenhuma das mencionadas 
 
def pop(): 
 if(q1.size()>0): 
 q2.poll() 
 elif (q2.size()>0): 
 q1.poll(); 
Respondido em 29/05/2019 08:09:13 
 
 
Explicação: 
Como a operação de push é dispendiosa, é evidente que o item requerido está na 
frente da fila, portanto apenas desenfileire o elemento da fila. 
 
 
 
 4a Questão 
 
Qual dos seguintes pontos é falso sobre a estrutura de dados lista 
ligada quando é comparada com a array? 
 
 
Acesso aleatório não é permitido em uma implementação típica 
de listas vinculadas 
 As listas vinculadas normalmente não aceitam acesso aleatório 
 
É fácil inserir e excluir elementos na Lista ligada 
 
Arrays têm melhor localidade de cache que pode torná-los 
melhores em termos de desempenho. 
 
O tamanho da matriz e das listas vinculadas podem mudar a 
qualquer momento. 
Respondido em 29/05/2019 08:09:37 
 
 
Explicação: 
Arrays têm melhor localidade de cache que pode torná-los melhores em 
termos de desempenho; É fácil inserir e excluir elementos na Lista 
vinculada - só é preciso saber a localização de onde colocar 
consultando o cabeça; Acesso aleatório não é permitido em uma 
implementação típica de listas vinculadas; O tamanho da matriz deve 
ser pré-definido- são estáticas - , as listas vinculadas podem mudar 
seu tamanho a qualquer momento - são dinâmicas. 
 
 
 
 5a Questão 
 
Selecione o trecho de código que retorna o topo da pilha. 
 
 
def top(): 
 if(q1.size()>0): 
 return q1.peek() 
 elif (q2.size()<0): 
 return q2.peek() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.poll() 
 elif (q2.size()>0): 
 return q2.poll() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.peek() 
 elif (q2.size()>0): 
 return q2.peek() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.poll() 
 elif (q2.size()<0): 
 return q2.poll() 
 return 0 
 
def top(): 
 if(q1.size()==0): 
 return q1.peek() 
 elif (q2.size()==0): 
 return q2.peek() 
 return 0; 
Respondido em 29/05/2019 08:09:59 
 
 
Explicação: 
Supondo que seja uma implementação dispendiosa, o topo da pilha estará na frente 
da fila, note que peek () apenas retorna o elemento front, enquanto poll () remove o 
elemento frontal da fila. 
 
 
 
 6a Questão 
 
Considere as seguintes asserções: 
1. Os tipos de computação FIFO são eficientemente suportados pelos PILHAS. 
2. A implementação de LISTAS em listas vinculadas é mais eficiente do que 
implementar LISTAS em uma matriz para quase todas as operações básicas da 
LISTA. 
3. A implementação de FILAS em um array circular é mais eficiente do que 
implementar FILAS em um array linear com dois índices. 
4. O tipo de computação LIFO é eficientemente suportado por FILAS. 
Qual das seguintes opções está correta? 
 
 
2 e 4 
 
1 e 2 
 
2 e 3 
 
3 e 4 
 1 e 3 
Respondido em 29/05/2019 08:10:19 
 
 
Explicação: 
Listas em uma matriz é um modo ineficiente de implementação, uma vez que as 
matrizes são estruturas estáticas. O uso de um array linear, por si só, já configura um 
modo ineficiente de acessar valores. 
 1a Questão 
 
Qual o último elemento listado da pilha? 
 
def main(): 
 
 seq = [11, 22, 33, 444] 
 
 pilha = [] 
 for elemento in seq: 
 pilha.append(elemento) 
 
 while len(pilha) > 0: 
 print(pilha) 
 topo = pilha.pop() 
 print("objeto do topo: ", topo) 
 
main() 
 
 1 
 444 
 33 
 22 
 11 
Respondido em 29/05/2019 08:11:23 
 
 
Explicação: 
O comando pop lista e retira os elementos da pilha do último para o primeiro, por 
fim, restando somente o 11 
 
 
 
 2a Questão 
 
Qual a saída do código abaixo? 
 
def troca(vet): 
 for i in range(3): 
 if vet[i] != 0: 
 vet[i] = 0 
 else: 
 vet[i] = 1 
 return vet 
 
vet = [0] * 3 
for i in range(3): 
 vet[i] = i % 2 
troca (vet) 
print (vet) 
 
 [0, 0, 0] 
 [1, 1, 1] 
 [0, 1, 0] 
 [1, 0, 1] 
 [1 ,2, 3] 
Respondido em 29/05/2019 08:11:48 
 
 
Explicação: 
O algoritmo pega os índices da lista (1,2,3) e calcula o resto da divisão deles por 2 
(0,1,0). A função "troca" transforma os valores 0 em 1 e diferente de 0 em 1, tendo 
como saída (1,0,1) 
 
 
 
 3a Questão 
 
 Fazendo com que a operação de push seja dispendiosa, selecione o trecho de código 
que implementa a operação pop (empilhar). 
 
 
def pop(): 
 if(q1.size()>0): 
 q2.poll() 
 elif (q2.size()>0): 
 q1.poll(); 
 Nenhuma das mencionadas 
 
def pop(): 
 q2.poll() 
 q1.poll() 
 
def pop(): 
 q1.poll() 
 q2.poll() 
 
def pop(): 
 if(q1.size()>0): 
 q1.poll() 
 elif (q2.size()>0): 
 q2.poll(); 
Respondido em 29/05/2019 08:12:09 
 
 
Explicação: 
Como a operação de push é dispendiosa, é evidente que o item requerido está na 
frente da fila, portanto apenas desenfileire o elemento da fila. 
 
 
 
 4a Questão 
 
Selecione o trecho de código que retorna o topo da pilha. 
 
 
def top(): 
 if(q1.size()==0): 
 return q1.peek() 
 elif (q2.size()==0): 
 return q2.peek() 
 return 0; 
 
def top(): 
 if(q1.size()>0): 
 return q1.peek() 
 elif (q2.size()>0): 
 return q2.peek() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.poll() 
 elif (q2.size()>0): 
 return q2.poll() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.poll() 
 elif (q2.size()<0): 
 return q2.poll() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.peek() 
 elif (q2.size()<0): 
 return q2.peek() 
 return 0 
Respondido em 29/05/2019 08:12:32 
 
 
Explicação: 
Supondo que seja uma implementação dispendiosa, o topo da pilha estará na frente 
da fila, note que peek () apenas retorna o elemento front, enquanto poll () remove o 
elemento frontal da fila. 
 
 
 
 5a Questão 
 
Qual dos seguintes pontos é falso sobre a estrutura de dados lista 
ligada quando é comparada com a array? 
 
 
É fácilinserir e excluir elementos na Lista ligada 
 As listas vinculadas normalmente não aceitam acesso aleatório 
 
Arrays têm melhor localidade de cache que pode torná-los 
melhores em termos de desempenho. 
 
O tamanho da matriz e das listas vinculadas podem mudar a 
qualquer momento. 
 
Acesso aleatório não é permitido em uma implementação típica 
de listas vinculadas 
Respondido em 29/05/2019 08:12:52 
 
 
Explicação: 
Arrays têm melhor localidade de cache que pode torná-los melhores em 
termos de desempenho; É fácil inserir e excluir elementos na Lista 
vinculada - só é preciso saber a localização de onde colocar 
consultando o cabeça; Acesso aleatório não é permitido em uma 
implementação típica de listas vinculadas; O tamanho da matriz deve 
ser pré-definido- são estáticas - , as listas vinculadas podem mudar 
seu tamanho a qualquer momento - são dinâmicas. 
 
 
 
 6a Questão 
 
Considere as seguintes asserções: 
1. Os tipos de computação FIFO são eficientemente suportados pelos PILHAS. 
2. A implementação de LISTAS em listas vinculadas é mais eficiente do que 
implementar LISTAS em uma matriz para quase todas as operações básicas da 
LISTA. 
3. A implementação de FILAS em um array circular é mais eficiente do que 
implementar FILAS em um array linear com dois índices. 
4. O tipo de computação LIFO é eficientemente suportado por FILAS. 
Qual das seguintes opções está correta? 
 
 
2 e 3 
 
1 e 2 
 
3 e 4 
 
2 e 4 
 1 e 3 
Respondido em 29/05/2019 08:13:36 
 
 
Explicação: 
Listas em uma matriz é um modo ineficiente de implementação, uma vez que as 
matrizes são estruturas estáticas. O uso de um array linear, por si só, já configura um 
modo ineficiente de acessar valores. 
1a Questão 
 
Qual a saída do código abaixo? 
 
def troca(vet): 
 for i in range(3): 
 if vet[i] != 0: 
 vet[i] = 0 
 else: 
 vet[i] = 1 
 return vet 
 
vet = [0] * 3 
for i in range(3): 
 vet[i] = i % 2 
troca (vet) 
print (vet) 
 
 [1, 1, 1] 
 [1, 0, 1] 
 [0, 0, 0] 
 [1 ,2, 3] 
 [0, 1, 0] 
Respondido em 29/05/2019 08:14:33 
 
 
Explicação: 
O algoritmo pega os índices da lista (1,2,3) e calcula o resto da divisão deles por 2 
(0,1,0). A função "troca" transforma os valores 0 em 1 e diferente de 0 em 1, tendo 
como saída (1,0,1) 
 
 
 
 2a Questão 
 
Qual o último elemento listado da pilha? 
 
def main(): 
 
 seq = [11, 22, 33, 444] 
 
 pilha = [] 
 for elemento in seq: 
 pilha.append(elemento) 
 
 while len(pilha) > 0: 
 print(pilha) 
 topo = pilha.pop() 
 print("objeto do topo: ", topo) 
 
main() 
 
 11 
 444 
 1 
 33 
 22 
Respondido em 29/05/2019 08:14:41 
 
 
Explicação: 
O comando pop lista e retira os elementos da pilha do último para o primeiro, por 
fim, restando somente o 11 
 
 
 
 3a Questão 
 
 Fazendo com que a operação de push seja dispendiosa, selecione o trecho de código 
que implementa a operação pop (empilhar). 
 
 
def pop(): 
 if(q1.size()>0): 
 q2.poll() 
 elif (q2.size()>0): 
 q1.poll(); 
 
def pop(): 
 if(q1.size()>0): 
 q1.poll() 
 elif (q2.size()>0): 
 q2.poll(); 
 
def pop(): 
 q2.poll() 
 q1.poll() 
 
def pop(): 
 q1.poll() 
 q2.poll() 
 Nenhuma das mencionadas 
Respondido em 29/05/2019 08:15:00 
 
 
Explicação: 
Como a operação de push é dispendiosa, é evidente que o item requerido está na 
frente da fila, portanto apenas desenfileire o elemento da fila. 
 
 
 
 4a Questão 
 
Qual dos seguintes pontos é falso sobre a estrutura de dados lista 
ligada quando é comparada com a array? 
 
 
Arrays têm melhor localidade de cache que pode torná-los 
melhores em termos de desempenho. 
 
Acesso aleatório não é permitido em uma implementação típica 
de listas vinculadas 
 
O tamanho da matriz e das listas vinculadas podem mudar a 
qualquer momento. 
 
É fácil inserir e excluir elementos na Lista ligada 
 As listas vinculadas normalmente não aceitam acesso aleatório 
Respondido em 29/05/2019 08:15:16 
 
 
Explicação: 
Arrays têm melhor localidade de cache que pode torná-los melhores em 
termos de desempenho; É fácil inserir e excluir elementos na Lista 
vinculada - só é preciso saber a localização de onde colocar 
consultando o cabeça; Acesso aleatório não é permitido em uma 
implementação típica de listas vinculadas; O tamanho da matriz deve 
ser pré-definido- são estáticas - , as listas vinculadas podem mudar 
seu tamanho a qualquer momento - são dinâmicas. 
 
 
 
 5a Questão 
 
Selecione o trecho de código que retorna o topo da pilha. 
 
 
def top(): 
 if(q1.size()==0): 
 return q1.peek() 
 elif (q2.size()==0): 
 return q2.peek() 
 return 0; 
 
def top(): 
 if(q1.size()>0): 
 return q1.poll() 
 elif (q2.size()<0): 
 return q2.poll() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.peek() 
 elif (q2.size()>0): 
 return q2.peek() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.poll() 
 elif (q2.size()>0): 
 return q2.poll() 
 return 0 
 
def top(): 
 if(q1.size()>0): 
 return q1.peek() 
 elif (q2.size()<0): 
 return q2.peek() 
 return 0 
Respondido em 29/05/2019 08:16:03 
 
 
Explicação: 
Supondo que seja uma implementação dispendiosa, o topo da pilha estará na frente 
da fila, note que peek () apenas retorna o elemento front, enquanto poll () remove o 
elemento frontal da fila. 
 
 
 
 6a Questão 
 
Considere as seguintes asserções: 
1. Os tipos de computação FIFO são eficientemente suportados pelos PILHAS. 
2. A implementação de LISTAS em listas vinculadas é mais eficiente do que 
implementar LISTAS em uma matriz para quase todas as operações básicas 
da LISTA. 
3. A implementação de FILAS em um array circular é mais eficiente do que 
implementar FILAS em um array linear com dois índices. 
4. O tipo de computação LIFO é eficientemente suportado por FILAS. 
Qual das seguintes opções está correta? 
 
 
3 e 4 
 
2 e 4 
 1 e 3 
 
2 e 3 
 
1 e 2 
Respondido em 29/05/2019 08:16:15 
 
Explicação: 
Listas em uma matriz é um modo ineficiente de implementação, uma vez que as 
matrizes são estruturas estáticas. O uso de um array linear, por si só, já configura um 
modo ineficiente de acessar valores.

Mais conteúdos dessa disciplina