Prévia do material em texto
Avaliação – Minicurso Avance – Algoritmos e Programação
1. De uma forma geral, as funções são elementos fundamentais para organizar e
modularizar o código. Elas permitem agrupar um conjunto de instruções que podem
ser executadas repetidamente em diferentes partes do programa. Além disso, as
funções podem receber parâmetros e retornar valores, o que contribui para a
flexibilidade e reutilização do código.
Considere o seguinte trecho de código:
def calcular_media(notas):
soma = sum(notas)
media = soma / len(notas)
return media
def verificar_aprovacao(media):
if media >= 7.0:
return True
else:
return False
notas_aluno = [6.5, 7.8, 8.2, 6.0]
media_aluno = calcular_media(notas_aluno)
aprovado = verificar_aprovacao(media_aluno)
A partir do trecho de código apresentado, analise as asserções a seguir:
I. A função calcular_media recebe como parâmetro uma lista de notas e retorna a
média aritmética dessas notas.
Porque
II. A função verificar_aprovacao recebe como parâmetro a média de um aluno e
retorna True caso ele tenha sido aprovado e False caso contrário.
A respeito das asserções, assinale a alternativa correta:
A) As asserções I e II são proposições verdadeiras, mas a II não é uma
justificativa correta da I.
B) A asserção I é uma proposição falsa e a II uma proposição verdadeira.
C) As asserções I e II são proposições verdadeiras, a II é uma justificativa correta
da I.
D) A asserção I é uma proposição verdadeira e a II uma proposição falsa.
Questão 1 de 5
2. Considere o seguinte problema: Uma escola deseja calcular a média final de
seus alunos em uma disciplina. A média final é calculada a partir de três notas: a
nota da prova escrita (P), a nota do trabalho em grupo (TG) e a nota do projeto final
(PF). Cada nota possui peso diferente na média final: PesoP = 4, PesoTG = 2 e PesoPF
= 4.
Considerando o conteúdo de estruturas de repetição em Python, selecione a
alternativa que apresenta o código correto para calcular a média final dos alunos e
exibir o resultado.
A) nota_p = float(input("Digite a nota da prova escrita: "))
nota_tg = float(input("Digite a nota do trabalho em grupo: "))
nota_pf = float(input("Digite a nota do projeto final: "))
media_final = (nota_p * 4 + nota_tg * 2 + nota_pf * 4) / (4 + 2 + 4)
print("A média final é:", media_final)
B) soma = 0
for i in range(3):
nota = float(input("Digite a nota: "))
soma += nota
media_final = soma / 3
print("A média final é:", media_final)
C) notas = []
for i in range(3):
nota = float(input("Digite a nota: "))
notas.append(nota)
media_final = (notas[0] * 4 + notas[1] * 2 + notas[2] * 4) / (4 + 2 + 4)
print("A média final é:", media_final)
D) soma = 0
for i in range(3):
nota = float(input("Digite a nota: "))
soma += nota
media_final = soma / 9
print("A média final é:", media_final
Questão 2 de 5
3. Um estudante está desenvolvendo um programa para calcular a média
aritmética de um conjunto de valores em Python. Ele percebeu que precisa
implementar uma função para realizar esse cálculo de forma correta.
Sobre o cálculo da média aritmética em Python, analise as afirmações a seguir:
I. A média aritmética é calculada somando todos os valores do conjunto e dividindo
pelo número total de valores.
II. Para calcular a média aritmética em Python, é necessário utilizar um laço de
repetição para percorrer todos os valores do conjunto e somá-los.
III. É possível calcular a média aritmética em Python utilizando apenas operações
básicas, como soma e divisão.
IV. Se o conjunto estiver vazio, o cálculo da média aritmética retornará zero.
V. A média aritmética é sempre um número inteiro.
Assinale a alternativa correta:
A) II, III e IV.
B) I, II e V.
C) II e III.
D) I e IV.
Questão 3 de 5
4. Considere o seguinte código em Python:
numeros = [1, 2, 3, 4, 5]
soma = 0
for num in numeros:
if num % 2 == 0:
soma += num
print(soma)
O código acima tem como objetivo calcular a soma dos números pares presentes na
lista "numeros". Qual será o resultado impresso na tela ao executar esse código?
A) 3
B) 6
C) 9
D) 5
Questão 4 de 5
5. O Bubble Sort é um algoritmo de ordenação que compara pares de elementos
adjacentes e os troca de posição se estiverem na ordem errada. Esse processo é
repetido até que não haja mais trocas a serem feitas, indicando que a lista está
ordenada. O Bubble Sort é simples de implementar, mas possui uma complexidade
elevada, tornando-o menos eficiente para listas maiores. No entanto, ele pode ser
útil para listas pequenas ou para fins educacionais, por sua simplicidade
conceitual.
Um professor de programação desafia seus alunos a analisar um trecho de código
que implementa o algoritmo de ordenação Bubble Sort. O objetivo é identificar se o
código ordena corretamente uma lista de números inteiros em ordem crescente. O
código apresentado é o seguinte:
def bubble_sort(lista):
n = len(lista)
for i in range(n):
for j in range(0, n-i-1):
if lista[j] > lista[j+1]:
lista[j], lista[j+1] = lista[j+1], lista[j]
return lista
Com base na análise do código, assinale a alternativa correta:
A) O código está incorreto, pois não permite a comparação de todos os elementos
da lista.
B) O código está correto e ordena a lista em ordem crescente usando o método
Bubble Sort.
C) O código é uma implementação do algoritmo Insertion Sort.
D) O código está correto, mas ordena a lista em ordem decrescente.