Buscar

INFORMÁTICA PARA ENGENHARIA

Prévia do material em texto

1a Questão
	
	
	
	Parte de um computador que permite ao usuário colocar informações no computador
		
	 
	Dispositivos de entrdada
	
	Dispositivo de saída
 
	
	Placa-mãe
	
	Sistema operacional
 
	
	Unidade de disco
 
	Respondido em 04/02/2020 11:14:47
	
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).
		
	
	Solução
	
	Diagrama
	 
	Algoritmo
	
	Fluxograma
	
	Processo
	Respondido em 04/02/2020 11:15:10
	
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 > Implementação > Testes
	
	Análise > Projeto > Testes > Implementação
	
	Projeto > Análise > Testes > Implementação
	
	Depende da metodologia adotada
	Respondido em 04/02/2020 11:15:40
	
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
	
	Palavra, Sistema Operacional, Tradutor e Interpretador
	 
	CPU (contendo ULA e UC), Memória principal, E/S e Interconexão do sistema.
	
	Codificação, Decodificação, Processamento Paralelo e Pipeline
 
	Respondido em 04/02/2020 11:15:59
	
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
		
	
	RAM
	 
	CPU
	
	Internet
	
	Rede
	
	Disco rígido
	Respondido em 04/02/2020 11:16:17
	
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?
		
	
	6
	
	5
	 
	3
	
	4
	
	2
	Respondido em 04/02/2020 11:16:26
	
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
		
	
	Unidade de disco
 
	
	Dispositivo de saída
 
	
	Sistema operacional
 
	
	Placa-mãe
	 
	Dispositivos de entrdada
	Respondido em 05/02/2020 14:45:46
	
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).
		
	
	Solução
	
	Fluxograma
	
	Processo
	 
	Algoritmo
	
	Diagrama
	Respondido em 10/02/2020 07:58:22
	
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
	
	Depende da metodologia adotada
	
	Projeto > Análise > Implementação > Testes
	
	Análise > Projeto > Testes > Implementação
	
	Projeto > Análise > Testes > Implementação
	Respondido em 10/02/2020 07:59:42
	
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
	
	Palavra, Sistema Operacional, Tradutor e Interpretador
	 
	CPU (contendo ULA e UC), Memória principal, E/S e Interconexão do sistema.
	
	Codificação, Decodificação, Processamento Paralelo e Pipeline
 
	Respondido em 10/02/2020 08:00:55
	
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
		
	 
	CPU
	
	Rede
	
	RAM
	
	Disco rígido
	
	Internet
	Respondido em 10/02/2020 08:01:17
	
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?
		
	
	4
	 
	3
	
	5
	
	2
	
	6
	Respondido em 10/02/2020 08:01: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
	
	
	
	Parte de um computador que permite ao usuário colocar informações no computador
		
	 
	Dispositivos de entrdada
	
	Unidade de disco
 
	
	Dispositivo de saída
 
	
	Placa-mãe
	
	Sistema operacional
 
	Respondido em 10/02/2020 08:02:10
	
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
	 
	Algoritmo
	
	Solução
	
	Processo
	
	Fluxograma
	Respondido em 10/02/2020 08:02:33
	
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çãopara 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:
		
	
	Depende da metodologia adotada
	
	Análise > Projeto > Testes > Implementação
	 
	Análise > Projeto > Implementação > Testes
	
	Projeto > Análise > Testes > Implementação
	
	Projeto > Análise > Implementação > Testes
	Respondido em 10/02/2020 08:02:49
	
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?
		
	
	Palavra, Sistema Operacional, Tradutor e Interpretador
	
	Todos os anteriores
	 
	CPU (contendo ULA e UC), Memória principal, E/S e Interconexão do sistema.
	
	Código Binário, Tabela ASCII, Teorema de De Morgan e Mapa de Karnnaugh.
	
	Codificação, Decodificação, Processamento Paralelo e Pipeline
 
	Respondido em 10/02/2020 08:02:55
	
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
	
	Disco rígido
	
	RAM
	
	Rede
	Respondido em 10/02/2020 08:02:59
	
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?
		
	
	2
	
	6
	
	5
	
	4
	 
	3
	Respondido em 10/02/2020 08:03:02
	
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
	
	Sistema operacional
 
	
	Placa-mãe
	
	Dispositivo de saída
 
	
	Unidade de disco
 
	Respondido em 10/02/2020 08:03:19
	
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
	
	Solução
	 
	Algoritmo
	
	Fluxograma
	Respondido em 10/02/2020 08:03:27
	
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:
		
	
	Depende da metodologia adotada
	
	Análise > Projeto > Testes > Implementação
	 
	Análise > Projeto > Implementação > Testes
	
	Projeto > Análise > Testes > Implementação
	
	Projeto > Análise > Implementação > Testes
	Respondido em 10/02/2020 08:03:35
	
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.
	
	Codificação, Decodificação, Processamento Paralelo e Pipeline
 
	
	Todos os anteriores
	
	Palavra, Sistema Operacional, Tradutor e Interpretador
	 
	CPU (contendo ULA e UC), Memória principal, E/S e Interconexão do sistema.
	Respondido em 10/02/2020 08:03:39
	
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
		
	
	Disco rígido
	 
	CPU
	
	Rede
	
	RAM
	
	Internet
	Respondido em 10/02/2020 08:03:36
	
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?
		
	
	4
	
	5
	
	2
	
	6
	 
	3
	Respondido em 10/02/2020 08:03:38
	
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? 
		
	
	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 04/02/2020 11:58:14
	
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
	
	Apenas na linha 1
	
	Nas linhas 3 e 4
	
	Nas linhas 1 e 3
	
	Nas linhas 2 e 3
	Respondido em 04/02/2020 11:59:12
	
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
	
	5
	
	10
	
	15
	 
	120
	Respondido em 04/02/2020 12:00:54
	
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émuma 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 = 5; B = 3; C = 8
	 
	A = 8; B = 5; C = 3
	
	A = 3; B = 8; C = 5
	
	A = 3; B = 5; C = 8
	Respondido em 04/02/2020 12:01:57
	
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
		
	 
	7 e 11
	
	8 e 9
	
	6 e 12
	
	8 e 12
	
	9 e 12
	Respondido em 04/02/2020 11:18: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.
		4. 
	
	Fluxograma, Narrativa e Pseudocódigo
	
	Narrativa, Fluxograma e Pseudocódigo
	
	Pseudocódigo, Narrativa e Fluxograma
	
	Narrativa, Pseudocódigo e Fluxograma
	 
	Fluxograma, Pseudocódigo e Narrativa
	Respondido em 04/02/2020 12:04:45
	
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? 
		
	
	Não é considerada uma linguagem, mas um estilo de representação baseada na convenção adotada por uma equipe de desenvolvimento de software.
	
	É considerada uma linguagem,  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 complicada
	 
	Linguagem de programação simplificada, que não é uma linguagem específica
	Respondido em 10/02/2020 08:04: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
	
	Apenas na linha 1
	 
	Apenas na linha 3
	
	Nas linhas 1 e 3
	Respondido em 10/02/2020 08:04:46
	
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
	
	5
	
	15
	
	0
	
	10
	Respondido em 10/02/2020 08:05:51
	
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 = 5; C = 3
	
	A = 5; B = 3; C = 8
	
	A = 8; B = 3; C = 5
	
	A = 3; B = 5; C = 8
	
	A = 3; B = 8; C = 5
	Respondido em 10/02/2020 08:07:12
	
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 12
	
	9 e 12
	 
	7 e 11
	
	6 e 12
	
	8 e 9
	Respondido em 10/02/2020 08:08:43
	
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.
		4. 
	
	Fluxograma, Narrativa e Pseudocódigo
	
	Narrativa, Fluxograma e Pseudocódigo
	 
	Fluxograma, Pseudocódigo e Narrativa
	
	Pseudocódigo, Narrativa e Fluxograma
	
	Narrativa, Pseudocódigo e Fluxograma
	Respondido em 10/02/2020 08:09: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 hora de 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,
		
	
	 
5 e 10.
	
	13 e 20.
	
	8 e 10.
	 
	8 e 13
	
	13 e 21
	Respondido em 04/02/2020 14:16: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 é:
		
	 
	if, elife 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, elseif e else
	
	if, else if e else
	Respondido em 04/02/2020 14:17:37
	
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 trecho de programa Python apresentado a seguir. 
Ao ser executado, o resultado exibido é:
 
		
	
	 
[8]
	 
	[8, 7, 6, 5, 4, 3, 2, 1]
	
	[ ] 
	
	[1, 2, 3, 4, 5, 6, 7, 8]
	
	[1] 
	Respondido em 04/02/2020 14:17:59
	
Explicação:
O comando [::-1] irá inverter a ordem da lista na impressão
	
	
	 
	
	 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.add(a)  
a, b = a, a+b 
	
	resultado.append(a)  
a, b = a+b, b
	 
	resultado.append(a)  
a, b = b, a+b 
	
	resultado.add(a)  
a, b = b, a+b 
	
	resultado.insert(a)  
a, b = b, a+b 
	Respondido em 04/02/2020 14:18:42
	
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.01
	
	1.02
	
	1.03
	
	1.04
	
	1.05
	Respondido em 04/02/2020 14:19:04
	
Explicação:
Se crescimentoA for inferior a crescimentoB, a populaçãoA nunca irá superar a populacaoB
	
	
	 
	
	 6a 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 []
	
	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
	Respondido em 04/02/2020 14:19:44
	
Explicação:
A função append irá tratar a lista L2 como elemento a ser adicionado à lista L1
	 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 13
	
	 
5 e 10.
	
	13 e 20.
	
	13 e 21
	
	8 e 10.
	Respondido em 10/02/2020 08:10:18
	
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, elif e else
	
	if, elsif e else
	
	if, else if e else
	
	if, elseif e else
	Respondido em 10/02/2020 08:11:50
	
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 []
	
	Exibe [10, 20, 30, 40, 50]
	
	Produz uma mensagem de erro, porque tenta executar uma operação inválida
	Respondido em 10/02/2020 08:12:23
	
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.add(a)  
a, b = a, a+b 
	
	resultado.add(a)  
a, b = b, a+b 
	
	resultado.append(a)  
a, b = a+b, b
	Respondido em 10/02/2020 08:15:18
	
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.01
	
	1.03
	
	1.05
	
	1.02
	
	1.04
	Respondido em 10/02/2020 08:18:21
	
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 é:
 
		
	 
	[8, 7, 6, 5, 4, 3, 2, 1]
	
	[ ] 
	
	 
[8]
	
	[1] 
	
	[1, 2, 3, 4, 5, 6, 7, 8]
	Respondido em 10/02/2020 08:19:13
	
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?
		
	 
	S A
	
	U N E S A
	
	E S A
	
	U N
	
	U S A
	Respondido em 04/02/2020 15:03:11
	
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 04/02/2020 15:03:50
	
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
	
	NDA
	 
	3
	
	2
	
	1
	Respondido em 04/02/2020 15:05:05
	
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. 
	
	Nenhuma das anteriores
	
	4, 3 e 0
	
	3, 3 e 0
	 
	4, 3 e 3.4
	
	3, 3 e 3.4
	Respondido em 04/02/2020 15:05:42
	
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:
		
	
	Nenhuma das anteriores
	
	I e II 
	 
	Somente I
	
	II e III
	
	I e III
	Respondido em 04/02/2020 15:06:19
	
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
	
	
	
	
	Qual das seguintes funções é uma função interna (built-in) no Python?
		
	
	factorial()
	
	seed()
	 
	print()
	
	Nenhuma das anteriores
	
	sqrt()
	Respondido em 04/02/2020 15:08:12
	
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.
	
	
	 
	
	 7a 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:
		
	 
	Somente 1
	
	1 e 2
	 
	Todas as alternativas
	
	1 e 3
	
	2 e 3
	Respondido em 04/02/2020 15:06: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.
 
	 
	
	 1a Questão
	
	
	
	
	Com base no código Python a seguir, qual será a saída produzida pelo algoritmo?
		
	
	U S A
	
	U N
	
	E S A
	
	U N E S A
	 
	S A
	Respondido em 04/02/2020 15:08:33
	
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 04/02/2020 15:08:38
	
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
	
	1
	 
	3
	
	2
	
	NDA
	Respondido em 04/02/2020 15:08:42
	
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, 3 e 3.4
	
	4, 3 e 0
	
	Nenhuma das anteriores
	 
	4, 3 e 3.4
	
	3, 3 e 0
	Respondido em 04/02/2020 15:08:48
	
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
	
	I e II 
	
	II e III
	 
	Somente I
	
	Nenhuma das anteriores
	Respondido em 04/02/2020 15:08:59
	
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
	
	2 e 3
	 
	Todas as alternativas
	
	Somente 1
	
	1 e 3
	Respondido em 04/02/2020 15:09:02
	
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()
	
	factorial()
	
	Nenhuma das anteriores
	
	sqrt()
	
	seed()
	Respondido em 04/02/2020 15:09:11
	
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
	
	1 e 3
	 
	2 e 4
	Respondido em 05/02/2020 14:19:06
	
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 4
	
	2 e 3 
	Respondido em 05/02/2020 14:20:12
	
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
	
	16
	 
	12, 16
	
	10, 14
	
	12
	Respondido em 05/02/2020 14:21:06
	
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);
}"
		
	
	6
	
	120
	
	1
	 
	v1:6, v2:120
	
	2
	Respondido em 05/02/2020 14:21:44
	
Explicação:
O módulo volume multipla as dimensões inseridas
	
	
	 
	
	 5a 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?
		
	
	2
	
	7
	
	5
	
	12
	 
	14
	Respondido em 05/02/2020 14:22:26
	
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
	
	
	 
	
	 6a 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
	
	plus
	 
	import
	
	inclusive
	
	include
	Respondido em 05/02/2020 14:23:23
	
Explicação:
import permite incluir módulos externos
	 
	
	 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 3
	 
	2 e 4
	
	Todas as alternativas
	
	1 e 2
	
	3 e 4
	Respondido em 10/02/2020 08:23:19
	
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
	
	
	
	
	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, 14
	 
	12, 16
	Respondido em 10/02/2020 08:23:30
	
Explicação:
A saída será os elementos de ordem 1 e 3 da lista L dada
	
	
	 
	
	 3a 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);
}"
		
	
	120
	 
	v1:6, v2:120
	
	2
	
	1
	
	6
	Respondido em 10/02/2020 08:23:56
	
Explicação:
O módulo volume multipla as dimensões inseridas
	
	
	 
	
	 4a 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?
		
	
	plus
	
	include
	 
	import
	
	inclusive
	
	add
	Respondido em 10/02/2020 08:24:11
	
Explicação:
import permite incluir módulos externos
	
	
	 
	
	 5a 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 3 
	
	1 e 2
	
	2 e 4
	 
	Todas as alternativas
	
	1 e 3
	Respondido em 10/02/2020 08:24:28
	
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.
	
	
	 
	
	 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
	
	12
	
	7
	
	5
	
	2
	Respondido em 10/02/2020 08:24:37
	
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 é $25"
	
	"O custo de envio é  $50"
	 
	"FREE"
	
	"O custo de envio é $5"
	
	"O custo de envio é  $100"
	Respondido em 05/02/2020 14:25:58
	
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 relacionais, Operadores lógicos e Operadores aritméticos
	
	Parênteses mais internos, Operadores aritméticos, Operadores lógicos e Operadores relacionais 
	
	Parênteses mais internos, Operadores lógicos, Operadores relacionais  e Operadores aritméticos
	 
	Parênteses mais internos, Operadores aritméticos, Operadores relacionais e Operadores lógicos
	Respondido em 05/02/2020 14:26:55
	
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
	
	
	
	
	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 é:
		
	
	NDA
	
	Seleção simples
	 
	Seleção Encadeada
	
	Todas as anteriores
	
	Seleção Composta
	Respondido em 05/02/2020 14:28:07
	
Explicação:
Esta é a mais indicada por questões de desempenho (menor número de comparações)
	
	
	 
	
	 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
	
	Nenhuma palavra
	 
	Nissan
	
	Audi
	Respondido em 05/02/2020 14:28:31
	
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
	
	5
	
	Haverá mensagem de erro, pois não há fatorial de número não natural
	
	15
	Respondido em 05/02/2020 14:29:24
	
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
	
	
	
	
	if False:
print("Nissan")
elif True:
print("Ford")
elif True: print("BMW")
else: print("Audi")
		
	
	Mercedez
	
	Audi
	
	BMW
	 
	Ford
	
	Nissan
	Respondido em 05/02/2020 14:30:33
	
Explicação:
O Ford foi selecionado na primeira condição verdadeira
	
	
	 
	
	 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 é $25"
	
	"O custo de envio é $5"
	 
	"FREE"
	
	"O custo de envio é  $50"
	
	"O custo de envio é  $100"
	Respondido em 10/02/2020 08:26:07
	
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 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 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 relacionais, Operadores lógicos e Operadores aritméticosRespondido em 10/02/2020 08:26:27
	
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")
		
	
	Nissan
	 
	Ford
	
	Mercedez
	
	BMW
	
	Audi
	Respondido em 10/02/2020 08:27:14
	
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
	
	BMW
	
	Audi
	
	Nenhuma palavra
	
	Ford
	Respondido em 10/02/2020 08:27:35
	
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))
		
	
	Haverá mensagem de erro, pois não há fatorial de número não natural
	 
	120
	
	5
	
	15
	
	720
	Respondido em 10/02/2020 08:28:08
	
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 10/02/2020 08:28: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
		
	 
	Nenhuma das anteriores
	
	1 2 3
	
	Loop infinito
	
	1 2
	
	1
	Respondido em 05/02/2020 14:32:16
	
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
	
	
	
	
	Assinale a opção que indica o comando Python que produz [-2, -4].
		
	
	print (*range(-2, -4, 2))
	
	print (*range(0, -6, 2))
	
	print (*range(0, -4, -2))
	
	print (*range(-2, -4, -2))
	
	print (*range(-2, -6, -2))
	Respondido em 05/02/2020 14:32:50
	
Explicação:
A lista de -2 (inclusive) e -6 (exclusive) com intervalo de 2 unidades consiste nos valores -2 e -4
	
	
	 
	
	 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
	
	1 2 3
	
	Erro
	
	1
	Respondido em 05/02/2020 14:34:18
	
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
	
	15
	
	5
	
	1
	
	0
	Respondido em 05/02/2020 14:34:58
	
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
	
	80
	 
	10
	
	50
	
	20
	Respondido em 05/02/2020 14:35:25
	
Explicação:
A estrutura while percorre a lista procurando seu menor valor e armazenado-o na variável "maior"
	
	
	 
	
	 6a 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
	
	III
	
	V
	
	II
	Respondido em 05/02/2020 14:35:47
	
Explicação:
As saídas do algoritmo da questão são:
1
b a n a n a
asdf123
	
	
	 
	
	 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
	
	Loop infinito
	
	1
	 
	Nenhuma das anteriores
	
	1 2 3
	Respondido em 10/02/2020 08:29: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?
		
	
	III
	
	V
	
	II
	
	IV
	 
	I
	Respondido em 10/02/2020 08:29:24
	
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 3
	
	Erro
	 
	1 2
	
	Loop infinito
	
	1
	Respondido em 10/02/2020 08:30:03
	
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
		
	
	15
	
	1
	 
	120
	
	5
	
	0
	Respondido em 10/02/2020 08:30:06
	
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))
		
	 
	10
	
	20
	
	80
	
	30
	
	50
	Respondido em 10/02/2020 08:30:34
	
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(-2, -4, 2))
	
	print (*range(0, -4, -2))
	
	print (*range(0, -6, 2))
	
	print (*range(-2, -4, -2))
	Respondido em 10/02/2020 08:30:46
	
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 ordem dos namespaces em que o Python procura um identificador?
 
		
	 
	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 global, depois o namespace local e, finalmente, o namespace integrado.
 
	
	O Python pesquisa primeiro o namespace interno, o namespace global e, finalmente, o namespace local
 
	
	O Python pesquisa primeiro o namespace interno, o namespace local e, finalmente, o namespace global.
	Respondido em 05/02/2020 14:36:55
	
Explicação:
O Python procura primeiro pelo local, depois pelo global e finalmente pelo namespace interno.
	
	
	 
	
	 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)
		
	 
	Há um confronto de nomes.
	
	[1,4,9]
	
	[2,4,6]
	
	Nenhuma das anteriores
	
	[2,4,6] [1,4,9]
	Respondido em 05/02/2020 14:37:28
	
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
	
	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
	
	Nenhuma das anteriores
	Respondido em 05/02/2020 14:38:10
	
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
 
	
	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
 
	 
	Na forma de importação "import", todos os identificadores, independentemente de serem privados ou públicos, são importados
 
	
	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 05/02/2020 14:38:24
	
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 05/02/2020 14:38:48
	
Explicação:
O projeto top-down é uma abordagem para derivar um design modular a partir do design geral.
	
	
	 
	
	 6a Questão
	
	
	
	
	Qual das seguintes opções não é uma vantagem de usar módulos?
		
	
	Fornece um meio de testar partes individuais do programa
	
	Nenhuma das anteriores
	
	Fornece um meio de reutilização do código do programa
	 
	Proporciona um meio de reduzir o tamanho do programa
	
	Proporciona um meio de dividir tarefas
	Respondido em 05/02/2020 14:39:30
	
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.
	 
	
	 1a Questão
	
	
	
	
	Qual das seguintes opções não é uma vantagem de usar módulos?
		
	
	Fornece um meio de testar partes individuais do programa
	 
	Proporciona um meio de reduzir o tamanho do programa
	
	Nenhuma das anteriores
	
	Fornece um meio de reutilização do código do programa
	
	Proporciona um meio de dividir tarefas
	Respondido em 10/02/2020 08:31:36
	
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
	 
	Há um confronto de nomes.
	
	[2,4,6]
	
	[1,4,9]
	
	[2,4,6] [1,4,9]
	Respondido em 10/02/2020 08:32:12
	
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
	
	Denominado por citações triplas para fornecer a especificação de certos elementos do programa
	 
	Projeto e implementação de funcionalidades específicas a serem incorporadas em um programa
	
	Define a especificação de como deve ser usado
	Respondido em 10/02/2020 08:32:37
	
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
 
	 
	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
 
	
	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
 
	Respondido em 10/02/2020 08:32:52
	
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?
		
	
	Os detalhes de um projeto de programa são abordados antes do projeto geral
	
	Apenas os detalhes do programa são abordados
	 
	O design geral do programa é abordado antes dos detalhes
	
	Nenhuma das anteriores
	
	Somente o desenho do programa é endereçado
	Respondido em 10/02/2020 08:34:01
	
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 local e, finalmente, o namespace global.
	
	d) O Python pesquisa primeiro o namespace global, o namespace local e, finalmente, o namespace interno.
	
	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 global e, finalmente, o namespace local
 
	 
	O Python pesquisa primeiro o namespace local, o namespace global e, finalmente, o namespace integrado.
 
	Respondido em 10/02/2020 08:34:17
	
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)
		
	
	7
	
	4
	
	Erro de sintaxe.
	
	3
	 
	6
	Respondido em 05/02/2020 14:39:59
	
Explicação:
Apesar de, aparentemente, odicioná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]
	
	[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]
	Respondido em 05/02/2020 14:40:55
	
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)
		
	
	[10,9,8,7,6,5,11,15]
	
	[5,6,7,8,9,10]
	
	[5,6,7,8,9,10,11,15]
	 
	[10,9,8,15,11]
	
	[15,11,7,6,5]
	Respondido em 05/02/2020 14:41:22
	
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
	
	1 1
	 
	3 44
	
	3 3
	
	3 1
	Respondido em 05/02/2020 14:41:51
	
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)
		
	
	30
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8}
	
	40
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8}
	
	47
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8}
	 
	30   
{(1, 2): 12, (4, 2, 1): 10, (1, 2, 4): 8}
	
	Erro de sintaxe
	Respondido em 05/02/2020 14:42:26
	
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 set e dictionary
	 
	List, set e dictionary
	
	Somente Dictionary
 
	
	Somente List
 
	Respondido em 05/02/2020 14:42:51
	
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)
		
	
	Erro de sintaxe.
	 
	6
	
	3
	
	4
	
	7
	Respondido em 10/02/2020 08:35:12
	
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]
	
	[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
	
	[11, 12, 13, 14, 15, 16, 17, 18, 19]
	
	[0, 10, 20, 30, 40, 50, 60, 70, 80]
	
	[10, 20, 30, 40, 50, 60, 70, 80, 90]
	Respondido em 10/02/2020 08:35:54
	
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]
	
	[15,11,7,6,5]
	
	[10,9,8,7,6,5,11,15]
	
	[5,6,7,8,9,10,11,15]
	 
	[10,9,8,15,11]
	Respondido em 10/02/2020 08:37:48
	
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])
		
	
	3 1
	
	3 3
	 
	3 44
	
	1 1
	
	1 44
	Respondido em 10/02/2020 08:38:26
	
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)
		
	
	30
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8}
	
	40
{[1, 2]: 12, [4, 2, 1]: 10, [1, 2, 4]: 8}
	 
	30   
{(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}
	Respondido em 10/02/2020 08:38:53
	
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 Dictionary
 
	
	Somente Set
	
	Somente set e dictionary
	 
	List, set e dictionary
	
	Somente List
 
	Respondido em 10/02/2020 08:39:32
	
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]
	 
	[1, 0, 1]
	
	[0, 1, 0]
	
	[0, 0, 0]
	Respondido em 05/02/2020 14:43:28
	
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
	 
	11
	
	22
	
	1
	
	444
	Respondido em 05/02/2020 14:44:16
	
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():
 q2.poll()
	q1.poll()
	 
	def pop():
 if(q1.size()>0):
 q1.poll()
 elif (q2.size()>0):
 q2.poll();
	
	def pop():
 q1.poll()
	q2.poll()
	
	Nenhuma das mencionadas
	Respondido em 05/02/2020 14:44:40
	
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
	
	É fácil inserir e excluir elementos na Lista ligada
	
	As listas vinculadas normalmente não aceitam acesso aleatório
	 
	O tamanho da matriz e das listas vinculadas podem mudar a qualquer momento.
	
	Arrays têm melhor localidade de cache que pode torná-los melhores em termos de desempenho.
	Respondido em 05/02/2020 14:44:57
	
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.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
	Respondido em 05/02/2020 14:45:14
	
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
	
	1 e 2
	 
	2 e 4
	
	1 e 3
	
	2 e 3
	Respondido em 05/02/2020 14:45:28
	
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 ,2, 3]
	
	[0, 0, 0]
	 
	[1, 0, 1]
	
	[0, 1, 0]
	Respondido em 10/02/2020 08:40:04
	
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()
		
	
	444
	
	1
	 
	11
	
	33
	
	22
	Respondido em 10/02/2020 08:40:34
	
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():
 q2.poll()
	q1.poll()
	 
	def pop():
 if(q1.size()>0):
 q1.poll()
 elif (q2.size()>0):
 q2.poll();
	
	Nenhuma das mencionadas
	
	def pop():
 q1.poll()
	q2.poll()
	
	def pop():
 if(q1.size()>0):
 q2.poll()
 elif (q2.size()>0):
 q1.poll();
	Respondido em 10/02/2020 08:41:02
	
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?
		
	 
	O tamanho da matriz e das listas vinculadas podem mudar a qualquer momento.
	
	As listas vinculadas normalmente não aceitam acesso aleatório
	
	É fácil inserir e excluir elementos na Lista ligada
	
	Acesso aleatório não é permitido em uma implementação típica de listas vinculadas
	
	Arrays têm melhor localidade de cache que pode torná-los melhores em termos de desempenho.
	Respondido em 10/02/2020 08:41:15
	
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.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.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
	Respondido em 10/02/2020 08:41:33
	
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 3
	
	3 e 4
	
	1 e 2
	
	1 e 3
	 
	2 e 4

Continue navegando