Pular para o conteúdo

Computação 9º ano Prova

Python com listas e funções: depuração e generalização

Prova com 10 questões de Python sobre funções com listas, laços aninhados, filtragem, contagem, busca, depuração de erros e generalização de soluções com parâmetros.

  • 10 questões
  • cerca de 50 minutos

Computação, 9º ano: Python com listas e funções: depuração e generalização

  1. Observe o programa.

    def maior(lista):
        m = lista[0]
        for x in lista:
            if x > m:
                m = x
        return m

    print(maior([4, 11, 7, 2]))

    O que será mostrado?

    1. 4
    2. 11
    3. 2
    4. 24
  2. Observe o programa.

    def pares(lista):
        resultado = []
        for x in lista:
            if x % 2 == 0:
                resultado.append(x)
        return resultado

    print(pares([3, 8, 10, 7, 4]))

    O que será mostrado?

    1. [3, 7]
    2. [4, 8, 10]
    3. [8, 10, 4]
    4. [8, 10, 7, 4]
  3. Observe o programa.

    def media(notas):
        return sum(notas) / 3

    print(media([8, 6, 7, 9]))

    O que ele mostra e qual é o problema?

    1. Mostra 10.0; deveria dividir por len(notas) e mostrar 7.5.
    2. Mostra 7.5; o programa está correto para qualquer lista.
    3. Mostra 30; o erro está no uso da função sum.
    4. Mostra 10.0; o certo seria dividir sempre por 5.
  4. Observe o programa.

    for i in range(1, 4):
        for j in range(1, 3):
            print(i * j)

    Quantos números são mostrados e qual é o último?

    1. 3 números; o último é 3.
    2. 6 números; o último é 9.
    3. 12 números; o último é 12.
    4. 6 números; o último é 6.
  5. Qual é a principal vantagem de dividir um programa grande em funções pequenas?

    1. O programa passa a funcionar sem computador.
    2. Cada função pode ser testada e corrigida separadamente.
    3. As funções deixam o programa automaticamente sem nenhum erro.
    4. O programa fica com mais linhas repetidas.
  6. Observe a função.

    def tabuada_do_5():
        for i in range(1, 11):
            print(5 * i)

    Como reescrevê-la para que mostre a tabuada de qualquer número?

    1. def tabuada(n): for i in range(1, 11): print(n * i)
    2. def tabuada(): for i in range(1, 11): print(i * i)
    3. def tabuada(n): for i in range(1, 11): print(5 * n)
    4. def tabuada(n): for n in range(1, 11): print(5 * i)
  7. Observe o programa.

    def conta(texto, letra):
        total = 0
        for c in texto:
            if c == letra:
                total = total + 1
        return total

    print(conta("abacaxi", "a"))

    O que será mostrado?

    1. 2
    2. 4
    3. 3
    4. 7
  8. Observe o programa. Lembre que as posições de uma lista começam em 0.

    nomes = ["Lia", "Davi", "Rosa", "Ian"]
    i = 0
    while nomes[i] != "Rosa":
        i = i + 1
    print(i)

    O que será mostrado?

    1. 3
    2. 1
    3. Rosa
    4. 2
  9. Observe o programa.

    n = 10
    while n != 0:
        n = n - 3
    print("fim")

    Por que o programa nunca mostra "fim"?

    1. Porque a variável n começa com um valor par.
    2. n passa de 1 para −2 e nunca é 0; o certo seria n > 0.
    3. Porque o print deveria estar antes do while.
    4. Porque o Python não aceita números negativos em variáveis.
  10. Escreva, em Python, uma função conta_aprovados(notas, minima) que receba uma lista de notas e a nota mínima para aprovação e devolva quantas notas são maiores ou iguais à mínima. Depois, mostre dois testes com listas e mínimas diferentes e os resultados esperados.

ProvaPiloto · provapiloto.com.br

Já usou com a sua turma?

Conte com um toque. Isso ajuda outros professores a escolher.

Usei em sala Entre na sua conta para contar.

Para continuar o assunto