Prévia do material em texto
APOL 2 - Lógica de Programação e Algoritmos
Questão 1/15 - Lógica de Programação e Algoritmos
Ler em voz alta
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: 6.7
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 2/15 - Lógica de Programação e Algoritmos
Ler em voz alta
Na AULA 4 aprendemos a trabalhar com as instruções de break e continue dentro dos laços de repetição. Sobre este assunto, analise as afirmativas a seguir:
I - A instrução continue é capaz de fazer com que o laço de repetição garanta que a próxima iteração irá acontecer, pois ele ignora o próximo teste lógico do loop.
II - A instrução break é capaz de fazer o loop retornar ao seu inicio, recomeçando o laço.
III - É permitido combinarmos estruturas de break e continue dentro de um mesmo laço de repetição
Acerca das afirmativas apresentadas, assinale somente as CORRETAS:
Nota: 6.7
A
I, apenas.
B
II, apenas.
C
III, apenas.
Você assinalou essa alternativa (C)
Você acertou!
D
I e III, apenas.
E
II e III, apenas.
Questão 3/15 - Lógica de Programação e Algoritmos
Ler em voz alta
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.
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.
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.
Você assinalou essa alternativa (E)
Você acertou!
Questão 4/15 - Lógica de Programação e Algoritmos
Ler em voz alta
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: 6.7
A
I, apenas.
B
II, apenas.
C
III, apenas.
D
I e II, apenas.
E
I, II e III.
Você assinalou essa alternativa (E)
Você acertou!
Questão 5/15 - Lógica de Programação e Algoritmos
Ler em voz alta
Aprendemos a trabalhar na AULA 4 com estruturas de repetição aninhadas. Observe o código a seguir que contém um exemplo disso empregando dois laços for.
for i in range(10, 20):
for j in range(10, 20, 2):
print('{} + {} = {}' .format(i, j, i+j))
Acerca deste código, assinale a alternativa que contém uma afirmação CORRETA sobre este código.
Nota: 6.7
A
O laço de repetição for interno será executado 10 vezes ao longo da execução de todo o programa.
O laço interno é executado 10 x 50 = 50 vezes
B
O print do resultado para i = 3 e j = 5 será o valor 2.
i + j = 8
C
Se alterássemos o laço for externo para um do tipo while, a linha de código corresponde ao laço poderia ser: while(iprint(i)
Questão 7/15 - Lógica de Programação e Algoritmos
Ler em voz alta
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: 6.7
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 8/15 - Lógica de Programação e Algoritmos
Ler em voz alta
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 -100
B
x > 100 or x 100 and x -100
E
x -99
Questão 15/15 - Lógica de Programação e Algoritmos
Ler em voz alta
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: 6.7
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.
image2.wmf
image1.wmf