Prévia do material em texto
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 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: 0.0Você não pontuou essa questão
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.
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.
Você assinalou essa alternativa (E)
String vazia, ao comparar com 'Seu Madruga' resulta em DIFERENTE, portanto retornará 1.
Questão 3/10 - Lógica de Programação e Algoritmos
Na estrutura de repetição while (enquanto), a execução de uma ou mais instruções de um bloco, ou laço, depende de uma condição de controle verificada no início, ou na entrada, do laço. Enquanto o resultado da condição se mantiver verdadeiro, o bloco de instruções é executado, caso contrário, ocorre o desvio para a primeira linha após este bloco.
A figura a seguir mostra o fluxograma de uma estrutura de repetição while (enquanto).
Observe as afirmativas abaixo:
I. Na estrutura de repetição while (enquanto) a expressão booleana é verificada antes da execução da primeira da instrução dentro do bloco.
II. Na estrutura de repetição while (enquanto), se a expressão booleana resultar em FALSO as instruções que estão dentro do bloco não são executadas.
III. Na estrutura de repetição while (enquanto), se a condição de execução for falsa em algum momento, o laço é interrompido para que o resto do algoritmo entre em execução.
IV. Na estrutura de repetição while (enquanto), se o resultado da condição for VERDADEIRO, as instruções são executadas e em seguida a condição será testada novamente.
V. A estrutura de repetição while (enquanto) implementa uma variável contadora implicitamente dentro de sua estrutura.
Acerca da estrutura while (enquanto), assinale somente as CORRETAS:
Nota: 10.0
A
I, III, IV e V, apenas.
B
I, II, IV e V, apenas.
C
I, II e III, apenas.
D
I, II, III e IV, apenas.
Você assinalou essa alternativa (D)
Você acertou!
A afirmativa V é a única incorreta. A estrutura que implementa um contador implicitamente é o for (para)
E
I, II, III, IV e V.
Questão 4/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 resultado da 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 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.
Você assinalou essa alternativa (C)
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.
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 5 você aprendeu a conceituar funções em linguagem de programação. Sobre funções, observe as afirmações a seguir:
I - Funções são rotinas de códigos que podem ser executadas quando tem seu nome invocado pelo programa.
II - Exemplos de funções pré-definidas na linguagem Python são for, while e if.
III - Funções tem como um de seus objetivos simplificar os códigos criados, auxiliando na abstração de recursos complexos de se manipular em programação, como drivers de vídeo e de teclado.
Acerca das afirmativas apresentadas, assinale as CORRETAS:
Nota: 10.0
A
I, apenas.
B
II, apenas.
C
III, apenas.
D
I e II, apenas.
E
I e III, apenas.
Você assinalou essa alternativa (E)
Você acertou!
A afirmativa II é incorreta, porque while, for e if são estruturas da linguagem, e não rotinas de códigos.
Questão 7/10 - Lógica de Programação e Algoritmos
(ADAPTADA) Na AULA 5 aprendemos sobre o escopo de variáveis e a existência do escopo local e do global. Acerca deste assunto, observe as afirmativas a seguir:
I - O escopo é a propriedade que determina onde uma variável pode ser utilizada dentro de um programa.
II - Variáveis do escopo local só existem dentro do escopo local, que é a função onde ela foi criada.
III - Uma variável do escopo local pode ser acessada por outra função ou pelo programa principal.
IV - Variáveis globais são criadas no programa principal e elas existem ao longo de todo o programa.
Acerca das afirmações, assinale somente as CORRETAS:
Nota: 10.0
A
I e II, apenas.
B
I, II e III, apenas.
C
I, II e IV, apenas.
Vocêassinalou essa alternativa (C)
Você acertou!
D
II, III e IV, apenas.
E
I, II, III e IV.
Questão 8/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 9/10 - Lógica de Programação e Algoritmos
(ADAPTADA) Na AULA 4, você aprendeu a trabalhar com o laço for. Suponha que você precisa realizar o print na tela de valores numéricos iniciando no 7 e imprimindo até o 25, de 3 em 3.
Assinale a alternativa que contém o laço for que realize o que está sendo proposto no enunciado.
Nota: 10.0
A
for i in range (26):
print(i)
B
for i in range (7, 26):
print(i)
C
for i in range (7, 25):
print(i)
D
for i in range (7, 26, 3):
print(i)
Você assinalou essa alternativa (D)
Você acertou!
Esta é a correta, pois lembre que para irmos até 25, devemos colocar até 26, pois o for faz iterações até o valor ali colocado menos um.
E
for i in range (7, 25, 3):
print(i)
Questão 10/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: 0.0Você não pontuou essa questão
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.
Você assinalou essa alternativa (B)
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.
image1.png