0% acharam este documento útil (0 voto)
204 visualizações6 páginas

Exercício 3 - LP em Python (Gabarito)

Este documento apresenta 7 questões sobre linguagens de programação em Python. As questões cobrem tópicos como uso de listas, funções, loops e tipos de dados. As respostas são fornecidas com comentários explicando a lógica por trás delas.

Enviado por

pedro andrade
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
204 visualizações6 páginas

Exercício 3 - LP em Python (Gabarito)

Este documento apresenta 7 questões sobre linguagens de programação em Python. As questões cobrem tópicos como uso de listas, funções, loops e tipos de dados. As respostas são fornecidas com comentários explicando a lógica por trás delas.

Enviado por

pedro andrade
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 6

CENTRO UNIVERSITÁRIO ESTÁCIO FORTALEZA

LINGUAGENS DE PROGRAMAÇÃO EM PYTHON – 2022.1


EXERCÍCIO 3 - REVISÃO

Nome:
Matrícula:

Questão 01. Considere o código Python a seguir.


L=[6,5,4,3,2,1]
for k in range(-3,3):
print (L[k])

A execução desse código exibe os números:


A) 1 1 1 6 5 4;
B) 1 2 3 4 5 6;
C) 3 2 1 6 5 4;
D) 6 5 4 3 2 1;
E) 6 5 4 6 5 4.

Resposta: C

Comentário:
Lembre que existem três maneiras de chamar range() :
range(stop) recebe um argumento.
range(start, stop) recebe dois argumentos.
range(start, stop, step) recebe três argumentos.

"range(-3, 3)" -> Vai de -3 (incluso) a 3 (não incluso, ou seja, 2), com o passo normal
primeiro -> ordem [-3, -2, -1] : "L[k]" -> 3 , 2 , 1
e depois começa do início
segundo -> ordem [0, 1 , 2]: "L[k]" -> 6, 5 , 4

Em outras palavras, considerando que a função range() usar 3 argumentos: range(stop), range(start,
stop) e range(start, stop, step), quando fazemos range(-3,3), é dito que o loop vai iniciar em -3,
percorre-lo até o seu início, ou seja, -3,-2,-1 (printando os valores 3,2,1 de "L", e vai parar antes de
do "3", começando do 0, ou seja, 0, 1, 2 (printando os valores desses índices, q são 6,5,4)

Questão 02. Considere o código Python a seguir.


def F(a, b, c):
for k in range(a,b):
print (k ** c)

Dado que uma execução da função F exibiu os números

16, 9, 4, 1, 0, 1

é correto afirmar que os valores dos parâmetros a, b, c empregados foram, respectivamente:


A) -4, 1, 2;
B) -4, 2, 2;
C) -4, 0, 4;
D) 4, -1, 1;
E) 4, 2, 2.

Resposta: B

Comentário:
O valor de "k" será defino no próprio "for" usando o "range".

Definição de Range: A função retorna uma sequência de números, começando em 0 por padrão e
incrementa em 1 (por padrão) e para antes de um número especificado.

Então vai do primeiro número em incrementos de "1 em 1" (por padrão) e para ANTES do segundo
número especificado.

Logo, temos:
---------------
def F(a, b, c):
for k in range(a,b):
print k ** c
--------------
def F(-4, 2, 2):
for k in range(-4,2): **Reparem que lood rodará 6 vezes (-4,-3,-2,-1,0,1)
----------------
print -4 ** 2
resultado -> 16
----------------
print -3 ** 2
resultado -> 9

Logo, como a saída tem 6 valores, o range tem que ter um intervalo para 6 repetições. Dado que o
valor b do range não é incluído fica -4 e 2, pois de -4 até 1 tem 6 valores, e o 2 não incluído.

O operador ** é potência. Então passando 2 como c, ele vai calcular -4^2 = 16, -3^2 = 9, -2^2 = 4 ....

Questão 03. Considere o código Python a seguir.


def ABC(L, n):
while True:
if len(L) >= n:
return L
else:
L.append(len(L) ** 2)
print (ABC([20],10))

O resultado da execução desse código é:


A) [1, 4, 9, 16, 25, 36, 49, 64]
B) [1, 4, 9, 16, 25, 36, 49, 64, 81]
C) [20, 1, 4, 9, 16, 25, 36, 49, 64]
D) [20, 1, 4, 9, 16, 25, 36, 49, 64, 81]
E) [20, 4, 9, 16, 25, 36, 49, 64, 81]

Resposta: D

Comentário:
A função ABC nos dá dois parâmetros (L e n), sendo que no print é dado que L = (20) tem apenas 1
elemento, enquanto o parâmetro (n) também tem 1 elemento que equivale n = (10). Portanto,
percebermos que o comprimento tem que ser maior ou IGUAL a 10.

A chamada da função será verdadeira e deverá ser aplicado, quando obedecer às seguintes condições:

IF len (L) >= n --> equivale a dizer (Se a quantidade de elemento de L é >= n), caso contrário vou
para o ELSE L.append(len(L) ** 2

1º) Interação --> L >= n, ou Nº Elemento de L = 1, ou seja, 1 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 1**2 = 1
O elementos de L passa ser L (20,1).

2º) Interação --> L >= n, ou Nº Elemento de L = 2, ou seja, 2 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 2**2 = 4
O elementos de L passa ser L (20,1,4)

3º) Interação --> L >= n, ou Nº Elemento de L = 3, ou seja, 3 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 3**2 = 9
O elementos de L passa ser L (20,1,4,9)

4º) Interação --> L >= n, ou Nº Elemento de L = 4, ou seja, 4 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) **2 = 4**2 = 16
O elementos de L passa ser L (20,1,4,9,16)

4º) Interação --> L >= n, ou Nº Elemento de L = 5, ou seja, 5 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 5**2 = 25
O elementos de L passa ser L (20,1,4,9,16,25).

5º) Interação --> L >= n, ou Nº Elemento de L = 6, ou seja, 6 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 6**2 = 36
O elementos de L passa ser L (20,1,4,9,16,25, 36)

6º) Interação --> L >= n, ou Nº Elemento de L = 7, ou seja, 7 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 7**2 = 49
O elementos de L passa ser L (20,1,4,9,16,25, 36, 49)

7º) Interação --> L >= n, ou Nº Elemento de L = 8, ou seja, 8 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 8**2 = 64
O elementos de L passa ser L (20,1,4,9,16,25, 36, 49, 64)

8º) Interação --> L >= n, ou Nº Elemento de L = 9, ou seja, 9 >= 10? Falso,


Se falso, pulo do condicional (if) e vou para o (else) que é = L.append(len(L) ** 2 = 9**2 = 81
O elementos de L passa ser L (20,1,4,9,16,25, 36, 49, 64,81)
9º) Interação --> L >= n, ou Nº Elemento de L = 10, ou seja, 10 >= 10? VERDADEIRO
AQUI EU PARO TUDO E RETORNO L, ou seja, a lista gerada pela FUNÇÃO.
L (20,1,4,9,16,25, 36, 49, 64,81)

Questão 04. Em relação à linguagem de programação Python, é INCORRETO afirmar que:


A) O tipo da variável pode ser inferido pelo interpretador em tempo de execução.
B) É necessário converter explicitamente o tipo da variável antes de uma operação entre tipos
não compatíveis.
C) Os blocos de código são delimitados pelo uso das chaves: { e } para início e fim do bloco,
respectivamente.
D) É uma linguagem orientada a objeto na qual os atributos e os métodos podem ser acessados
usando o ponto (.).
E) O interpretador Python pode ser usado de forma interativa em um prompt semelhante ao shell
do sistema operacional.

Resposta: C

Comentário:

Em Python os símbolos colchetes [e] são usados para listas; chaves {e} são usados para
dicionários; e parênteses (e) são usados para tuplas e expressões aritméticas.
Os blocos são delimitados pela indentação.

Questão 05. Analise o script Python exibido a seguir.

L=["A","E","I","O","U"]
for k in range(-1, -5, -1):
print (L[k+1])

Assinale a saída produzida pela execução desse código.


A) A E I O U
B) A E I U
C) A U O I
D) U A E I
E) U O I E A

Resposta: C

Comentário:

"range(-1, -5, -1)" -> Vai de -1 (incluso) a -5 (não incluso) com o passo -1
-> [-1, -2, -3, -4]

"L[k+1]" -> Soma 1 a cada valor da minha lista anterior


-> [0, -1, -2, -3]

Imprime
AUOI
Compilando o código
K | posição | L
-1 | -1+1 = 0| A
-2 | -2+1 = -1 | U
-3 | -3+1 = -2 | O
-4 | -4+1 = -3 | I

Questão 06. Analise o código da imagem abaixo, escrito em Python:

Qual alternativa que apresenta a saída após a execução desse programa?


A) 1 22 333 4444
B) 4444 333 22 1
C) 4444 333 22 1 Erro
D) 1 22 333 4444 Erro
E) 4444 333 22 Erro

Resposta: B
Comentário:

Questão 07. Analise o script Python exibido a seguir.

L=["A","E","I","O","U"]
for k in range(0,len(L)):
print (L[4-k])

Assinale a opção que indica a saída produzida pela execução desse código.
A) A E I O U
B) A E I O
C) E I O U
D) U O I E
E) U O I E A

Resposta: E
Comentário:
A função len , quando aplicada a um string, retorna o número de caracteres no string (ou seja, o seu
comprimento).

"for k in range(0,len(L)):" -> K terá valores de 0 a 4

L[4-0] -> L[4] = U


L[4-1] -> L[3] = O
L[4-2] -> L[2] = I
L[4-3] -> L[1] = E
L[4-4] -> L[0] = A

Você também pode gostar