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.