A resposta a cada questão pode ser entendida como uma variável aleatória que tem distribuição de Bernoulli, com probabilidade \(p = 1/3\) de acertar e probabilidade \((1-p) = 2/3\) de errar, já que o aluno escolhe aleatoriamente entre três alternativas. Como o teste consiste em 20 questões iguais que têm mesma distribuição de probabilidade, podemos definir a variável aleatória de distribuição binomial \(X\) que representa quantas questões do teste um aluno acertou.
A função de probabilidade da variável aleatória com distribuição binomial tem a seguinte forma:
\[P(X = k)=\binom{n}{k}.p^k.(1-p)^{n-k} = \frac{n!}{k!(n-k)!}.p^k.(1-p)^{n-k}\]
em que \(k\) é a quantidade de resultados iguais a 1 (acertos), \(n\) é a quantidade de repetições do experimento de Bernoulli (questão de múltipla escolha), e \(p\) é a probabilidade de acerto.
Como são necessários pelo menos 12 acertos para passar no teste, a probabilidade de passar será:
\[P(X \geq 12) = P(X = 12) + P(X = 13) + \ldots + P(X = 20) \approx 0.012973 \]
Portanto, o aluno tem \(1.2973\%\) de chance de passar. Para o item "b" da questão, basta fazer os mesmos cálculos considerando \(p = 1/2\) já que o aluno escolherá aleatoriamente entre duas alternativas. Nesse cenário, o aluno tem \(25.1722\%\) de chances de passar.
Calculando o resultado com Python
Apesar da resolução da questão ser simples, fazer o cálculo da probabilidade à mão é trabalhoso. O código em Python a seguir resolve esse problema. Para tanto utilizamos a biblioteca SciPy que possui uma função que calcula probabilidades para distribuição binomial.
# carregar a biblioteca SciPy
from scipy.stats import binom
# quantidade de questões na prova
num_questions = 20
# quantidade de questões corretas necessárias para passar
num_corrects = 12
# probabilidade de acertar uma questão
p = 1/2
# probabilidade de passar
P_pass = 0
# lista com zeros
P = [0]*21
# contador para preencher a lista com as probabilidades
c = 0
for i in range (12, num_questions + 1):
P[c] = binom.pmf(i, num_questions, p)
P_pass = P_pass + P[c]
c = c + 1
print("A probabilidade do estudante passar é de", str(round(P_pass * 100, 4)), "%")