Baixe o app para aproveitar ainda mais
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
Compartilhar