Buscar

Questão 7/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...

Questão 7/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. 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:

💡 1 Resposta

User badge image

Ed Verified user icon

A alternativa correta é a letra B: Linha 7. Saída: tirimirruaro. 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, mas não é possível acessar o valor de 'palavra2' fora da função. Já o print no programa principal retorna a concatenação das strings porque está no escopo global.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais