Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de Programação e Algoritmos Questão 1/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 4 você aprendeu o laço while e o laço for. A seguir você está vendo um laço implementado com while. i = 88 while (i >= 0): print(i) i -= 4 Assinale a alternativa que, CORRETAMENTE, gera a mesma saída que o código apresentado, mas agora implementando com laço for. Nota: 10.0 A for i in range(88, -1, -4): print(i) Você assinalou essa alternativa (A) Você acertou! O valor inicial é 88. O valor final do iterador deve ser ZERO. Porém, como o for sempre vai até o valor final colocado MENOS UM, neste caso devemos colocar -1 ali para irmos até zero. Passo é de -4. B for i in range(88, 0, -4): print(i) C for i in range(88, 1, -4): print(i) D for i in range(88, 0, 4): print(i) E for i in range(88, -1, 4): print(i) Questão 2/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 5 aprendemos a trabalhar com funções que retornam um dado e outras que não tem retorno. Sobre este assunto observe as afirmativas a seguir: I - Um procedure é uma rotina de código que não tem retorno algum. II - Uma função é uma rotina de código que retorna um dado para o programa principal, ou para outra função que a invocou. III - Funções e procedimentos podem coexistir em um mesmo programa computacional, não havendo limitações para a quantidade de cada sendo utilizada no algoritmo. Acerca das afirmativas apresentadas, assinale somente as CORRETAS: Nota: 0.0Você não pontuou essa questão A I, apenas. B II, apenas. C III, apenas. D I e II, apenas. Você assinalou essa alternativa (D) E I, II e III. Questão 3/10 - Lógica de Programação e Algoritmos (ADAPTADA) Suponha que você precisa criar uma função que recebe alguns dados como parâmetro para um cadastro de pessoas: o nome da pessoa, o ano de nascimento, o salário (com valor padrão de R$ 1000) e o sexo (com valor padrão 'F'). Assinale a alternativa que contém a definição correta para esta função exemplificada em linguagem Python. Nota: 10.0 A def cadastro(nome, ano, salario = , sexo = 0): B def cadastro(nome, ano, salario, sexo = 'F'): C def cadastro(nome, ano, salario = 1000, sexo = 'F'): Você assinalou essa alternativa (C) Você acertou! D def cadastro(nome, ano, salario, sexo): E def cadastro(nome, ano, salario = 1000, sexo): Questão 4/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 4 aprendemos a construir laços de repetição empregando while e for. A seguir você encontra um código que não está sendo implementado com um laço. x = 5 print(x) x += 5 print(x) x += 5 print(x) x += 5 print(x) x += 5 print(x) Resultado na tela do console: 5 10 15 20 25 Assinale a alternativa que, CORRETAMENTE, resolve o mesmo problema e gera a mesma saída, mas agora empregando um laço de repetição do tipo while, em linguagem Python. Nota: 10.0 A x = 5 while x <= 25: print(x) x += 5 Você assinalou essa alternativa (A) Você acertou! B x = 5 while x < 25: print(x) x += 5 C while x <= 25: print(x) x += 5 D while x < 25: print(x) x += 5 E while x <= 25: print(x) Questão 5/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 4 você aprendeu a trabalhar com a estrutura de repetição while (enquanto). A seguir você encontra um código com o while que deveria apresentar na tela impresso todos os valores de 10 até 100. x = 10 while x <= 100: print(x) Porém, o código apresentado contém um problema. Assinale a alternativa que CORRETAMENTE explica qual o problema e a solução para ele. Nota: 0.0Você não pontuou essa questão A O problema no código é que a variável de controle não está sendo iterada, gerando um loop infinito e fazendo com que o laço nunca se encerre. A solução para o problema é retirar a linha do print de dentro do while, colocando após o laço, e criando uma instrução dentro do laço para iterar a variável de controle. B O problema no código é que expressão lógica colocada no laço está incorreta. A solução para o problema é alterar a condição lógica do laço para x >= 100. C O problema no código é que a variável de controle não está sendo iterada, gerando um loop infinito e fazendo com que o laço nunca se encerre. A solução para o problema é alterar a condição lógica do laço para x >= 100. D O problema no código é que a variável de controle não está sendo iterada, gerando um loop infinito e fazendo com que o laço nunca se encerre. A solução para o problema é adicionar uma linha que incremente a variável de controle dentro do while. A linha deve ser inserida antes o print. Você assinalou essa alternativa (D) E O problema no código é que a variável de controle não está sendo iterada, gerando um loop infinito e fazendo com que o laço nunca se encerre. A solução para o problema é adicionar uma linha que incremente a variável de controle dentro do while. A linha deve ser inserida após o print. Questão 6/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 4 aprendemos sobre variáveis do tipo contadores e também as acumuladores dentro de laços de repetição. A seguir temos um exemplo de algoritmo que trabalha com estes conceitos: cont = 5 soma = 0 while cont <= 25: soma = soma + cont cont = cont +5 print(soma) Acerca deste algoritmos apresentado e seu funcionamento, assinale a alternativa CORRETA: Nota: 10.0 A No código, a linha 5 poderia ser substituída pela instrução cont += 1, sem prejuízo no seu funcionamento. O correto seria cont += 5 B A variável de controle do laço de repetição é a variável soma. Variável de controle é a variável cont C O algoritmo apresentado tem como objetivo calcular e apresentar na tela o somatório de todos os valores múltiplos de 5 até 25. Você assinalou essa alternativa (C) Você acertou! D O algoritmo apresentado tem como objetivo calcular e apresentar na tela o somatório de todos os valores de 5 até 25, com passo unitário. O passo é de 5. E A variável cont é uma variável acumuladora, enquanto que a variável soma é uma contadora. Está colocado ao contrário cada conceito. Questão 7/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 5 aprendemos a trabalhar com funções e também a retornar valores em uma função. Acerca deste assunto, observe o código a seguir: def parangaricutirimirruaro(palavra): if (palavra != 'Seu Madruga'): return 1 return 0 retorno = parangaricutirimirruaro('Chaves') A programa em Python recebe uma string como parâmetro e retorna 0 ou 1 dependendo do valor deste dado recebido. Acerca deste código, assinale a alternativa CORRETA. Nota: 10.0 A O valor da variável 'retorno', caso a string passada como parâmetro seja 'Seu Madruga', será o valor inteiro 1. O valor da variável 'retorno', caso a string passada como parâmetro seja 'Seu Madruga', será o valor inteiro 0. B O valor da variável 'retorno', caso a string passada como parâmetro seja 'Chaves', será o valor inteiro 1. Você assinalou essa alternativa (B) Você acertou! C O valor da variável 'retorno' só será 0 caso a palavra recebido como parâmetro não seja 'Seu Madruga'. O valor da variável 'retorno' só será 0 caso a palavra recebido como parâmetro seja 'Seu Madruga'. D O valor da variável 'retorno' só será 1 caso a palavra recebido como parâmetro seja 'Seu Madruga'. O valor da variável 'retorno' só será 1 caso a palavra recebido como parâmetro não seja 'Seu Madruga'. E Caso seja passado como parâmetro uma string vazia para a função, ela não irá retornar nada. String vazia, ao comparar com 'Seu Madruga' resulta em DIFERENTE, portanto retornará 1. Questão 8/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 5 aprendemos que a ordem dos parâmetros faz a diferença no momento da passagem. Observe o código a seguir para calcular uma divisão de dois valores. def div2 (num , den): res = num / den print(res) Assinale a alternativa que contém a chamada a função que CORRETAMENTE resultaria em 0,3 no resultadoda divisão. Nota: 10.0 A div2(den = 3, 10) B div2(3, num = 10) C div2(den = 3, num = 10) D div2(3, 10) Você assinalou essa alternativa (D) Você acertou! E div2(10, 3) Questão 9/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 5 aprendemos sobre o escopo de variáveis e também sobre passagem de parâmetros. Sobre este assunto, observe o código a seguir: def parangaricu(): palavra1 = 'parangaricu' tirimirruaro(palavra1) def tirimirruaro (palavra): palavra2 = palavra + 'tirimirruaro' #print(palavra2) parangaricu() #print(palavra2) No código apresentado o programa principal invoca uma função chamada 'parangaricu', sem parâmetros, que por sua vez invoca outra função de nome 'tirimirruaro', esta com um parâmetro. Observe que no código apresentado temos 2 linhas de print comentadas (linha 7 e linha 10). Supondo que somente uma das linhas seja habilitada no código por vez, assinale a alternativa que corretamente contém a saída do programa para cada um dos prints, e o motivo correto que gerou esta saída. Nota: 10.0 A Linha 7. Saída: parangaricutirimirruaro. Linha 10. Saída: parangaricutirimirruaro. Justificativa: a variável 'palavra2' é local da função 'tirimirruaro', portanto só existe dentro desta função. Por este motivo, o print dentro de 'tirimirruaro' funcionou concatenando as strings. Já o print no programa principal também retorna a mesma resposta porque o print está sendo realizado no escopo global. B Linha 7. Saída: tirimirruaro. Linha 10. Saída: parangaricutirimirruaro. Justificativa: a variável 'palavra2' é local da função 'tirimirruaro', porém a variável 'palavra' é local de outra função, não sendo possível acessar seu valor dentro da função 'tirimirruaro'. Por este motivo, o print dentro de 'tirimirruaro' funcionou somente mostrando a parte acessível que é 'tirimirruaro'. Já o print no programa principal retorna a concatenação das strings porque está no escopo global. C Linha 7. Saída: parangaricutirimirruaro. Linha 10. Saída: Erro (NameError). Justificativa: a variável 'palavra2' é global do programa. Porém, como ela não recebeu nenhuma atribuição no escopo global, um erro acontece. D Linha 7. Saída: parangaricutirimirruaro. Linha 10. Saída: Erro (NameError). Justificativa: a variável 'palavra2' é local da função 'tirimirruaro', portanto só existe dentro desta função. Por este motivo, o print dentro de 'tirimirruaro' funcionou concatenando as strings. Já o print no programa principal não funcionou porque ele não conhece a variável do escopo local. Você assinalou essa alternativa (D) Você acertou! Questão 10/10 - Lógica de Programação e Algoritmos (ADAPTADA) Na AULA 4 aprendemos o conceito de estrutura de repetição. Sobre este conteúdo, analise as afirmativas a seguir: I - Estruturas de repetição tem como um de seus objetivos o de auxiliar na redução da quantidade de instruções redundantes em um algoritmo. II - Estruturas de repetição são também chamadas de estruturas iterativas, ou de laço de repetição. III - Uma estrutura de repetição é uma recurso em programação que faz com que todas as instruções dentro dela se repitam de maneira indefinida e/ou até que uma determinada condição seja satisfeita. IV - Existe uma só maneira de criarmos estruturas de repetição em linguagem Python, que seria a estrutura chamada de while (ou enquanto, em pseudocódigo). Acerca das afirmativas apresentadas, assinale somente a alternativa contendo as corretas: Nota: 10.0 A I e II, apenas. B I, II e III, apenas. Você assinalou essa alternativa (B) Você acertou! A afirmativa IV está incorreta porque temos 2 estruturas em Python para repetição: while e for. C I e III, apenas. D I e III e IV, apenas. E I, II, III e IV.
Compartilhar