diff --git a/scripts/05_atribut.R b/scripts/05_atribut.R
index de37617e975796902fe61d658a1316fd7b288a72..4495a1d1ff14b78cb08274c9b8ee7a032d74c7e1 100644
--- a/scripts/05_atribut.R
+++ b/scripts/05_atribut.R
@@ -29,8 +29,8 @@ ylim <- extendrange(c(p, unlist(L)), f = 0.1)
 plot(p ~ i, type = "o", ylim = ylim)
 with(L, abline(h = c(LC, LIC, LSC), lty = c(1, 2, 2)))
 
-# r <- c(15, 23)
-r <- identify(x = i, y = p, n = 2)
+# r <- identify(x = i, y = p, n = 2)
+r <- c(15, 23)
 
 L <- list(LC = mean(p[-r]))
 L <- within(L, {
@@ -139,3 +139,72 @@ curve(1 - exp(-lambda),
 abline(h = gamma, v = n * p, col = 2)
 
 #-----------------------------------------------------------------------
+# Curva característica de Operação.
+
+# Limites de controle do processo.
+M
+n <- 50
+p
+
+# Pr(D < n * LSC) - Pr(D <= n * LIC)
+lim <- pmax(floor(n * c(M$LSC, M$LIC)), 0)
+lim
+
+pgrid <- seq(0.001, 0.999, by = 0.001)
+length(pgrid)
+
+beta <- pbinom(lim[1], size = n, prob = pgrid) -
+    pbinom(lim[2], size = n, prob = pgrid)
+
+plot(beta ~ pgrid, type = "l",
+     ylab = expression(beta), xlab = "p")
+abline(h = 1 - 2 * pnorm(-3), lty = 2, col = 2)
+abline(v = M, lty = 2, col = 2)
+
+# Comprimento médio de sequência.
+# Prob. de mostrar fora de controle quando está em controle.
+cms0 <- 1/(2 * pnorm(-3))
+cms0
+
+# Se o processo agora tem p = 35.
+bt <- pbinom(lim[1], size = n, prob = 0.15) -
+    pbinom(lim[2], size = n, prob = 0.15)
+cm1 <- 1/(1 - bt)
+cm1
+
+#-----------------------------------------------------------------------
+# Maneiras de calcular os limites de controle.
+
+M <- L
+M$LC * n
+
+# Aproximação Normal.
+M
+
+# Simulação.
+s <- replicate(10000, {
+    rbinom(n = 1, size = n, prob = M$LC)/n
+})
+
+# Reamostragem.
+r <- replicate(10000, {
+    sample(x0, replace = TRUE)/n
+})
+
+quantile(r, probs = pnorm(c(-3, 3)))
+quantile(s, probs = pnorm(c(-3, 3)))
+
+# O tuque está no weights.
+m <- length(x0)
+n <- 50
+m0 <- glm(cbind(x0, 50 - x0) ~ 1,
+          family = "binomial",
+          weights = rep(1/m, m))
+
+plot(profile(m0))
+abline(h = c(-3, 3), lty = 2, col = 2)
+
+# Intervalo de perfil de verossimilhança.
+binomial()$linkinv(confint(m0, level = 1 - pnorm(-3)))
+
+#-----------------------------------------------------------------------