Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
1a Questão Python é uma linguagem multiparadigma. Identifique, abaixo, o paradigma que não pertence à linguagem Python: Orientado a aspectos Orientado a objetos Estruturado Lógico Polinomial Explicação: A resposta é a letra e, pois a, b, c e d são paradigmas da linguagem Python. Polinomial não é paradigma de computação e nem pertence à linguagem Python. 2a Questão A seguir estão algumas características da linguagem Python. Qual das opções é FALSA? As funções map, reduce e filter são implementadas em Python para ajudar os programadores a adaptarem os recursos do Lisp. Utiliza tipagem dinâmica, não sendo necessário especificar o tipo da variável. Python foi criada pelo neerlandês Guido van Rossum. É uma linguagem compilada, o que a torna mais rápida em tempo de execução. É uma linguagem multiparadigma, abordando elementos de orientação a objetos e funcionais, entre outros. Explicação: Python é uma linguagem interpretada, e não compilada. 3a Questão Python é uma linguagem que possui o paradigma funcional além de outros. No paradigma funcional puro podemos substituir a repetição por meio de: Parâmetro Condicional Recursividade Variável Função Explicação: A repetição no paradigma funcional puro é realizada por meio da recursividade (letra d) . Variável e parâmetro não permitem repetição. Uma função é uma forte característica do paradigma funcional. Condicional existe no paradigma, mas é utilizado para decisões. 4a Questão O que será impresso pelo código seguinte? print("ABC")#DEF #print("GHI") print("#JK")#LM print("NO#PQ") ABC#JKNO#PQ ABCDEFGHIJKLMNOPQ ABCJKNOPQ ABCNO ABC#DEF#JK#LMNO#PQ Explicação: Os únicos elementos que constituem comentários são: #DEF, #print("GHI"), #LM. Todos os demais serão impressos na ordem em que ocorrem no código. Qual das linguagens abaixo não é interpretada? Basic Ruby Python C Lua Explicação: A resposta é letra e, pois todas as outras linguagens são interpretadas, ou seja, possuem um interpretador, e C é uma linguagem ¿compilada¿, possui um ¿compilador¿ para gerar o código. 6a Questão O que vai ser impresso no código abaixo? tupla= (1, 2, 3, 4) tupla.append( (5, 6, 7) ) print(len(tupla)) 5 Vai gerar uma exceção 2 7 1 Explicação: Uma tupla não pode ser modificada. Vai gerar uma exceção. Python é uma linguagem multiparadigma. Identifique, abaixo, o paradigma que não pertence à linguagem Python: Polinomial Lógico Orientado a objetos Orientado a aspectos Estruturado Explicação: A resposta é a letra e, pois a, b, c e d são paradigmas da linguagem Python. Polinomial não é paradigma de computação e nem pertence à linguagem Python. 2a Questão A seguir estão algumas características da linguagem Python. Qual das opções é FALSA? Python foi criada pelo neerlandês Guido van Rossum. As funções map, reduce e filter são implementadas em Python para ajudar os programadores a adaptarem os recursos do Lisp. Utiliza tipagem dinâmica, não sendo necessário especificar o tipo da variável. É uma linguagem multiparadigma, abordando elementos de orientação a objetos e funcionais, entre outros. É uma linguagem compilada, o que a torna mais rápida em tempo de execução. Explicação: Python é uma linguagem interpretada, e não compilada. 3a Questão O que vai ser impresso no código abaixo? tupla= (1, 2, 3, 4) tupla.append( (5, 6, 7) ) print(len(tupla)) 2 1 Vai gerar uma exceção 7 5 Explicação: Uma tupla não pode ser modificada. Vai gerar uma exceção. 4a Questão Qual das linguagens abaixo não é interpretada? Lua Python C Basic Ruby Explicação: A resposta é letra e, pois todas as outras linguagens são interpretadas, ou seja, possuem um interpretador, e C é uma linguagem ¿compilada¿, possui um ¿compilador¿ para gerar o código. 5a Questão Python é uma linguagem que possui o paradigma funcional além de outros. No paradigma funcional puro podemos substituir a repetição por meio de: Parâmetro Função Variável Recursividade Condicional Explicação: A repetição no paradigma funcional puro é realizada por meio da recursividade (letra d) . Variável e parâmetro não permitem repetição. Uma função é uma forte característica do paradigma funcional. Condicional existe no paradigma, mas é utilizado para decisões. 6a Questão O que será impresso pelo código seguinte? print("ABC")#DEF #print("GHI") print("#JK")#LM print("NO#PQ") ABC#JKNO#PQ ABCNO ABCJKNOPQ ABCDEFGHIJKLMNOPQ ABC#DEF#JK#LMNO#PQ Explicação: Os únicos elementos que constituem comentários são: #DEF, #print("GHI"), #LM. Todos os demais serão impressos na ordem em que ocorrem no código. O que vai ser impresso no código abaixo? tupla= (1, 2, 3, 4) tupla.append( (5, 6, 7) ) print(len(tupla)) 7 5 1 Vai gerar uma exceção 2 Explicação: Uma tupla não pode ser modificada. Vai gerar uma exceção. 2a Questão Python é uma linguagem que possui o paradigma funcional além de outros. No paradigma funcional puro podemos substituir a repetição por meio de: Função Parâmetro Condicional Recursividade Variável Explicação: A repetição no paradigma funcional puro é realizada por meio da recursividade (letra d) . Variável e parâmetro não permitem repetição. Uma função é uma forte característica do paradigma funcional. Condicional existe no paradigma, mas é utilizado para decisões. 3a Questão O que será impresso pelo código seguinte? print("ABC")#DEF #print("GHI") print("#JK")#LM print("NO#PQ") ABC#DEF#JK#LMNO#PQ ABCNO ABCDEFGHIJKLMNOPQ ABC#JKNO#PQ ABCJKNOPQ Explicação: Os únicos elementos que constituem comentários são: #DEF, #print("GHI"), #LM. Todos os demais serão impressos na ordem em que ocorrem no código. 4a Questão Qual das linguagens abaixo não é interpretada? Ruby Basic Lua C Python Explicação: A resposta é letra e, pois todas as outras linguagens são interpretadas, ou seja, possuem um interpretador, e C é uma linguagem ¿compilada¿, possui um ¿compilador¿ para gerar o código. 5a Questão A seguir estão algumas características da linguagem Python. Qual das opções é FALSA? É uma linguagem multiparadigma, abordando elementos de orientação a objetos e funcionais, entre outros. É uma linguagem compilada, o que a torna mais rápida em tempo de execução. Utiliza tipagem dinâmica, não sendo necessário especificar o tipo da variável. Python foi criada pelo neerlandês Guido van Rossum. As funções map, reduce e filter são implementadas em Python para ajudar os programadores a adaptarem os recursos do Lisp. Explicação: Python é uma linguagem interpretada, e não compilada. 6a Questão Python é uma linguagem multiparadigma. Identifique, abaixo, o paradigma que não pertence à linguagem Python: Lógico Orientado a objetos Polinomial Estruturado Orientado a aspectos Explicação: A resposta é a letra e, pois a, b, c e d são paradigmas da linguagem Python. Polinomial não é paradigma de computação e nem pertence à linguagem Python. 1a Questão Qual o resultado da seguinte linha em Python: print(int(¿1000¿) + 1000); ERROR 2000 1000 0 10000 Explicação: A resposta é 2000 pois a string ¿1000¿ será convertida para o número inteiro que poderá ser somado a 1000 e ter como resultado 2000. 2a Questão A estrutura de decisão mais geral, em Python, é formada pelos seguintes comandos: if, then, else if, then if , else If, elif if, else, elif Explicação: A estrutura de repetição mais geral em Python é formada por if, Else e Elif. 3a Questão Um número imaginário como 3+4i pode ser representado em Python por qual dos seguintes tipos primitivos: tuple int array float complex Explicação: Em Python existe o tipo primitivo ¿complex¿ que representa números complexos (ou também chamados imaginários) 4a Questão O que é necessário para se criar uma nova instância de uma classe? Um objeto Um método que retorna um valor Um construtor Um método qualquer Uma classe Explicação: Todo objeto (instância) precisa de um construtor, mesmo que não seja definido e seja usado o construtor padrão 5a Questão Considere o seguinte código em Python: a = 1 b = 2 c = a+b print ("o resultado",c); Suponha que este código esteja no arquivo teste.py, qual seria a chamada correta através do prompt do sistema operacional? python teste.py py teste.py p teste.py p teste python teste Explicação: A resposta é a letra d, pois um programa em python é chamado usando o comando python e o nome do arquivo com a terminação .py. As outras chamadas não são funcionais. 6a Questão Qual das instruções abaixo caracteriza o conceito de ¿tipagem dinâmica¿? int i = 5 i = 2 2+3 = 5 String x = ¿teste¿ String a = 3 Explicação: A resposta correta é a letra a, dado que tipagem dinâmica é uma caracferística da linguagem, onde o próprio interpretador infere qual é o tipo da linguagem, no caso ele inferirá que i é uma variável do tipo inteiro. As letras b e c caracterizam tipagem estática, d é uma instrução de soma de dois números e a letra e, é uma instrução onde faltam as aspas para o tipo estático String 7a Questão Considere o seguinte código em Python: valor1 = input("digite um numero"); valor2 = input("digite um outro numero"); resultado = float((int(valor1) + int(valor2)))/2; print(resultado); Considerando que variáveis de valores recebam os inteiros 4 e 6, qual é o resultado final? 10 5.0 ERROR 5 10.0 Explicação: O resultado da média dos números 4 e 6 será 5.0, o valor será do tipo float porque a função float() converte a soma dos dois inteiros para float. 8a Questão Seja a string em Python: str = 'Python'; Qual o resultado da expressão: print(str[0]); y P t o h Explicação: A resposta é P, pois em python as cadeias de caracteres começam com o primeiro elemento 0 (zero). Considere o seguinte código em Python: valor = 7 while (valor>3): print(valor) valor -= 1 else: ultimo_valor = valor print(ultimo_valor) Qual é o resultado da variável ¿ultimo_valor¿, quando terminar o código? 5 3 4 6 7 Explicação: A condição é imprimir enquanto o valor for maior que 3. Quando chegar ao valor 3, o código executará a instrução else, e terá o valor igual a 3. A resposta correta é a letra e. 2a Questão Qual é a função do operador relacional ¿==¿ em Python? diferente e lógico igual ou lógico atribuição Explicação: == signfica o operador lógico de igualdade em Python, neste caso a resposta é a letra a. 3a Questão Considere o seguinte código em Python: for valor in range(2,13): if valor%2 != 0: print(valor) Qual é o último número a ser impresso na tela? 2 5 10 11 13 Explicação: O último valor será 11, pois é o último ímpar da faixa coberta pela função range( ) 4a Questão O que será impresso, caso o código abaixo seja executado duas vezes, primeiramente com o valor 5 e depois com o valor 10? x = int(input()) if x>=5: print(x+10) if x<10: print("menor que 10") else: if x>8: print("maior que 8") else: print("menor ou igual a 8") Primeiramente imprimirá 15 e na segunda execução 20 Primeiramente imprimirá 15 e o texto "menor que 10". Na segunda execução imprimirá 20 Primeiramente imprimirá 5 e na segunda execução 10 Primeiramente imprimirá 15 e na segunda execução imprimirá além do número 20, o texto "maior que 8" Primeiramente imprimirá 20 e na segunda execução 15 Explicação: Como ambos os valores são maiores ou iguais a 5, sempre executa o primeiro if, sendo impresso o valor + 10 (15 e 20), além da frase "é menor que 10" para 5, devido ao if (x<10) interno ao bloco. 5a Questão Analise as informações abaixo: I. Python é interpretado II. Python é orientado a objetos III. Python é interativo Estão corretas as afirmações: Somente I Somente I e III Somente I e II Somente II e III I, II e III Explicação: Todas as afirmações estão corretas 6a Questão Considere o seguinte conjunto de instruções em Python: frase = 'este pode ser um teste' contador = 0 for letra in frase: if letra == 'e': contador = contador + 1 print(contador) Qual é o resultado da variável contador após a realização das instruções? 4 1 6 8 5 Explicação: O código conta a quantidade de letras ¿e¿ que aparecem na variável frase, neste caso a resposta é a letra b. 1a Questão Considere o seguinte código em Python: for valor in range(2,13): if valor%2 != 0: print(valor) Qual é o último número a ser impresso na tela? 2 10 13 11 5 Explicação: O último valor será 11, pois é o último ímpar da faixa coberta pela função range( ) 2a Questão Analise as informações abaixo: I. Python é interpretado II. Python é orientado a objetos III. Python é interativo Estão corretas as afirmações: I, II e III Somente II e III Somente I Somente I e III Somente I e II Explicação: Todas as afirmações estão corretas 3a Questão Considere o seguinte conjunto de instruções em Python: frase = 'este pode ser um teste' contador = 0 for letra in frase: if letra == 'e': contador = contador + 1 print(contador) Qual é o resultado da variável contador após a realização das instruções? 8 6 1 4 5 Explicação: O código conta a quantidade de letras ¿e¿ que aparecem na variável frase, neste caso a resposta é a letra b. 4a Questão O que será impresso, caso o código abaixo seja executado duas vezes, primeiramente com o valor 5 e depois com o valor 10? x = int(input()) if x>=5: print(x+10) if x<10: print("menor que 10") else: if x>8: print("maior que 8") else: print("menor ou igual a 8") Primeiramente imprimirá 20 e na segunda execução 15 Primeiramente imprimirá 5 e na segunda execução 10 Primeiramente imprimirá 15 e o texto "menor que 10". Na segunda execução imprimirá 20 Primeiramente imprimirá 15 e na segunda execução imprimirá além do número 20, o texto "maior que 8" Primeiramente imprimirá 15 e na segunda execução 20 Explicação: Como ambos os valores são maiores ou iguais a 5, sempre executa o primeiro if, sendo impresso o valor + 10 (15 e 20), além da frase "é menor que 10" para 5, devido ao if (x<10) interno ao bloco. 5a Questão Qual é a função do operador relacional ¿==¿ em Python? atribuição diferente ou lógico e lógico igual Explicação: == signfica o operador lógico de igualdade em Python, neste caso a resposta é a letra a. 6a Questão Considere o seguinte código em Python: valor = 7 while (valor>3): print(valor) valor -= 1 else: ultimo_valor = valor print(ultimo_valor) Qual é o resultado da variável ¿ultimo_valor¿, quando terminar o código? 4 6 5 7 3 Explicação: A condição é imprimir enquanto o valor for maior que 3. Quando chegar ao valor 3, o código executará a instrução else, e terá o valor igual a 3. A resposta correta é a letra e. 1a Questão Qual é a função do operador relacional ¿==¿ em Python? atribuição ou lógico diferente e lógico igual Explicação: == signfica o operador lógico de igualdade em Python, neste caso a resposta é a letra a. 2a Questão Considere o seguinte código em Python: valor = 7 while (valor>3): print(valor) valor -= 1 else: ultimo_valor = valor print(ultimo_valor) Qual é o resultado da variável ¿ultimo_valor¿, quando terminar o código? 6 3 7 4 5 Explicação: A condição é imprimir enquanto o valor for maior que 3. Quando chegar ao valor 3, o código executará a instrução else, e terá o valor igual a 3. A resposta correta é a letra e. 3a Questão Analise as informações abaixo: I. Python é interpretado II. Python é orientado a objetos III. Python é interativo Estão corretas as afirmações: Somente II e III I, II e III Somente I e III Somente I e II Somente I Explicação: Todas as afirmações estão corretas 4a Questão Considere o seguinte conjunto de instruções em Python: frase = 'este pode ser um teste' contador = 0 for letra in frase: if letra == 'e': contador = contador + 1 print(contador) Qual é o resultado da variável contador após a realização das instruções? 4 8 1 6 5 Explicação: O código conta a quantidade de letras ¿e¿ que aparecem na variável frase, neste caso a resposta é a letra b. 5a Questão O que será impresso, caso o código abaixo seja executado duas vezes, primeiramente com o valor 5 e depois com o valor 10? x = int(input()) if x>=5: print(x+10) if x<10: print("menor que 10") else: if x>8: print("maior que 8") else: print("menor ou igual a 8") Primeiramente imprimirá 5 e na segunda execução 10 Primeiramente imprimirá 20 e na segunda execução 15 Primeiramente imprimirá 15 e na segunda execução imprimirá além do número 20, o texto "maior que 8" Primeiramente imprimirá 15 e na segunda execução 20 Primeiramente imprimirá 15 e o texto "menor que 10". Na segunda execução imprimirá 20 Explicação: Como ambos os valores são maiores ou iguais a 5, sempre executa o primeiro if, sendo impresso o valor + 10 (15 e 20), além da frase "é menor que 10" para 5, devido ao if (x<10) interno ao bloco. 6a Questão Considere o seguinte código em Python: for valor in range(2,13): if valor%2 != 0: print(valor) Qual é o último número a ser impresso na tela? 2 11 10 13 5 Explicação: O último valor será 11, pois é o último ímpar da faixa coberta pela função range( ) 1a Questão Em orientação a objetos, a característica que determina a possibilidade de um descendente alterar a funcionalidade de um método herdado é deominada: polimorfismo encapsulamento composição abstração herança Explicação: Através da herança é possível criar uma nova classe a partir de outra já existente, aproveitando suas características, mas algumas funcionalidades podem não ser adequadas, podendo ser modificadas através da sobrescrita destes métodos, segundo um processo denominado polimorfismo. 2a Questão Para construir uma função com três parâmetros em Python, como deve ser o cabeçalho? def func(a,b,c): def func(a,b,c) define func(a,b,c) define(a:b) define (a,b,c) Explicação: A resposta é a letra d, que contém a sintaxe correta de definição de uma função em Python. 3a Questão Toda linguagem orientada a objetos permite a especificação de métodos construtores na classe, os quais são responsáveis pela inicialização do objeto recém-alocado na memória. Na linguagem Python este método recebe o seguinte nome: constructor self def this __init__ Explicação: O método construtor é denominado __init__, sendo definido, como os demais métodos, através de def __init__(self, parâmetros...). Quanto aos demais, def serve para criar uma função ou método e self é o ponteiro de auto-referência implícito do Python. O this e o constructor não pertencem à sintaxe Python. 4a Questão Para acessar o atributo de um objeto Python, pode ser utilizado, alternativamente ao acesso direto, a seguinte função: delattr expattr getattr hasattr setattr Explicação: Funções: getattr - retorna o valor do atributo, hasattr - testa se existe o atributo, setattr - seta o valor do atributo, delattr - remove o atributo, expattr - não existe. 5a Questão Considere o seguinte código em Python: class Complexo: def __init__(self, parte_real, parte_imag): self.r = parte_real self.i = parte_imag Quando executarmos o seguinte comando: x = Complexo(3.0, -4.5) qual será o resultado de x.r? 3.0 0 -7.5 -4.5 -1.5 Explicação: A resposta é a letra a, porque estaremos iniciando o objeto Complexo para a parte real (x.r) igual a 3.0 e a parte imaginária para -4.5 6a Questão Ao definirmos uma classe Carro em Python, qual seria um possível método para ela? define acender(valor): def acelerar(vel): define fechar(): define plantar(lugar): def somar(a,b): Explicação: A resposta é a letra b, porque um método é uma ação a ser executado pelo objeto, no caso, um carro possui como uma ação possível a aceleração, as letras c, d e e estão com uma palavra chave define que não é do python, e a letra a, somar dois parâmetros não se encaixa no objeto carro. 1a Questão Toda linguagem orientada a objetos permite a especificação de métodos construtores na classe, os quais são responsáveis pela inicialização do objeto recém-alocado na memória. Na linguagem Python este método recebe o seguinte nome: constructor self __init__ this def Explicação: O método construtor é denominado __init__, sendo definido, como os demais métodos, através de def __init__(self, parâmetros...). Quanto aos demais, def serve para criar uma função ou método e self é o ponteiro de auto-referência implícito do Python. O this e o constructor não pertencem à sintaxe Python. 2a Questão Para acessar o atributo de um objeto Python, pode ser utilizado, alternativamente ao acesso direto, a seguinte função: hasattr setattr getattr expattr delattr Explicação: Funções: getattr - retorna o valor do atributo, hasattr - testa se existe o atributo, setattr - seta o valor do atributo, delattr - remove o atributo, expattr - não existe. 3a Questão Ao definirmos uma classe Carro em Python, qual seria um possível método para ela? define fechar(): def acelerar(vel): define acender(valor): define plantar(lugar): def somar(a,b): Explicação: A resposta é a letra b, porque um método é uma ação a ser executado pelo objeto, no caso, um carro possui como uma ação possível a aceleração, as letras c, d e e estão com uma palavra chave define que não é do python, e a letra a, somar dois parâmetros não se encaixa no objeto carro. 4a Questão Considere o seguinte código em Python: class Complexo: def __init__(self, parte_real, parte_imag): self.r = parte_real self.i = parte_imag Quando executarmos o seguinte comando: x = Complexo(3.0, -4.5) qual será o resultado de x.r? -7.5 -4.5 3.0 0 -1.5 Explicação: A resposta é a letra a, porque estaremos iniciando o objeto Complexo para a parte real (x.r) igual a 3.0 e a parte imaginária para -4.5 5a Questão Para construir uma função com três parâmetros em Python, como deve ser o cabeçalho? define func(a,b,c) define(a:b) def func(a,b,c) def func(a,b,c): define (a,b,c) Explicação: A resposta é a letra d, que contém a sintaxe correta de definição de uma função em Python. 6a Questão Em orientação a objetos, a característica que determina a possibilidade de um descendente alterar a funcionalidade de um método herdado é deominada: abstração polimorfismo herança encapsulamento composição Explicação: Através da herança é possível criar uma nova classe a partir de outra já existente, aproveitando suas características, mas algumas funcionalidades podem não ser adequadas, podendo ser modificadas através da sobrescrita destes métodos, segundo um processo denominado polimorfismo. . A função abaixo em Python ilustra um conceito muito importante no paradigma funcional. def fatorial(valor): if valor == 0: return 1 else: return valor * fatorial(valor-1) Qual é esse conceito? Tipagem dinâmica Orientação a objetos Multiparadigmas Recursividade Linguagens de script Explicação: A resposta é a letra c. A função implementa a função fatorial que chama a ela mesma no comando else. Esse conceito de uma função chamar ela mesma é definido por recursividade. 2. Considere a seguinte definição da classe fração: class Fracao: def __init__(self,num,den): self.num = num self.den = den Qual seria um possivel cabeçalho para um método de multiplicar duas frações? def mul(fracao1, fracao2) fracao.multiplicar(f1) f.multiplicar(f) Nenhuma das anteriores está correta. def __mul__(self,fracao): Explicação: A resposta é: def __mul__(self,fracao): onde é passado como parâmetro um objeto da classe Fracao de onde serão retirados o numerador e o denominador. Abaixo o código desse método: def mul(self,fracao): return Fracao(self.num*fracao.num, self.den*fracao.den) 3. Qual é a saída do comando abaixo: >>> a='10' >>> print(a*2) Erro! 20¿ 20 100 1010 Explicação: A variável a contém uma string. Usar o operador "*" vai repeti-la 4. Qual é o objetivo do comando super() na declaração abaixo? class Carro(Veiculo): def __init__(self,vel,marca): super().__init__(vel) self.marca = marca Uso de polimorfismo em Python. Inicializa a variável vel. Nenhuma das respostas anteriores está correta. Apenas a sintaxe normal para a definição de uma classe simples em Python. Permite que a classe herde o método da superclasse. Explicação: A resposta é letra a. É desse modo que se implementa a sobrecarga de métodos em Python, possibilitando extender a funcionalidade da superclasse para as classes filhas. 5. Seja a classe definida como FormaGeométrica em Python, qual das opções abaixo poderia ser uma classe herdada dessa classe? class Pessoa(FormaGeometrica) class Animal(FormaGeometrica) Nenhuma das opções está correta. class Carro(FormaGeometrica) class Quadrado(FormaGeometrica) Explicação: A resposta é class Quadrado(FormaGeometrica), classe Quadrado, porque uma subclasse herda as propriedades da superclasse, e como só existe uma única forma geométrica entre as opções ela é a resposta correta. 6. O que o código abaixo imprime? class Vendas: def __init__(self, id): self.id = id id = 100 val = Vendas(123) print (val.id) 100 Nenhuma das anteriores 123 Nada. Vai dar pau Id Explicação: O construtor vai fazer a atribuição para a variável id do objeto val 7. Seja uma superclasse veículo contendo um método acelerar(valor) com duas subclasses, carro (objeto C) e motocicleta (objeto M). Identifique abaixo uma chamada de método polimórfico em Python: C.M.acelerar(45) C.acelerar(20) Nenhuma das respostas anteriores está correta. A.acelerar.M acelera(M) Explicação: Um método polimórfico é um método que se adapta ao objeto, no caso da questão, um véiculo pode acelerar, mas moto e carro são acelerados de modos diferentes. A resposta para a chamada correta em Python é a letra C.acelerar(20). 8. Considere a seguinte função em Python: def func(a,b): for valor in range(a,b): print(valor) Qual o resultado da chamada func(1,3)? 1, 2, 3 2 1, 2 1 3 Explicação: O resultado é a letra a. São passados dois parâmetros a e b para a função range( ), que exibirá uma faixa entre 1 e 3, menos o último valor (3, no caso) Ao executarmos os seguintes comandos em Python qual o resultado que teremos? lista = [4,2,1,5,0] lista.sort() print(lista) [0,1,2,4,5] [5,4,2,1,0] [5,3,4,2,1] [5,4,3,2,1] [1,2,3,4,5] Explicação: a resposta é [0,1,2,4,5], pois a função sort() ordena a lista do menor para o maior. 2. Qual é a lista resultante do seguinte comando em Python? s = [x**3 for x in range(3)] [1,4,5] [0,1,2] [3,4,5] [1,4,9] [0,1,8] Explicação: a resposta é [0,1,8]. O comando range(3) gera a lista [0,1,2] e de acordo com a regra x**3 esses elementos serão elevados ao cubo, gerando a seguinte lista [0,1,8]. 3. Qual o resultado dos seguintes comandos em Python? lista1 = [1,2,3] lista2 = [4,5,6] print(lista1 + lista2) [4,5,6] [6,5,4,3,2,1] [1,2,3,4,5,6] [2,4,5,6] [1,2,3] Explicação: Comentário: a resposta é [1,2,3,4,5,6]. O operador + junta os elementos de duas listas. 4. Considere a seguinte função em Python: def resto(t): return t[1:] Ao aplicar essa função na lista [1,2,3,4,5] qual é o resultado final? [2,3,4,5] [] [3,4] [1] [1,3] Explicação: A resposta é [2,3,4,5]. Essa função pega todos os elementos da lista menos o primeiro. É equivalente à função tail() 5. A estrutura de dados chamada de pilha pode ser implementada em Python a partir de uma lista. Duas operações que fazem parte de uma pilha são os comandos push() e pop(). Se tivéssemos uma pilha como l = [3,2,1], e usássemos o comando l.pop(), qual seria o resultado final? [2,1] [] [3,2,1] [3] [3,2] Explicação: O comando pop() retira o último elemento inserido na pilha, nesse caso o elemento 3, então a resposta correta é [2,1]. 6. Existem várias políticas de enfileiramento para o tipo abstrato de dados ¿Fila¿. Desses, qual é a sigla que define uma fila onde o primeiro a entrar é o primeiro a sair da fila? pilha enfileirada fila encadeada fila por prioridade FIFO fila enfileirada Explicação: O termo FIFO significa ¿First in, First out¿ que significa que o primeiro a entrar é o primeiro a sair, então a resposta certa é FIFO. 1. Uma tupla é um tipo de estrutura em Python que se parece com as listas, porém uma tupla é ___ restrita a inteiros mutável imutável restrita a strings restrita a inteiros e strings Explicação: A resposta é imutável. Uma tupla é como uma lista, mas não pode ser modificada, diferentemente dessa última. 2. Uma das formas de tratamento de erros em Python é por ¿exceções¿. Quais dos comandos abaixo caracteriza uma parte do comando de exceções em Python? for i from 1 to 10 if then else def f(x) while try Explicação: Uma exceção em Python é tratada pelo comando try < > except, nesse caso a resposta é try. As demais são estruturas de decisão e repetição. 3. Considere as seguintes duas estruturas: tupla = 'brasil' lista = [1,2,3,4,5] e o resultado: ('b', 1) ('r', 2) ('a', 3) ('s', 4) ('i', 5) Qual é a função que produziu esse resultado? pilha unzip pop zip append Explicação: A resposta é zip, pois é uma função integrada, que recebe duas ou mais sequências e retorna uma lista de tuplas onde cada tupla recebe um elemento de cada sequência. 4. Considere o seguinte código para definir uma tupla em Python: t = tuple('Brasil') print(t[1:3]) Qual é o resultado desse código? ('B','a') ('B','r') ('i','l') ('B','i') ('r','a') Explicação: a resposta é ('r','a'). O comando t[1:3] vai acessar o item 1 da tupla que é 'r' e o item 2 que é a letra 'a'. 5. Analise o seguinte código em Python: estrutura = (3,4,6,4,5,'b','f',5,8,2) print(estrutura.count(5)) Qual o nome dessa estrutura e o que será impresso no console? fila, 2 dicionário, 2 array, 0 lista, 4 tupla, 2 Explicação: Essa estrutura se chama tupla e a função count(5) contará o número de vezes que o elemento 5 aparece na estrutura, no caso duas vezes, a resposta é a tupla, 2. 6. Qual estrutura de dados corresponde ao seguinte trecho de código em Python? legumes = {'abóbora':10, 'xuxu':20, 'batata':15} registro array lista dicionário tupla Explicação: A estrutura acima é chamada em Python de dicionário. Em Python, existem várias possibilidades de manipularmos textos e strings. Considere o seguinte código line = 'teste,de,alguma,coisa' print(line.split(',')) Qual será o resultado desse trecho? ['testede','algumacoisa'] ['teste', 'de', 'alguma', 'coisa'] testedealgumacoisa ['teste', 'coisa'] [t,e,s,t,e] Explicação: A resposta certa é ['teste', 'de', 'alguma', 'coisa']. A função ¿split¿ divide a string de acordo com um parâmetro de entrada, nesse caso é a vírgula. 2. JSON é uma formato para intercâmbio de dados muito utilizado nos dias de hoje. Qual a estrutura, em Python, que é muito utilizada para converter dados de Json para Python, por ser muito parecida? pilhas listas tuplas arrays dicionários Explicação: A resposta é dicionários. O dicionário é a estrutura mais próxima em Python do formato Json. 3. Para ler apenas 2 caracteres de um objeto do tipo arquivo chamado arq, usamos: arq.open(2) arq.readline() arq.read(2) arq.readlines arq.read() Explicação: arq.read(2) é a sintaxe correta para a leitura de caracteres 4. O Python possui várias bibliotecas para manipulação de dados. Qual das opções abaixo é uma das mais utilizadas? files nets ursos pandas bears Explicação: A biblioteca pandas do Python é uma biblioteca muito utilizada em Data Science, área que precisa manipular grande quantidade de dados. As outras opções não se referem a bibliotecas em Python. 5. Ao tentarmos criar uma função para encontrarmos valores iguais entre duas listas tentamos o seguinte código: def valor_comum(l1, l2): for v in l1: if v in l2: temp.append(v) return temp que teria a seguinte chamada: > valor_comum([1,2,3],[3]) Falta uma linha de código para que a função acima funcione, qual é? print temp temp = [] if l1 l1 = l2 for v in t2 Explicação: A instrução que falta é ¿temp = []¿. A lista temp precisa ser criada para que algo possa ser inserido nela, no caso, valores que estejam em ambas as listas. A resposta correta é temp = [] 6. Assinale a afirmativa incorreta: não é possível utilizar banco de dados SQL com Python é possível percorrer arquivos de textos com Python Panda é uma das várias bibliotecas para manipulação de dados Python é uma linguagem com vários paradigmas de programação em Python é possível utilizar listas de listas Explicação: A resposta ERRADA é não é possível utilizar banco de dados sql com Python pois, na verdade, podemos construir aplicações de banco de dados em Python. 7. Dado o código Python abaixo, qual será a saída? str1 = "ABCDEF" str2 = "GHIJKL" print(str1[:2].join(str2[3:])) ABJKL DGHEGHF JABKABL ABCJKL JKLABC Explicação: O comando join fará com que cada letra da segunda string (str2[3:] -> "JKL") seja separada pelos símbolos da primeira string(str1[:2] -> "AB") J AB K AB L 1. Considere o seguinte código em Python. É uma função que retorna mais de um valor. def sp(x,y): return (x+y),(x*y) Qual estrutura de dados está permitindo esse retorno no código acima? vetor lista tupla string array Explicação: A estrutura que permite é a tupla. A função sp() está retornando uma tupla com elementos de soma e produto. 2. Considere a seguinte definição de função em Python: def f(i): print ([x for x in range(i) if x%2 ==0]) Qual é o resultado para a chamada f(5)? 5 [3,4] [0,2,4] [2,4,5] [2,0,5] Explicação: A resposta é [0,2,4]. Essa função retorna os valores pares para a faixa de números até 5, no caso serão os números 0, 2 e 4 3. Considere o seguinte código em Python, qual será o valor impresso para a chamada f(4)? def f(valor): if valor > 3: print(valor) 7 5 nenhum valor 4 3 Explicação: A resposta é 4. O código é de uma função que recebe um valor e compara com 3. Se o valor for maior que 3 ele imprime esse mesmo valor na tela. 4. Para o seguinte código abaixo um tipo de dados não pode ser utilizado, qual? def f(l): for i in l: print(i) inteiro tupla lista string dicionário Explicação: A função definida itera sobre um tipo de dados que possua vários componentes, no caso lista, tupla e string podem ser utilizadas com a função, mas se for usado o tipo inteiro ocorrerá um erro. A resposta correta é inteiro. 5. O paradigma funcional fornece várias funções interessantes em Python, uma delas é a função map. Considere o seguinte código: def triplo(x): return 3 * x m = map(triplo, [1,2,3]) Qual será o resultado do objeto m, ao final? [] 6 [3,6,9] [1,2,3] 3 Explicação: A resposta é [3,6,9]. A função map aplica a função de seu primeiro parâmetro a uma lista, no caso aplicará a função triplo a lista [1,2,3], e o resultado será [3,6,9] 6. Para utilizarmos em Python funções matemáticas como por exemplo math.sqrt(2) precisamos em primeiro lugar carregar um módulo. Qual das instruções abaixo realiza essa situação? load math package import all math functions import math Math.math Math.load math Explicação: Em Python utilizamos o comando ¿import¿ para carregar um módulo, no caso acima a intrução para carregar o módulo math seria ¿import math¿.