Escolar Documentos
Profissional Documentos
Cultura Documentos
Questão 1 2 3 4 5 6 Total
Valor 1 1 2 2 2 2 10
Nota
Nome:____________________________________________________ NUSP:________________
Questão 1 – 1 Ponto
I 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
v[i] 2.2 3.4 3.4 4.8 8.1 15.0 15.0 18.3 27.8 33.5 45.2 45.2 56.7 67.4 88.9
Usando o algoritmo de busca binária, diga com quantos números haverá comparação para se
procurar nesta tabela os seguintes valores:
a) O valor 4.8
b) O valor 56.7
c) O valor 12.3
d) O valor 99.5
e) Qual o máximo número de comparações com elementos da tabela acima, para se encontrar
ou concluir que o elemento não está?
4 comparações
Questão 2 – 1 Ponto:
As funções abaixo recebem uma lista lista e um valor x e devolvem uma nova lista com o
mesmo conteúdo, eliminando todas as ocorrências de x.
Diga quais delas estão certas e quais estão erradas.
b) Certa
c) Certa
d) Certa
e) Certa
Dado um arquivo de texto arquivo1.txt. Cada linha contém 3 campos separados por vírgula.
Faça um programa que crie um arquivo arquivo2.txt colocando cada campo numa nova linha.
Exemplo:
132.333.433-38
Gerson Saldiva Santos
Rua Saldanha da Gama 135 - Apto 104
187.364.832-23
Martinho da Vila Isabel
Rua Santa Terezinha 1234 - Fundos
342.598.155-56
Antonio Antares Longe
Rua Cabral de Mello Antunes 333
3 0 0 1
0 0 0 2
0 4 0 5
6 0 0 7
b) Escreva uma função TestaMatriz(mat, n) que recebe como parâmetros uma matriz mat
quadrada (n linhas por n colunas) e devolve uma lista de duplas com os índices dos elementos
que estão cercados por zeros. Use obrigatoriamente a função TestaVizinhos acima.
Exemplo: No caso acima devolver a lista:
Escreva uma função SomaSerie(x, eps)que recebe um valor float x > 0 e um outro valor
float eps > 0 bem pequeno (por exemplo 0.001) e devolve o valor da soma abaixo. A soma deve
ser calculada até o último termo que seja maior que eps.
Não usar as funções fatorial e pow e também a operação de exponenciação (**). Ou seja, as
potências de 2 e o fatorial tem que ser calculados por multiplicações sucessivas.
𝑥 + 2 𝑥 + 22 𝑥 + 23 𝑥 + 24 𝑥 + 2𝑘
+ + + + ⋯+ +⋯
1! 2! 3! 4! 𝑘!
Considere a seguinte função recursiva que recebe como parâmetro uma lista L:
def func(L):
if len(L) <= 1: return True
if L[0] <= L[1]: return func(L[1:])
else: return False
print(func([7]))
True
print(func([7, 9, 13]))
True
print(func([7, 9, 9, 17]))
True
False
def funceq(L):
for k in range(1, len(L)):
if L[k - 1] > L[k]: return False
# varreu a lista L e L[k] <= L[k + 1]
return True