Prévia do material em texto
Aula 8 1. Qual das seguintes opções não é uma vantagem de usar módulos? Nenhuma das anteriores Fornece um meio de testar partes individuais do programa Proporciona um meio de dividir tarefas Proporciona um meio de reduzir o tamanho do programa Fornece um meio de reutilização do código do programa Explicação: O tamanho total do programa permanece o mesmo, independentemente de os módulos serem usados ou não. Módulos simplesmente dividem o programa. 2. Qual a saída do seguinte trecho de código? #mod1 def troca(a): b=[x*2 for x in a] print(b) #mod2 def troca(a): b=[x*x for x in a] print(b) from mod1 import troca from mod2 import troca #main s=[1,2,3] troca(s) [2,4,6] [1,4,9] Há um confronto de nomes. Nenhuma das anteriores [2,4,6] [1,4,9] Explicação: Um conflito de nomes ocorre quando duas entidades diferentes com o mesmo identificador tornam-se parte do mesmo escopo. Como os dois módulos têm o mesmo nome de função, há um conflito de nomes. 3. Quais dessas definições descreve corretamente um módulo? Denominado por citações triplas para fornecer a especificação de certos elementos do programa Qualquer programa que reutilize código Define a especificação de como deve ser usado Nenhuma das anteriores Projeto e implementação de funcionalidades específicas a serem incorporadas em um programa Explicação: O termo ¿módulo¿ refere-se à implementação de funcionalidades específicas a serem incorporadas em um programa. 4. Qual das afirmações sobre os módulos é falsa? a função interna dir () monitora os itens no namespace do módulo principal Na forma de importação "import", os identificadores que começam com dois sublinhados são privados e não são importados Quando um módulo é carregado, uma versão interpretada do módulo com extensão de arquivo .pyc é automaticamente produzida Quando um módulo é carregado, uma versão compilada do módulo com extensão de arquivo .pyc é automaticamente produzida Na forma de importação "import", todos os identificadores, independentemente de serem privados ou públicos, são importados Explicação: Na forma de importação "import", os identificadores que começam com dois sublinhados são privados e não são importados. 5. Qual das seguintes afirmações é verdadeira sobre o processo de design top-down? Somente o desenho do programa é endereçado Nenhuma das anteriores O design geral do programa é abordado antes dos detalhes Os detalhes de um projeto de programa são abordados antes do projeto geral Apenas os detalhes do programa são abordados Explicação: O projeto top-down é uma abordagem para derivar um design modular a partir do design geral. 6. Qual é a ordem dos namespaces em que o Python procura um identificador? d) O Python pesquisa primeiro o namespace global, o namespace local e, finalmente, o namespace interno. O Python pesquisa primeiro o namespace interno, o namespace local e, finalmente, o namespace global. O Python pesquisa primeiro o namespace interno, o namespace global e, finalmente, o namespace local O Python pesquisa primeiro o namespace local, o namespace global e, finalmente, o namespace integrado. O Python pesquisa primeiro o namespace global, depois o namespace local e, finalmente, o namespace integrado. Explicação: O Python procura primeiro pelo local, depois pelo global e finalmente pelo namespace interno.