Buscar

PARADIGMAS DE LING DE PROGRAMAÇÃO EM PYTHON

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

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

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
Você viu 3, do total de 21 páginas

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

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

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
Você viu 6, do total de 21 páginas

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

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

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
Você viu 9, do total de 21 páginas

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

Prévia do material em texto

1. Avalie as assertivas sobre as linguagens de programação:
I. Linguagem Assembly é a nativa dos computadores.
II. Uma Linguagem deve ser compatível única e exclusivamente com o hardware a que se propôs a atender.
II. A abstração traz facilidades ao programador que cada vez menos precisa conhecer o ambiente onde a linguagem opera (composto por sistema operacional e hardware).
IV. Um comando em uma linguagem de alto nível faz mais que uma operação primária do hardware.
Com base em sua análise, marque a opção que apresenta apenas as assertivas corretas.
A- I, II, III e IV
B- III e IV apenas
C- III apenas
D- II e IV apenas
Comentário
Parabéns! A alternativa "B" está correta.
Analisando cada assertiva, temos:
I. A linguagem de máquina é a que o computador entende, sendo, portanto, a nativa – Falso.
II. A linguagem deve ser compatível com o sistema operacional principalmente que, por sua vez, tem suas definições de hardware suportadas ‒ Falso.
III. Verdadeiro, a abstração concentra-se no que importa e deixa de lado o irrelevante.
IV. Verdadeiro, pois os comandos são próximos do pensamento e fala do homem, facilitando a programação.
2. Relacione a coluna A, na qual temos as gerações das linguagens de programação com a coluna B, em que temos as características das gerações de linguagens:
	A – Gerações
	B – Características das gerações
	1 – 1ª geração
	a – Linguagem de alto nível
	2 – 3ª geração
	b – Linguagem Assembly
	3 – 4ª geração
	c – Linguagem de máquina
	4 – 2ª geração
	d – Linguagens não procedimentais
Com base em sua análise, marque a opção que relaciona corretamente as duas colunas A e B:
A- 1-c, 2-a, 3-d, 4-b
B- 1-a, 2-c, 3-d, 4-b
C- 1-d, 2-b, 3-a, 4-c
D- 1-b, 2-c, 3-d, 4-a
Comentário
Parabéns! A alternativa "A" está correta.
Analisando cada assertiva, temos:
1ª geração – Linguagem de máquina, a nativa dos computadores. Primórdios da computação.
2ª geração – Linguagem Assembly, na qual surgem os mneumônicos, como abstração primeira.
3ª geração – Linguagens de alto nível, mais próximas à linguagem humana.
4ª geração – Linguagens em que se define a solução de forma não procedimental, ao contrário das linguagens de 3ª geração.
3. Dos domínios de programação apresentados na aula, quais devem considerar, necessariamente, a arquitetura cliente-servidor?
A- Programação web e Mobile.
B- Programação de sistemas e aplicações comerciais.
C- Aplicações de Inteligência Artificial e aplicações científicas.
D- Aplicações comerciais e programação de sistemas.
Comentário
Parabéns! A alternativa "A" está correta.
Dos seis domínios apresentados, aqueles em que precisamos observar a arquitetura cliente-servidor são os relacionados com a internet: programação Web e programação Mobile, pois teremos que nos preocupar com o lado cliente (programação no navegador ou app) e no lado servidor (implementando a lógica do negócio).
4. Um dos critérios mais relevantes na avaliação de linguagens de programação diz respeito à facilidade com que os programas podem ser lidos. Estamos falando de qual critério?
A- Legibilidade
B- Redigibilidade
C- Confiabilidade
D- Custo
Comentário
Parabéns! A alternativa "A" está correta.
São quatro os critérios de avaliação: legibilidade, facilidade de escrita ou redigibilidade, confiabilidade e custo. O que expressa a facilidade de leitura do código é a legibilidade (código legível).
5. As linguagens de programação podem se enquadrar em um ou vários paradigmas, nos quais a linguagem tem uma grande flexibilidade e potencial de aproveitamento. Nesse contexto, Python é uma linguagem:
A- Compatível apenas com o paradigma estruturado.
B- Compatível apenas com os paradigmas estruturado e lógico.
C- Compatível apenas com o paradigma orientado a objetos.
D- Multiparadigma.
Comentário
Parabéns! A alternativa "D" está correta.
Python é uma linguagem multiparadigma, de forma nativa, estando compatível com os paradigmas estruturado, orientado a objeto, funcional e concorrente.
6. Relacione a coluna A, em que temos paradigmas das linguagens de programação com a coluna B, em que temos as características dos paradigmas de linguagens:
	A – Paradigmas
	B – Características dos paradigmas
	1 – Estruturado
	a – Fomenta a reusabilidade pelos mecanismos de herança e polimorfismo
	2 – Orientado a objeto
	b – Desenvolver programas usando três tipos de estruturas: sequenciais, condicionais e repetição
	3 – Concorrente
	c – Lisp é a linguagem mais significativa desse paradigma
	4 – Funcional
	d – Processos executam simultaneamente e concorrem aos recursos de hardware
Com base em sua análise, marque a opção que relaciona corretamente as duas colunas A e B:
A- 1-b, 2-a, 3-d, 4-c
B- 1-a, 2-c, 3-d, 4-b
C- 1-d, 2-b, 3-a, 4-c
D- 1-b, 2-c, 3-d, 4-a
Comentário
Parabéns! A alternativa "A" está correta.
Analisando cada assertiva, temos:
Estruturado – Código com apenas três estruturas básicas: sequenciais, decisão e repetição orientado a objeto – a base são os objetos que podem ser herdados (herança) e estendidos (polimorfismo).
Concorrente – Permite escrever programas que concorrem ao uso dos recursos de hardware (CPU e acesso a disco, por exemplo).
Funcional – Lisp é uma linguagem em que programa-se basicamente, usando funções, sendo uma linguagem do paradigma funcional.
7. Como se chamam os dois processos de conversão de linguagens de alto nível em linguagens inteligíveis pelo computador?
A- Tradução e interpretação.
B- Compilação e interpretação.
C- Análise sintática e análise léxica.
D- Compilação e montagem.
Comentário
Parabéns! A alternativa "A" está correta.
Embora chamemos o processo de compilação, o nome correto é Tradução, da qual a compilação é uma das fases do processo de conversão.
8. Avalie as assertivas a seguir:
I. O compilador analisa o código-fonte e o converte para um executável.
II. O montador traduz o código Assembly para o código de máquina intermediário (código objeto), que é executável pelo computador.
III. O carregador é que torna o código-objeto em relocável.
IV. O ligador liga o código-objeto relocável com as rotinas. Essa ligação gera o código executável.
Com base em sua análise, assinale a única opção com todas as assertivas corretas:
A- Estão corretas III e IV apenas.
B- Estão corretas II, III e IV apenas.
C- Está correta apenas a III.
D- Está correta apenas a IV.
Comentário
Parabéns! A alternativa "A" está correta.
Vamos avaliar cada assertiva.
I. Falso. O correto é: o compilador analisa o código-fonte o converte para um código Assembly.
II. Falso. O correto é: o montador traduz o código Assembly para o código de máquina intermediário (código-objeto), que não é executável pelo computador.
III. Verdadeiro. O carregador é responsável pela relocação do código-objeto.
IV. Verdadeiro. O ligador conecta o objeto relocável com as chamadas às rotinas externas. 
9. Analise as afirmativas a seguir:
I. Python é uma linguagem livre de alto nível, orientada a objetos e de difícil leitura, pois não permite indentação de linhas de código.
II. Python suporta a maioria das técnicas da programação orientada a objetos.
III. A linguagem Python e seu interpretador estão disponíveis para as mais diversas plataformas.
São corretas:
A- Somente II.
B- Somente III.
C- Somente II e III.
D- Somente I e II.
Comentário
Parabéns! A alternativa "C" está correta.
A linguagem Python é de fácil leitura, inclusive pela indentação. Isso torna a afirmativa I falsa. As afirmativas II e III são verdadeiras.
10. (2018/IF-MT/Informática) Sobre a linguagem Python, é incorreto afirmar que:
A- Suporta os paradigmas: imperativo, orientado a objetos e funcional.
B- Utiliza indentação para delimitar início e fim de blocos.
C- A linguagem Python é distribuída sob licença que proíbe sua incorporação em produtos proprietários.
D- Python é um software de código aberto.
Comentário
Parabéns! A alternativa "C" está correta.
A linguagem Python é desenvolvida sob uma licença de código aberto aprovada pela OSI, tornando-a livremente utilizável e distribuível, mesmo para uso comercial.
11. (2017/IF-CE/Técnico de Laboratório/Informática)Considere o trecho do programa Python abaixo:
def func():
 x = 1
 print(x)
x = 10
func()
print(x)
Os valores impressos, ao se executar o programa, são, respectivamente:
A- 1 e 1.
B- 10.
C- 1 e 10.
D- 10 e 10.
Comentário
Parabéns! A alternativa "C" está correta.
A variável x da linha 2 é local da função func(), sendo visível para a chamada print() da linha 3. Por sua vez, a variável x da linha 5 é global, sendo visível para a chamada print() da linha 7.
12. (MS CONCURSOS/2016/Creci 1° Região (RJ)/Analista de TI) Qual alternativa representa a declaração de uma variável na linguagem de programação Python?
A- var valor = 3;
B- boolean inicio = falso;
C- texto = ‘texto de exemplo’
D- int i = 1;
Comentário
Parabéns! A alternativa "C" está correta.Lembre-se de que, em Python, as variáveis não são declaradas com o tipo vinculado. Assim, basta atribuir um valor inicial à variável para que ela possa ser usada. Isso ocorre com a variável texto, que recebe o valor inicial “texto de exemplo”.
13. Considere a expressão a seguir: 2 + 3 – 4 ** 2 + 5 / 2 – 5 // 2
Assinale a opção com o valor correto dessa expressão em Python.
A- -10.5
B- -1
C- 1.5
D- 2
Comentário
Parabéns! A alternativa "A" está correta.
Lembre-se que o operador ** tem precedência maior do que os operadores / e //, os quais, por sua vez, têm precedência sobre + e -. Ou seja, primeiro será efetuada a exponenciação (4**2), depois as divisões, comum (5/2) e inteira (5//2), para posteriormente serem efetuadas as somas e subtrações.
14. (Adaptada de COMPERVE/2019/UFRN/Engenharia da Computação) Python é uma linguagem interpretada muito utilizada. Não requer tipagem de variáveis e sua sintaxe indentada favorece a organização do código. Uma das suas funcionalidades mais poderosas são as listas. Considere o código em Python do quadro abaixo:
A saída correta correspondente às linhas 2 e 4 do código é:
A- 2 e 4.
B- 4 e 16.
C- 2 e 16.
D- 4 e 4.
Comentário
Parabéns! A alternativa "A" está correta.
O operador + realiza operações de soma para tipos numéricos e concatenação para tipos sequenciais. Assim, a variável a na linha 1 passa a ser composta dos itens ‘UF’ e ‘RN’. Assim, a chamada len(a) retorna o tamanho 2, número de elementos de a. De forma semelhante, o operador * realiza operações de multiplicação para tipos numéricos e concatenação de cópias para tipos sequenciais. Assim, a variável b na linha 3 passa a ser a lista ['4', '4', '4', '4']. E a chamada len(b) retorna o tamanho 4, número de elementos de b.
15. (2015/PGE-RO/Técnico da Procuradoria/Tecnologia da Informação) Na linguagem Python, um comando como
a=input("XXX")
provoca:
A- A associação à variável “a" de uma função denominada “XXX" que pertence à biblioteca “input".
B- A criação de uma lista de valores denominada “a" cujo elemento inicial é a string “XXX".
C- A leitura de um valor do arquivo de entrada correntemente designado de acordo com um formato expresso pela string “XXX".
D- Um prompt no dispositivo de saída e a leitura de um valor que é armazenado na variável “a".
Comentário
Parabéns! A alternativa "D" está correta.
A função input() tanto exibe na tela a string “XXX”, como permite que o valor informado pelo usuário seja armazenado na variável a.
16. (2015/TJ-BA/Analista Judiciário/Tecnologia da Informação/Reaplicação) Analise o trecho de programa Python apresentado a seguir.
L = [1,2,3,4,5,6,7,8]
print L[::-1]
Ao ser executado, o resultado exibido é:
A- [1, 2, 3, 4, 5, 6, 7, 8]
B- [8]
C- [ ]
D- [8, 7, 6, 5, 4, 3, 2, 1]
Comentário
Parabéns! A alternativa "D" está correta.
A impressão da sequência L com a chamada L[::-1] é feita percorrendo toda a sequência L, em sentido inverso.
17. Considere o seguinte trecho de um programa escrito em Python:
1 s = 0
2 for i in range(5):
3 s += 3*i
4 print(s)
Assinale a opção que apresenta corretamente o que será impresso na tela:
A- 0   3   9   18   30
B- 0   3   6   9   12
C- 30
D- 45
E- 
Comentário
Parabéns! A alternativa "C" está correta.
O laço for vai ser repetido 5 vezes, já que range(5) retorna a sequência (0, 1, 2, 3, 4). Vale observar que a instrução print(s) está fora do laço for, o que a leva a ser executada apenas uma vez quando o laço se encerrar. Isso elimina as opções A e B. A variável s começa com valor zero e é acrescida, a cada iteração, do valor 3*i, sendo que i pertence à sequência (0, 1, 2, 3, 4). Ou seja, s recebe os acréscimos: 0 + 3 + 6 + 9 + 12. Assim, ela termina o laço com o valor 30, que será impresso pela instrução print(s).
18. Considere o seguinte trecho de um programa escrito em Python:
s = 0
2 a = 1
3 while s < 5:
4 s = 3*a
5 a += 1
6 print(s)
Assinale a opção que apresenta corretamente o que será impresso na tela.
A- 9
B- 3   6
C- 3   3
D- 3   6   9   12
Comentário
Parabéns! A alternativa "B" está correta.
Ao ser testada pela primeira vez, a condição do while é verdadeira, já que s vale zero. Assim, a variável s recebe o valor 3 (3x1) e a variável a é acrescida de uma unidade, ficando com o valor 2. Em seguida, é impresso o valor de s (3). A condição do while é, então, testada novamente, sendo mais uma vez verdadeira, porque s tem o valor 3 (menor que 5). Nessa iteração, a variável s recebe o valor 6 (3x2) e a variável a é acrescida de uma unidade, ficando com o valor 3. Em seguida, é impresso o valor de s (6). A condição do while é, então, testada novamente e é falsa, já que s tem o valor 6, maior que 5. Com isso, o laço while é encerrado e nada mais é impresso. Logo, foram impressos os valores 3 e 6.
19. Considere o seguinte trecho de um programa escrito em Python:
def func1(x):
x = 10
print(x)
x = 0
print(x)
func1(x)
print(x)
O que acontecerá quando o usuário tentar executar esse programa?
A- Ocorrerá um erro e o programa não será executado.
B- Ocorrerá um erro durante a execução.
C- Será impresso na tela: 0   10   0
D- Será impresso na tela: 0   10   10
Comentário
Parabéns! A alternativa "C" está correta.
A variável x da linha 6 é global. Mas, como existe outra variável com o mesmo nome dentro da função func1() – na linha 2, apenas dentro da função func1(), x vale 10 –, chamamos essa variável de local. Assim, o print da linha 7 recebe o valor da variável global (0). A execução da linha 8 chama a função func1(), que imprime o valor de x válido dentro dela (10). Em seguida, a execução do programa sai da função func1() e o print da linha 9 volta a enxergar a variável global x, cujo valor é 0.
20. Considere o seguinte trecho de um programa, com uma implementação de função recursiva, escrito em Python:
def rec(n):
if n < 2:
return rec(n - 1)
print(rec(1))
Quando o usuário tentou executar esse programa, houve um erro. Qual é a causa?
A- Na linha 2, o if está escrito de maneira errada.
B- A função não tem condição de parada.
C- A função está sem retorno.
D- A função não poderia ter sido definida com uma chamada a ela própria.
Comentário
Parabéns! A alternativa "B" está correta.
A função é recursiva, mas não apresenta parada. Ao ser chamada com o parâmetro 1, o if da linha 2 tem condição verdadeira. Então, ocorre a chamada a rec(0). Mas rec(0) não é definido e ocorrerá a chamada a rec(-1). E assim sucessivamente.
21. Sabemos que é possível importar módulos e chamar funções desses módulos em Python. Considere o módulo math, que oferece diversas funções matemáticas. Uma dessas funções é a ceil(x), que retorna o menor inteiro maior ou igual a x. Suponha que um estudante queira usar uma variável n, que recebe o valor 5.9, e em seguida imprimir na tela o menor inteiro maior ou igual a ela.
Parte superior do formulário
  
A- 1 import math
2 n = 5.9
3 print(ceil(n))
B- 1 import math
2 n = 5.9
3 math.ceil(n)
4 print(n)
C- 1 import math
2 n = 5.9
3 print(ceil.math(n))
D- 1 import math
2 n = 5.9
3 print(math.ceil(n))
Comentário
Parabéns! A alternativa "D" está correta.
A maneira correta de usar uma função de um módulo importado é: (i) importar o módulo e (ii) chamar a função com a sintaxe nomeModulo.nomeFuncao().Parte inferior do formulário
22. Sobre a linguagem Python e sua biblioteca padrão,é correto afirmar que:
A- Só permite a utilização dos módulos contidos na biblioteca padrão Python.
B- Tem o módulo de interface gráfica tkinter, que não permite a criação de janelas com botões.
C- Tem módulo de interface de e-mails smtplib, que não permite envio de e-mails por servidores gratuitos.
D- Tem módulo de operações matemáticas math, que não permite operações com números complexos.
Comentário
Parabéns! A alternativa "D" está correta.
O módulo math não permite operações com números complexos.
23.Considere o seguinte trecho de um programa escrito em Python:
1 	try:
2 	num = eval(input("Entre com um número inteiro: "))
3 	print(num)
4 	except ValueError:
5	 print("Mensagem 1")
6	 except IndexError:
7 	print("Mensagem 2")
8 	except:
9	 print("Mensagem 3")
Suponha que durante a execução o usuário entre com a palavra numero quando solicitado. Assinale a opção que mostra o resultado imediato dessa ação.
A- O programa deixará de ser executado.
B- Será impresso na tela Mensagem 1.
C- Será impresso na tela Mensagem 2.
D- Será impresso na tela Mensagem 3.
Comentário
Parabéns! A alternativa "D" está correta.
Como o usuário inseriu uma palavra e não um número, a exceção não será do tipo ValueError nem do tipo IndexError. Assim, a cláusula except a ser executada é a da linha 8, imprimindo Mensagem 3.
24. Sobre o tratamento de exceções em Python, é incorreto afirmar que:
A- É possível implementar tratamentos diferentes de acordo com a exceção levantada.
B- Não é possível utilizar a cláusula finally.
C- Não é possível utilizar a cláusula catch.
D- É possível implementar um tratamento geral para todas as exceções levantadas.
Comentário
Parabéns! A alternativa "B" está correta.
A cláusula finally pode ser usada, embora não seja obrigatória.
25. Na programação orientada a objetos, temos conceitos como Herança e Polimorfismo. Sobre esses conceitos analise as assertivas e assinale a alternativa que aponta a(s) correta(s):
I. Para evitar código redundante, o paradigma de orientação a objetos oferece uma estrutura hierárquica e modular para reutilização de código através de uma técnica conhecida como herança.
II. Herança permite projetar classes genéricas que podem ser especializadas em classes mais particulares, onde as classes especializadas reutilizam o código das mais genéricas.
III. Literalmente, “polimorfismo” significa “muitas formas”. No contexto e projeto orientado a objetos, entretanto, refere-se à habilidade de uma variável de objeto de assumir formas diferentes.
IV. Polimorfismo permite que os atributos de uma classe não tenham acesso diretamente.
A- Apenas I.
B- Apenas I e III.
C- Apenas I, II e III.
D- Apenas II, III e IV.
Comentário
Parabéns! A alternativa "C" está correta.
A questão aborda 3 conceitos importantes da orientação a objetos: Herança, Polimorfismo e Encapsulamento. O item IV acima está errado devido a troca com o conceito de encapsulamento visto na seção “Encapsulamento”.
26. Os bancos são instituições que investem fortemente na área de Tecnologia da Informação, inclusive com a contratação de milhares de profissionais e a construção de grandes ambientes de datacenter. Por isso, é um domínio de conhecimento bastante importante e que deve ser utilizado como exemplo durante um curso de graduação. Sabendo disso, analise a seguinte situação em um sistema bancário: A ContaBancaria(CB) especializa as classes ItemSuportado (IS) e ItemSujeitoAJuros (ISJ) e generaliza as classes ContaCorrente (CC) e Poupança (PP). Nesse sentido, é correto afirmar que ocorre:
A- Relação de dependência entre IS e ISJ.
B- Relação de dependência entre CC e PP.
C- Herança múltipla de CB em relação a CC e PP.
D- Herança múltipla de CB em relação a IS e ISJ.
Comentário
Parabéns! A alternativa "D" está correta.
A questão aborda uma implementação prática de herança múltipla, onde a Classe ContaBancaria recebe herança de ItemSuportado e ItemSujeitoAJuros.
27. Analise o seguinte código escrito em Python, que define a estrutura da classe ContaBancaria:  
class ContaBancaria:
num_contas = 0
def__init__(self,clientes,numero,saldo):
self.agencia = agencia
self.numero = numero
self.saldo = saldo
ContaBancaria.num_contas += 1
def _del_(self):
ContaBancaria.num_contas -= 1
def depositar(self,valor):
self.saldo = self.valor + valor
def sacar(self, valor):
self.saldo = self.valor - valor
def consultarSaldo(Self):
return self.saldo
Sobre a classe acima e as regras de programação orientada a objetos em Python, a opção INCORRETA:
A- A criação de objetos chama primeiro o método __new__() e, em seguida, o __init__().
B- A palavra self deve ser fornecida como argumento em todos os métodos públicos de instâncias.
C- A variável num_contas é encapsulada e individual para cada instância da classe.
D- O método __del__ é privado.
Comentário
Parabéns! A alternativa "B" está correta.
A instância do objeto (self) deve ser passada implicitamente em cada chamada do método.
28. Qual a diferença na utilização dos decorators @staticmethod e @classmethod:
A- O decorator @staticmethod definem métodos de classe que manipulam atributos de classe.
B- O decorator @classmethod definem métodos estáticos que permite acesso a métodos sem instanciação da classe.
C- O decorator @classmethod permite que que os atributos de classe sejam alterados na área de memória.
D- os decorators @staticmethod e @classmethod podem ser usados de forma intercambiáveis.
Comentário
Parabéns! A alternativa "C" está correta.
O decorator @classmethod fica armazenado na mesma área de memória dos atributos de classe. Portanto, pode alterar os valores dos atributos de classe.
29. Sobre a linguagem de programação PYTHON, marque a alternativa incorreta.
A- Python suporta a maioria das técnicas da programação orientada a objetos.
B- Python suporta e faz uso constante de tratamento de exceções como uma forma de testar condições de erro e outros eventos inesperados no programa.
C- A linguagem Python permite a utilização do conceito de sobrecarga de métodos através do polimorfismo dos métodos.
D- A separação de blocos de código em Phyton é feita utilizando a endentação de código.
Comentário
Parabéns! A alternativa "C" está correta.
A questão abrange uma visão geral sobre os conceitos de Orientação a Objetos implementados em Python. O Python não permite a sobrecarga de métodos nativamente.
30. Em relação aos conceitos da orientação a objetos e à implementação em Python, podemos afirmar que:
A- O Poliformismo permite a sobrecarga de métodos em uma classe Python.
B- Objetos diferentes podem ser agrupados na mesma classe, sempre que tenham o mesmo número de bytes.
C- Na linguagem Python existe o conceito de classes abstratas, que fornecem uma capacidade de reutilização para programas orientados a objetos.
D- A linguagem Python implementa parcialmente herança múltipla através do poliformismo.
Comentário
Parabéns! A alternativa "C" está correta.
A questão abrange uma visão geral a implementação dos conceitos orientados a objetos implementados em Python. Uma classe em Python pode representar um objeto abstrato do mundo real, pois esse possui propriedades e responsabilidades que serão utilizados por outros objetos da hierarquia no programa orientado a objetos.
31.Em Python, como trabalhar sempre com tipos objetos:
A- x = c + ADD(a + b).
B- obj(8).__.
C- 5.__add__(3).
D- sub(5).__add__(3).
Comentário
Parabéns! A alternativa "C" está correta.
Na alternativa C, é realizada a soma seguindo a nota Python. A questão abrange o tratamento do Python em relação a todos os tipos serem considerados objetos.
32. Analisando as características Orientada a Objetos de C++, Java e Python, consideramos as seguintes afirmações:
I. Em Java, é permitida a criação de herança múltipla de classes através das classes denominadas interfaces
II. Em Python, como em C++ e Java, existem os tipos primitivos e os objetos para serem utilizados pelos programas
III. Em Python, o encapsulamento não segue os princípios da orientação a objetos
A- II, apenas.
B- II e III, apenas.
C- I e II, apenas.
D- III, apenas.
ComentárioParabéns! A alternativa "D" está correta.
Python não possui tipos privados. Os tipos privados que garantem o encapsulamento são em Java e C++.
33. Observe as afirmativas relacionadas à programação funcional e responda:
I - As funções puras sempre produzem o mesmo resultado quando passados os mesmos parâmetros.
II - Dados imutáveis são aqueles nos quais seus valores podem ser alterados após a sua definição.
III - Não se deve utilizar loops, mas composição de funções.
IV - A programação funcional é um paradigma e um estilo de programação.
Das afirmativas anteriores, quais são verdadeiras?
A- II e III.
B- I e III
C- II.
D- I, III e IV.
Comentário
Parabéns! A alternativa "D" está correta.
A única incorreta é a II. Os dados imutáveis NÃO podem ser alterados.
34. Qual é o resultado impresso pelo programa a seguir?
Script lambda1.py
minha_funcao = lambda x: x ** 2
resultado = minha_funcao(4)
print(resultado)
A- 4.
B- 8.
C- 16.
D- 32.
Comentário
Parabéns! A alternativa "C" está correta.
A função criada retorna o valor do argumento ao quadrado.
35. Observe as afirmativas e responda:
I – É possível alcançar a concorrência em processadores de apenas um núcleo.
II – O paralelismo é uma técnica para permitir executar várias operações ao mesmo tempo.
III – Programas e processos têm a mesma definição.
IV – As threads pertencem a um determinado processo.
Das afirmativas anteriores, quais estão corretas?
A- II e III.
B- I e IV.
C- I, II e IV.
D- I, II.
Comentário
Parabéns! A alternativa "C" está correta.
A única afirmação errada é a III, pois processo é um programa em execução.
36. Qual o valor impresso pelo script a seguir:?
Codigo 14 - Script processos.py
minha_lista = []
 
def adiciona():
for i in range(100):
minha_lista.append(1)
 
if __name__ == '__main__':
tarefas = []
 
for indice in range(10):
t = Thread(target=adiciona)
tarefas.append(t)
t.start()
 
for indice in range(10):
p = Thread(target=adiciona)
tarefas.append(t)
p.start()
 
for tarefa in tarefas:
tarefa.join()
 
print(len(minha_lista))
A- 100.
B- 1000.
C- 2000.
D- 10000.
Comentário
Parabéns! A alternativa "B" está correta.
Apenas a thread consegue acessar a variável global minha_lista. São executadas 10 threads X 100 iterações = 1000.
37. Considere o código a seguir, em que temos um servidor Flask escutando na porta 5000, e responda:
from flask import Flask
 
app = Flask(__name__)
 
@app.route('/ola')
def ola_mundo():
return "Olá, mundo"
 
@app.route('/ola')
def ola_mundo(nome="mundo"):
return "Olá, " + nome
 
if __name__ == '__main__':
app.run()
O que será apresentado no navegador se acessarmos a URL http://127.0.0.1:5000/ola/EAD?
A- Olá, mundo.
B- Olá, mundo.Olá, EAD.
C- Olá, EAD.
D- O programa vai apresentar um erro.
Comentário
Parabéns! A alternativa "C" está correta.
A URL acessada está de acordo com a rota da linha 9.
38. Considere o código a seguir, no qual temos um servidor Flask escutando na porta 5000, e responda:
from flask import Flask
 
app = Flask(__name__)
 
@app.route('/ola', methods=['POST'])
def ola_post():
return "Olá, GET"
 
@app.route('/ola')
def ola_get(nome="mundo"):
return "Olá, POST"
 
if __name__ == '__main__':
app.run()
O que será apresentado no navegador se acessarmos a URL http://127.0.0.1:5000/ola?
A- Olá, GET.
B- Olá, GET.Olá, POST.
C- Olá, POST.
D- O programa vai apresentar um erro.
Comentário
Parabéns! A alternativa "C" está correta.
O navegador utiliza, por default, o método GET. Com isso, será executada a rota para a função ola_get, da linha 10.
39. De acordo com o processo de descoberta de conhecimento em base de dados (KDD) e analisando as assertivas a seguir, quais atividades podem fazer parte da etapa de pré-processamento?
Coleta e Integração.
Codificação.
Construção de atributos.
Visualização dos dados.
Agora, assinale a alternativa correta:
A- I e II
B- I, II e III
C- I, III e IV
D- II, III e IV
Comentário
Parabéns! A alternativa "B" está correta.
Todas fazem parte do pré-processamento, exceto a visualização, que faz parte do pós-processamento.
40. Em algumas situações, precisamos transformar um atributo ou característica de uma amostra de categoria para um número. Qual o nome dessa atividade?
A- Coleta e integração.
B- Codificação.
C- Construção de atributos.
D- Partição dos dados.
Comentário
Parabéns! A alternativa "B" está correta.
A codificação categório-numérica transforma string em números.

Outros materiais