Carregando WebR...
# ============================================ # Incidencia tributaria: quem paga o imposto? # Exercicio Resolvido 13.3 # ============================================ # --- Parametros (altere e re-execute!) --- a_d <- 120 # intercepto demanda: Qd = a_d - b_d*p b_d <- 2 # inclinacao demanda c_s <- -30 # intercepto oferta: Qs = c_s + d_s*p d_s <- 3 # inclinacao oferta t <- 10 # imposto por unidade # --- Equilibrio sem imposto --- p0 <- (a_d - c_s) / (b_d + d_s) Q0 <- a_d - b_d * p0 # Elasticidades no equilibrio e_D <- -b_d * p0 / Q0 e_S <- d_s * p0 / Q0 cat("====== INCIDENCIA TRIBUTARIA ======\n") cat("Demanda: Qd =", a_d, "-", b_d, "p\n") cat("Oferta: Qs =", c_s, "+", d_s, "p\n") cat("Imposto: t =", t, "\n\n") cat("--- Equilibrio sem imposto ---\n") cat("p* =", p0, " Q* =", Q0, "\n") cat("e_D =", round(e_D, 3), " e_S =", round(e_S, 3), "\n\n") # --- Equilibrio com imposto --- # Qd(pc) = Qs(pc - t) => a_d - b_d*pc = c_s + d_s*(pc - t) pc <- (a_d - c_s + d_s * t) / (b_d + d_s) pp <- pc - t Qt <- a_d - b_d * pc cat("--- Equilibrio com imposto ---\n") cat("Preco consumidor: pc =", round(pc, 2), " (subiu", round(pc - p0, 2), ")\n") cat("Preco produtor: pp =", round(pp, 2), " (caiu", round(p0 - pp, 2), ")\n") cat("Quantidade: Qt =", round(Qt, 2), " (caiu", round(Q0 - Qt, 2), ")\n\n") # --- Incidencia --- frac_cons <- e_S / (e_S + abs(e_D)) frac_prod <- abs(e_D) / (e_S + abs(e_D)) cat("--- Divisao do onus ---\n") cat("Fracao consumidor:", round(frac_cons * 100, 1), "%\n") cat("Fracao produtor: ", round(frac_prod * 100, 1), "%\n") cat("Verificacao: dp_c/t =", round((pc-p0)/t*100, 1), "%\n") cat(" dp_p/t =", round((p0-pp)/t*100, 1), "%\n\n") # --- Excedentes e PPM --- # Demanda inversa: p = (a_d - Q)/b_d; Oferta inversa: p = (Q - c_s)/d_s p_D_inv <- function(Q) (a_d - Q) / b_d p_S_inv <- function(Q) (Q - c_s) / d_s EC0 <- 0.5 * (p_D_inv(0) - p0) * Q0 EP0 <- 0.5 * (p0 - p_S_inv(0)) * Q0 W0 <- EC0 + EP0 EC1 <- 0.5 * (p_D_inv(0) - pc) * Qt EP1 <- 0.5 * (pp - p_S_inv(0)) * Qt R <- t * Qt PPM <- W0 - EC1 - EP1 - R cat("--- Bem-estar ---\n") cat("Sem imposto: EC =", EC0, " EP =", EP0, " W =", W0, "\n") cat("Com imposto: EC =", round(EC1, 1), " EP =", round(EP1, 1), "\n") cat("Receita gov: R =", round(R, 1), "\n") cat("PPM = W0 - EC1 - EP1 - R =", round(PPM, 1), "\n") cat("PPM (formula): 0.5*t*dQ =", round(0.5 * t * (Q0 - Qt), 1), "\n\n") cat("PPM crece com t^2: dobrar t quadruplica PPM!\n") cat("PPM(t=", t, ") =", round(PPM, 1), "\n") cat("PPM(t=", 2*t, ") =", round(0.5 * (2*t)^2 * b_d*d_s/(b_d+d_s), 1), "\n") # --- Grafico --- par(mar = c(4.5, 4.5, 3, 2), bg = "#f8f9fa") Q_seq <- seq(0, a_d, length = 300) plot(Q_seq, p_D_inv(Q_seq), type = "l", lwd = 3, col = "#0d6efd", ylim = c(0, max(p_D_inv(0), (a_d-c_s)/d_s) * 1.05), xlab = "Q", ylab = "p", main = "Incidencia tributaria") lines(Q_seq, p_S_inv(Q_seq), lwd = 3, col = "#dc3545") # Oferta deslocada (S + t) lines(Q_seq, p_S_inv(Q_seq) + t, lwd = 2, col = "#dc3545", lty = 2) # Area de receita do governo rect(0, pp, Qt, pc, col = rgb(0.43, 0.26, 0.76, 0.12), border = "#6f42c1", lty = 2) text(Qt/2, (pc + pp)/2, paste0("Receita\n= ", round(R)), col = "#6f42c1", cex = 0.8, font = 2) # Triangulo de PPM polygon(c(Qt, Q0, Qt), c(pc, p0, pp), col = rgb(0.86, 0.21, 0.27, 0.2), border = "#dc3545", lwd = 1.5) text(Qt + (Q0-Qt)*0.6, p0, paste0("PPM = ", round(PPM, 1)), col = "#dc3545", cex = 0.75, font = 2) # Pontos points(Q0, p0, pch = 19, col = "#198754", cex = 1.8) points(Qt, pc, pch = 17, col = "#0d6efd", cex = 1.3) points(Qt, pp, pch = 17, col = "#dc3545", cex = 1.3) # Anotacoes text(Q0, p0, paste0(" E0: p=", p0), pos = 4, cex = 0.7, col = "#198754", font = 2) text(Qt, pc + 1, paste0("pc=", round(pc, 1)), pos = 2, cex = 0.7, col = "#0d6efd", font = 2) text(Qt, pp - 1, paste0("pp=", round(pp, 1)), pos = 2, cex = 0.7, col = "#dc3545", font = 2) # Cunha arrows(Qt * 0.15, pp, Qt * 0.15, pc, code = 3, col = "#6f42c1", lwd = 2, length = 0.06) text(Qt * 0.15, (pc+pp)/2, paste0("t=", t), pos = 2, col = "#6f42c1", cex = 0.75, font = 2) legend("topright", legend = c("Demanda", "Oferta", "Oferta + t", "Receita", "PPM"), col = c("#0d6efd", "#dc3545", "#dc3545", "#6f42c1", rgb(0.86, 0.21, 0.27, 0.5)), lwd = c(3, 3, 2, NA, NA), lty = c(1, 1, 2, NA, NA), pch = c(NA, NA, NA, 15, 15), cex = 0.7, bg = "white")
▶ Executar
↻ Resetar
(Aguardando WebR...)