Definite Integrals | Free AP Calculus AB Course

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>AP Calculus AB: Definite Integrals | The School of Mathematics</title>

<meta name="description" content="Learn definite integrals for AP Calculus AB with this free, complete lesson: the Fundamental Theorem of Calculus, properties of definite integrals and the Mean Value Theorem for Integrals, evaluating integrals via substitution, Riemann sums, left/right/midpoint/trapezoidal approximation, comparing approximating sums, graphing f from f' via accumulation, interpreting integrals from tables and graphs, and average value. Includes 29 free original practice problems with instant feedback and full step-by-step explanations.">

<style>

 :root {

  --blue: #4285f4;

  --green: #34a853;

  --red: #ea4335;

  --gray-bg: #f8f9fa;

  --border: #e0e0e0;

 }

 * { box-sizing: border-box; }

 body {

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  background: #ffffff;

  color: #202124;

  line-height: 1.65;

  margin: 0;

  padding: 0;

 }

 .wrap { max-width: 820px; margin: 0 auto; padding: 32px 20px 80px; }

 h1 { font-size: 2rem; line-height: 1.25; margin-bottom: 10px; }

 h2 {

  font-size: 1.5rem;

  margin-top: 48px;

  padding-top: 8px;

  border-top: 2px solid var(--border);

 }

 h3 { font-size: 1.15rem; margin-bottom: 6px; }

 .intro { font-size: 1.05rem; color: #3c4043; }

 .cta-group {

  display: flex;

  gap: 12px;

  flex-wrap: wrap;

  margin: 22px 0 32px;

 }

 .cta-btn {

  flex: 1 1 220px;

  text-align: center;

  text-decoration: none;

  font-weight: 700;

  font-size: 1rem;

  padding: 15px 18px;

  border-radius: 10px;

 }

 .cta-primary { background: var(--blue); color: #fff; }

 .cta-primary:hover { background: #3367d6; }

 .cta-secondary { background: #fff; color: var(--blue); border: 2px solid var(--blue); }

 .cta-secondary:hover { background: #eef3fd; }

 nav.toc {

  background: var(--gray-bg);

  border: 1px solid var(--border);

  border-radius: 10px;

  padding: 18px 22px;

  margin-bottom: 36px;

 }

 nav.toc h2 { margin-top: 0; border-top: none; font-size: 1.1rem; }

 nav.toc ol { margin: 0; padding-left: 22px; }

 nav.toc a { color: var(--blue); text-decoration: none; }

 nav.toc a:hover { text-decoration: underline; }


 .note-box {

  background: #fff8e1;

  border-left: 4px solid #f9a825;

  border-radius: 6px;

  padding: 14px 18px;

  margin: 18px 0;

  font-size: 0.95rem;

 }


 table.ref {

  width: 100%;

  border-collapse: collapse;

  margin: 18px 0 26px;

  font-size: 0.92rem;

 }

 table.ref th, table.ref td {

  border: 1px solid var(--border);

  padding: 9px 11px;

  text-align: left;

  vertical-align: top;

 }

 table.ref th { background: var(--gray-bg); }


 .example {

  background: var(--gray-bg);

  border-left: 4px solid var(--blue);

  border-radius: 6px;

  padding: 16px 20px;

  margin: 18px 0;

 }

 .example p { margin: 6px 0; }

 .step-math { font-family: "Cambria Math", Georgia, serif; }


 .frac {

  display: inline-flex;

  flex-direction: column;

  vertical-align: middle;

  text-align: center;

  font-size: 0.85em;

  line-height: 1;

  margin: 0 2px;

  position: relative;

  top: 0.1em;

 }

 .frac .num { border-bottom: 1.3px solid #202124; padding: 0 4px 1px; }

 .frac .den { padding: 1px 4px 0; }


 .problem {

  border: 1px solid var(--border);

  border-radius: 10px;

  padding: 18px 22px 20px;

  margin: 18px 0;

 }

 .problem .prompt { font-weight: 600; margin-bottom: 12px; }

 .options { display: flex; flex-direction: column; gap: 8px; margin: 0 0 4px; }

 .option-btn {

  text-align: left;

  padding: 10px 14px;

  border: 1px solid #ccc;

  border-radius: 6px;

  background: #fff;

  cursor: pointer;

  font-size: 0.98rem;

  font-family: inherit;

 }

 .option-btn:hover:not(:disabled) { background: #f1f3f4; }

 .option-btn.correct { background: #e6f4ea; border-color: var(--green); font-weight: 600; }

 .option-btn.incorrect { background: #fce8e6; border-color: var(--red); }

 .option-btn:disabled { cursor: default; }

 .explanation {

  margin-top: 0;

  padding: 0 16px;

  background: var(--gray-bg);

  border-left: 4px solid var(--blue);

  border-radius: 4px;

  max-height: 0;

  opacity: 0;

  overflow: hidden;

  transition: max-height 0.35s ease, opacity 0.35s ease, margin-top 0.35s ease, padding 0.35s ease;

 }

 .explanation.show {

  max-height: 600px;

  opacity: 1;

  margin-top: 14px;

  padding: 14px 16px;

 }

 .explanation p { margin: 6px 0; }

 .explanation .label { font-weight: 700; }


 .mistake-list li { margin-bottom: 10px; }

 .faq-item { margin-bottom: 18px; }

 .faq-item h3 { margin-bottom: 4px; }

 footer.cta-final { margin-top: 56px; }

</style>

</head>

<body>

<div class="wrap">


<h1>AP Calculus AB: Definite Integrals</h1>


<p class="intro">

Definite integrals turn accumulation into a computable number, and the Fundamental Theorem of Calculus is the bridge that connects them back to derivatives. This free, complete lesson covers the Fundamental Theorem of Calculus, properties of definite integrals and the Mean Value Theorem for Integrals, evaluating definite integrals via substitution, Riemann sums, left/right/midpoint/trapezoidal approximation, comparing approximating sums, graphing f from f' using accumulation, interpreting integrals from tables and graphs, and average value. Each idea is followed by a fully worked example, and then a set of original practice problems with instant feedback and full explanations. Everything here is free, and you can keep practicing afterward with the full AP Calculus AB Question Bank linked below.

</p>


<div class="cta-group">

<a class="cta-btn cta-primary" href="https://theschoolofmathematics.com/quiz/definite-integrals-quiz-1">Practice Definite Integrals Free</a>

<a class="cta-btn cta-secondary" href="https://theschoolofmathematics.com/quiz/course/AP-Calculus-AB-QBank">Explore the Full AP Calculus AB Qbank</a>

</div>


<nav class="toc" aria-label="Table of contents">

<h2>What's covered in this lesson</h2>

<ol>

<li><a href="#ftc">The Fundamental Theorem of Calculus and Properties</a></li>

<li><a href="#evaluating">Evaluating Definite Integrals via Substitution</a></li>

<li><a href="#riemann">Riemann Sums</a></li>

<li><a href="#approximating">Approximating Definite Integrals</a></li>

<li><a href="#comparing">Comparing Approximating Sums</a></li>

<li><a href="#graphing">Graphing f from f' Using Accumulation</a></li>

<li><a href="#tables-graphs">Interpreting Integrals from Tables and Graphs</a></li>

<li><a href="#average-value">Average Value of a Function</a></li>

<li><a href="#mistakes">Common Mistakes to Avoid</a></li>

<li><a href="#faq">Frequently Asked Questions</a></li>

</ol>

</nav>


<!-- ============ SECTION 1 ============ -->

<h2 id="ftc">1. The Fundamental Theorem of Calculus and Properties</h2>

<p>If f is continuous on [a, b] and F' = f, the <strong>Fundamental Theorem of Calculus</strong> (FTC) says &int;<sub>a</sub><sup>b</sup> f(x) dx = F(b) &minus; F(a). A second form (FTC Part 1) says <span class="frac"><span class="num">d</span><span class="den">dx</span></span>&int;<sub>a</sub><sup>x</sup> f(t) dt = f(x). The <strong>Mean Value Theorem for Integrals</strong> guarantees at least one c in (a, b) where f(c)(b &minus; a) = &int;<sub>a</sub><sup>b</sup> f(x) dx.</p>


<table class="ref">

<tr><th>Property</th><th>Statement</th></tr>

<tr><td>Constant multiple</td><td>&int;<sub>a</sub><sup>b</sup> kf(x) dx = k&int;<sub>a</sub><sup>b</sup> f(x) dx</td></tr>

<tr><td>Zero-width interval</td><td>&int;<sub>a</sub><sup>a</sup> f(x) dx = 0</td></tr>

<tr><td>Reversing limits</td><td>&int;<sub>a</sub><sup>b</sup> f(x) dx = &minus;&int;<sub>b</sub><sup>a</sup> f(x) dx</td></tr>

<tr><td>Splitting the interval</td><td>&int;<sub>a</sub><sup>c</sup> f(x) dx + &int;<sub>c</sub><sup>b</sup> f(x) dx = &int;<sub>a</sub><sup>b</sup> f(x) dx</td></tr>

</table>


<div class="example">

<p><strong>Worked Example:</strong> Evaluate &int;<sub>&minus;1</sub><sup>2</sup> (3x&sup2; &minus; 2x) dx.</p>

<p class="step-math">x&sup3; &minus; x&sup2; |<sub>&minus;1</sub><sup>2</sup> = (8 &minus; 4) &minus; (&minus;1 &minus; 1) = 4 &minus; (&minus;2) = 6</p>

</div>


<div class="problem" id="p1-1">

<p class="prompt">1. Evaluate &int;<sub>0</sub><sup>3</sup> (4x &minus; 1) dx.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p1-1',true)">A) 15</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-1',false)">B) 18</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-1',false)">C) 12</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-1',false)">D) 21</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> 2x&sup2; &minus; x |<sub>0</sub><sup>3</sup> = (18 &minus; 3) &minus; 0 = 15.</p>

</div>

</div>


<div class="problem" id="p1-2">

<p class="prompt">2. If &int;<sub>1</sub><sup>5</sup> f(x) dx = 8 and &int;<sub>3</sub><sup>5</sup> f(x) dx = 3, find &int;<sub>1</sub><sup>3</sup> f(x) dx.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p1-2',true)">A) 5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-2',false)">B) 11</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-2',false)">C) 3</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-2',false)">D) 8</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> Since &int;<sub>1</sub><sup>3</sup> + &int;<sub>3</sub><sup>5</sup> = &int;<sub>1</sub><sup>5</sup>: &int;<sub>1</sub><sup>3</sup> = 8 &minus; 3 = 5.</p>

</div>

</div>


<div class="problem" id="p1-3">

<p class="prompt">3. By the Mean Value Theorem for Integrals, if f is continuous on [2, 6] and &int;<sub>2</sub><sup>6</sup> f(x) dx = 20, there must exist a c in (2, 6) such that f(c) equals what?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p1-3',true)">A) 5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-3',false)">B) 20</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-3',false)">C) 4</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-3',false)">D) 80</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> f(c) = <span class="frac"><span class="num">20</span><span class="den">6 &minus; 2</span></span> = 5.</p>

</div>

</div>


<div class="problem" id="p1-4">

<p class="prompt">4. Find <span class="frac"><span class="num">d</span><span class="den">dx</span></span>[&int;<sub>1</sub><sup>x</sup> &radic;(t&sup2; + 1) dt].</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p1-4',true)">A) &radic;(x&sup2; + 1)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-4',false)">B) &radic;(1&sup2; + 1)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-4',false)">C) x&sup2; + 1</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p1-4',false)">D) 2x</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> By FTC Part 1, differentiating an integral with respect to its own upper limit just substitutes x for t: &radic;(x&sup2; + 1).</p>

</div>

</div>


<!-- ============ SECTION 2 ============ -->

<h2 id="evaluating">2. Evaluating Definite Integrals via Substitution</h2>

<p>When using u-substitution on a definite integral, either convert the limits of integration to u-values (and never switch back to x), or find the antiderivative in terms of x first and then substitute the original limits.</p>


<div class="example">

<p><strong>Worked Example:</strong> Evaluate &int;<sub>0</sub><sup>1</sup> 2(1 &minus; 3x)&sup2; dx.</p>

<p>u = 1 &minus; 3x, du = &minus;3 dx. When x = 0, u = 1; when x = 1, u = &minus;2.</p>

<p class="step-math">2&int;<sub>1</sub><sup>&minus;2</sup> u&sup2;<span class="frac"><span class="num">du</span><span class="den">&minus;3</span></span> = &minus;<span class="frac"><span class="num">2</span><span class="den">9</span></span>[u&sup3;]<sub>1</sub><sup>&minus;2</sup> = &minus;<span class="frac"><span class="num">2</span><span class="den">9</span></span>(&minus;8 &minus; 1) = 2</p>

</div>


<div class="problem" id="p2-1">

<p class="prompt">1. Evaluate &int;<sub>0</sub><sup>1</sup> 3(2x + 1)&sup2; dx using u = 2x + 1.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p2-1',true)">A) 13</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-1',false)">B) 26</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-1',false)">C) 9</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-1',false)">D) 12</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> u = 2x + 1, du = 2 dx. Limits: x = 0 &rarr; u = 1; x = 1 &rarr; u = 3. 3&int;<sub>1</sub><sup>3</sup>u&sup2;(du/2) = <span class="frac"><span class="num">1</span><span class="den">2</span></span>[27 &minus; 1] = 13.</p>

</div>

</div>


<div class="problem" id="p2-2">

<p class="prompt">2. Evaluate &int;<sub>0</sub><sup>2</sup> xe<sup>x&sup2;</sup> dx using u = x&sup2;.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p2-2',true)">A) <span class="frac"><span class="num">1</span><span class="den">2</span></span>(e&#8308; &minus; 1)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-2',false)">B) e&#8308; &minus; 1</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-2',false)">C) <span class="frac"><span class="num">1</span><span class="den">2</span></span>e&#8308;</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-2',false)">D) 2(e&#8308; &minus; 1)</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> u = x&sup2;, du = 2x dx. Limits: x = 0 &rarr; u = 0; x = 2 &rarr; u = 4. <span class="frac"><span class="num">1</span><span class="den">2</span></span>&int;<sub>0</sub><sup>4</sup>e<sup>u</sup> du = <span class="frac"><span class="num">1</span><span class="den">2</span></span>(e&#8308; &minus; 1).</p>

</div>

</div>


<div class="problem" id="p2-3">

<p class="prompt">3. Evaluate &int;<sub>0</sub><sup>&pi;/6</sup> cos(3x) dx.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p2-3',true)">A) <span class="frac"><span class="num">1</span><span class="den">3</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-3',false)">B) 1</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-3',false)">C) 3</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-3',false)">D) <span class="frac"><span class="num">&pi;</span><span class="den">6</span></span></button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> <span class="frac"><span class="num">1</span><span class="den">3</span></span>sin(3x) |<sub>0</sub><sup>&pi;/6</sup> = <span class="frac"><span class="num">1</span><span class="den">3</span></span>[sin(&pi;/2) &minus; sin(0)] = <span class="frac"><span class="num">1</span><span class="den">3</span></span>(1) = <span class="frac"><span class="num">1</span><span class="den">3</span></span>.</p>

</div>

</div>


<div class="problem" id="p2-4">

<p class="prompt">4. Evaluate &int;<sub>0</sub><sup>4</sup> <span class="frac"><span class="num">dx</span><span class="den">x + 1</span></span>.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p2-4',true)">A) ln 5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-4',false)">B) ln 4</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-4',false)">C) 5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p2-4',false)">D) ln 5 &minus; 1</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> ln|x + 1| |<sub>0</sub><sup>4</sup> = ln 5 &minus; ln 1 = ln 5.</p>

</div>

</div>


<!-- ============ SECTION 3 ============ -->

<h2 id="riemann">3. Riemann Sums</h2>

<p>A <strong>Riemann Sum</strong> approximates a definite integral by summing f(x<sub>k</sub>) &middot; &Delta;x across subintervals; in the limit as the number of subintervals grows without bound, the sum becomes exact:</p>

<p class="step-math" style="text-align:center;">lim<sub>n&rarr;&infin;</sub> &sum;<sub>k=1</sub><sup>n</sup> f(x<sub>k</sub>) &middot; &Delta;x = &int;<sub>a</sub><sup>b</sup> f(x) dx</p>


<div class="example">

<p><strong>Worked Example:</strong> Write lim<sub>n&rarr;&infin;</sub> &sum;<sub>k=1</sub><sup>n</sup> (2 + <span class="frac"><span class="num">5k</span><span class="den">n</span></span>)&sup2; &middot; <span class="frac"><span class="num">5</span><span class="den">n</span></span> as a definite integral.</p>

<p>Here x<sub>k</sub> = 2 + 5k/n, so a = 2 and &Delta;x = 5/n gives b = 7. Matching f(x<sub>k</sub>) = x<sub>k</sub>&sup2;:</p>

<p class="step-math">&int;<sub>2</sub><sup>7</sup> x&sup2; dx</p>

</div>


<div class="problem" id="p3-1">

<p class="prompt">1. Write lim<sub>n&rarr;&infin;</sub> &sum;<sub>k=1</sub><sup>n</sup> (1 + <span class="frac"><span class="num">3k</span><span class="den">n</span></span>)&sup3; &middot; <span class="frac"><span class="num">3</span><span class="den">n</span></span> as a definite integral.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p3-1',true)">A) &int;<sub>1</sub><sup>4</sup> x&sup3; dx</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-1',false)">B) &int;<sub>0</sub><sup>3</sup> x&sup3; dx</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-1',false)">C) &int;<sub>1</sub><sup>4</sup> x&sup2; dx</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-1',false)">D) &int;<sub>3</sub><sup>4</sup> x&sup3; dx</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> x<sub>k</sub> = 1 + 3k/n gives a = 1 and &Delta;x = 3/n, so b = 1 + 3 = 4. f(x) = x&sup3;: &int;<sub>1</sub><sup>4</sup> x&sup3; dx.</p>

</div>

</div>


<div class="problem" id="p3-2">

<p class="prompt">2. Write &int;<sub>0</sub><sup>5</sup> (x&sup2; + 1) dx as the limit of a Riemann Sum, using equal-width subintervals with x<sub>k</sub> = 5k/n.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p3-2',true)">A) lim<sub>n&rarr;&infin;</sub> &sum;<sub>k=1</sub><sup>n</sup> [(5k/n)&sup2; + 1] &middot; (5/n)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-2',false)">B) lim<sub>n&rarr;&infin;</sub> &sum;<sub>k=1</sub><sup>n</sup> [(5k/n)&sup2; + 1] &middot; n</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-2',false)">C) lim<sub>n&rarr;&infin;</sub> &sum;<sub>k=1</sub><sup>n</sup> (5k/n)&sup2; &middot; (5/n)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-2',false)">D) lim<sub>n&rarr;&infin;</sub> &sum;<sub>k=1</sub><sup>n</sup> [k&sup2; + 1] &middot; (5/n)</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> With &Delta;x = 5/n and x<sub>k</sub> = 5k/n, f(x<sub>k</sub>) = (5k/n)&sup2; + 1, giving the sum in option A.</p>

</div>

</div>


<div class="problem" id="p3-3">

<p class="prompt">3. In a Riemann Sum, what does &Delta;x represent?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p3-3',true)">A) The width of each subinterval</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-3',false)">B) The height of each rectangle</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-3',false)">C) The number of subintervals</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p3-3',false)">D) The total interval length only</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> &Delta;x is the width of each subinterval; the height comes separately from f(x<sub>k</sub>).</p>

</div>

</div>


<!-- ============ SECTION 4 ============ -->

<h2 id="approximating">4. Approximating Definite Integrals</h2>

<p>Four common numerical approximations, using &Delta;x for equal-width subintervals: the <strong>left sum</strong> L(n) uses left-endpoint heights, the <strong>right sum</strong> R(n) uses right-endpoint heights, the <strong>midpoint sum</strong> M(n) uses midpoint heights, and the <strong>trapezoidal sum</strong> T(n) averages consecutive heights.</p>


<div class="example">

<p><strong>Worked Example:</strong> Approximate &int;<sub>0</sub><sup>2</sup> x&sup3; dx using L(4) (4 subintervals).</p>

<p>&Delta;x = 0.5. Left heights at x = 0, 0.5, 1, 1.5:</p>

<p class="step-math">L(4) = 0.5[0&sup3; + 0.5&sup3; + 1&sup3; + 1.5&sup3;] = 0.5(4.5) = 2.25 = <span class="frac"><span class="num">9</span><span class="den">4</span></span></p>

</div>


<div class="problem" id="p4-1">

<p class="prompt">1. Using the same function and subintervals, find R(4).</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p4-1',true)">A) <span class="frac"><span class="num">25</span><span class="den">4</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-1',false)">B) <span class="frac"><span class="num">9</span><span class="den">4</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-1',false)">C) <span class="frac"><span class="num">31</span><span class="den">8</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-1',false)">D) 4</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> R(4) = 0.5[0.5&sup3; + 1&sup3; + 1.5&sup3; + 2&sup3;] = 0.5(12.5) = <span class="frac"><span class="num">25</span><span class="den">4</span></span>.</p>

</div>

</div>


<div class="problem" id="p4-2">

<p class="prompt">2. Using the same function, find M(4) with midpoints 0.25, 0.75, 1.25, 1.75.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p4-2',true)">A) <span class="frac"><span class="num">31</span><span class="den">8</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-2',false)">B) <span class="frac"><span class="num">25</span><span class="den">4</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-2',false)">C) <span class="frac"><span class="num">9</span><span class="den">4</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-2',false)">D) 4</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> M(4) = 0.5[0.25&sup3; + 0.75&sup3; + 1.25&sup3; + 1.75&sup3;] = 0.5(7.75) = <span class="frac"><span class="num">31</span><span class="den">8</span></span>.</p>

</div>

</div>


<div class="problem" id="p4-3">

<p class="prompt">3. Given f(0) = 5, f(2) = 9, f(4) = 11, f(6) = 8 (equal-width subintervals of 2), estimate &int;<sub>0</sub><sup>6</sup> f(x) dx using T(3).</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p4-3',true)">A) 53</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-3',false)">B) 66</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-3',false)">C) 44</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-3',false)">D) 33</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> T(3) = <span class="frac"><span class="num">5+9</span><span class="den">2</span></span>(2) + <span class="frac"><span class="num">9+11</span><span class="den">2</span></span>(2) + <span class="frac"><span class="num">11+8</span><span class="den">2</span></span>(2) = 14 + 20 + 19 = 53.</p>

</div>

</div>


<div class="problem" id="p4-4">

<p class="prompt">4. A function passes through (1, 4), (3, 10), (6, 7), with unequal subinterval widths. Estimate &int;<sub>1</sub><sup>6</sup> f(x) dx using a left rectangular approximation.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p4-4',true)">A) 38</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-4',false)">B) 51</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-4',false)">C) 44.5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-4',false)">D) 27</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> Widths are 2 (from 1 to 3) and 3 (from 3 to 6). Left heights: f(1) = 4 and f(3) = 10. Estimate: 2(4) + 3(10) = 8 + 30 = 38.</p>

</div>

</div>


<div class="problem" id="p4-5">

<p class="prompt">5. Using the same three points, estimate &int;<sub>1</sub><sup>6</sup> f(x) dx using a trapezoidal approximation.</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p4-5',true)">A) 39.5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-5',false)">B) 38</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-5',false)">C) 51</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p4-5',false)">D) 42.5</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> <span class="frac"><span class="num">4+10</span><span class="den">2</span></span>(2) + <span class="frac"><span class="num">10+7</span><span class="den">2</span></span>(3) = 14 + 25.5 = 39.5.</p>

</div>

</div>


<!-- ============ SECTION 5 ============ -->

<h2 id="comparing">5. Comparing Approximating Sums</h2>

<p>If f is increasing on [a, b], L(n) &le; &int;<sub>a</sub><sup>b</sup> f(x) dx &le; R(n); if decreasing, the inequality reverses. The trapezoid understates the true area when the graph is concave down, and overstates it when concave up. If concave up, M(n) &le; &int; &le; T(n); if concave down, T(n) &le; &int; &le; M(n).</p>


<div class="example">

<p><strong>Worked Example:</strong> If f is increasing on [a, b], how do L(n) and R(n) compare to the true integral?</p>

<p>L(n) &le; &int;<sub>a</sub><sup>b</sup> f(x) dx &le; R(n).</p>

</div>


<div class="problem" id="p5-1">

<p class="prompt">1. If f is decreasing on [a, b], how do L(n) and R(n) compare to the true integral?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p5-1',true)">A) R(n) &le; &int; &le; L(n)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-1',false)">B) L(n) &le; &int; &le; R(n)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-1',false)">C) L(n) = R(n) = &int;</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-1',false)">D) Cannot be determined</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> Decreasing reverses the inequality from the increasing case: R(n) &le; &int; &le; L(n).</p>

</div>

</div>


<div class="problem" id="p5-2">

<p class="prompt">2. If the graph of f is concave down on [a, b], how does T(n) compare to the true value of the integral?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p5-2',true)">A) T(n) is an underestimate</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-2',false)">B) T(n) is an overestimate</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-2',false)">C) T(n) equals the true value exactly</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-2',false)">D) Cannot be determined without more information</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> For a concave-down curve, the connecting chord (the trapezoid's top) lies below the curve, so the trapezoid underestimates the true area.</p>

</div>

</div>


<div class="problem" id="p5-3">

<p class="prompt">3. If the graph of f is concave up on [a, b], how do M(n) and T(n) relate to each other and to the true value?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p5-3',true)">A) M(n) &le; &int; &le; T(n)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-3',false)">B) T(n) &le; &int; &le; M(n)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-3',false)">C) M(n) = T(n) always</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p5-3',false)">D) M(n) always overestimates</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> For concave-up graphs, the midpoint rectangle underestimates and the trapezoid overestimates, giving M(n) &le; &int; &le; T(n).</p>

</div>

</div>


<!-- ============ SECTION 6 ============ -->

<h2 id="graphing">6. Graphing f from f' Using Accumulation</h2>

<p>If F(x) = &int;<sub>a</sub><sup>x</sup> f(t) dt, then F'(x) = f(x) by FTC Part 1. This means all the usual derivative-based reasoning (increasing/decreasing, concavity, critical points) can be applied to F using f as its "derivative graph."</p>


<div class="example">

<p><strong>Worked Example:</strong> If F(x) = &int;<sub>0</sub><sup>x</sup> f(t) dt, and f(t) &gt; 0 for 0 &lt; t &lt; 3 but f(t) &lt; 0 for t &gt; 3, describe F's behavior.</p>

<p>F is increasing on (0, 3) and decreasing for t &gt; 3, so F has a local maximum at t = 3.</p>

</div>


<div class="problem" id="p6-1">

<p class="prompt">1. If F(x) = &int;<sub>2</sub><sup>x</sup> f(t) dt, and f changes from negative to positive at x = 5 (with f(5) = 0), what happens at x = 5?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p6-1',true)">A) F has a local minimum at x = 5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-1',false)">B) F has a local maximum at x = 5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-1',false)">C) F has an inflection point at x = 5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-1',false)">D) F has no critical point at x = 5</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> Since F' = f changes from negative to positive at x = 5, F has a local minimum there.</p>

</div>

</div>


<div class="problem" id="p6-2">

<p class="prompt">2. If f(t) &gt; 0 and increasing on an interval, what does this tell us about the concavity of F(x) = &int;<sub>a</sub><sup>x</sup> f(t) dt on that interval?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p6-2',true)">A) F is concave up</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-2',false)">B) F is concave down</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-2',false)">C) F is linear</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-2',false)">D) Cannot be determined</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> F' = f is increasing, so F'' = f' &gt; 0, meaning F is concave up.</p>

</div>

</div>


<div class="problem" id="p6-3">

<p class="prompt">3. Given F(0) = 2 and &int;<sub>0</sub><sup>3</sup> f(t) dt = 5, where f = F', find F(3).</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p6-3',true)">A) 7</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-3',false)">B) 5</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-3',false)">C) 2</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p6-3',false)">D) 3</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> By FTC: F(3) = F(0) + &int;<sub>0</sub><sup>3</sup> f(t) dt = 2 + 5 = 7.</p>

</div>

</div>


<!-- ============ SECTION 7 ============ -->

<h2 id="tables-graphs">7. Interpreting Integrals from Tables and Graphs</h2>

<p>When velocity is given only at discrete times, approximate total distance using a Riemann Sum built directly from the table.</p>


<div class="example">

<p><strong>Worked Example:</strong> Speed readings every 10 minutes: t = 0, 10, 20, 30, 40 (minutes); v = 20, 35, 50, 30, 45 (mph). Use L(4) to estimate distance traveled.</p>

<p>Each subinterval is 10 minutes = 1/6 hour.</p>

<p class="step-math">L(4) = [20 + 35 + 50 + 30] &times; <span class="frac"><span class="num">1</span><span class="den">6</span></span> = <span class="frac"><span class="num">135</span><span class="den">6</span></span> = 22.5 miles</p>

</div>


<div class="problem" id="p7-1">

<p class="prompt">1. Using the same table, find R(4).</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p7-1',true)">A) <span class="frac"><span class="num">160</span><span class="den">6</span></span> &asymp; 26.67 miles</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-1',false)">B) 22.5 miles</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-1',false)">C) 25 miles</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-1',false)">D) &asymp; 24.17 miles</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> R(4) = [35 + 50 + 30 + 45] &times; <span class="frac"><span class="num">1</span><span class="den">6</span></span> = <span class="frac"><span class="num">160</span><span class="den">6</span></span> &asymp; 26.67 miles.</p>

</div>

</div>


<div class="problem" id="p7-2">

<p class="prompt">2. Using the same table, find T(4).</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p7-2',true)">A) <span class="frac"><span class="num">147.5</span><span class="den">6</span></span> &asymp; 24.58 miles</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-2',false)">B) 22.5 miles</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-2',false)">C) &asymp; 26.67 miles</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-2',false)">D) 25 miles</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> T(4) = [27.5 + 42.5 + 40 + 37.5] &times; <span class="frac"><span class="num">1</span><span class="den">6</span></span> = <span class="frac"><span class="num">147.5</span><span class="den">6</span></span> &asymp; 24.58 miles.</p>

</div>

</div>


<div class="problem" id="p7-3">

<p class="prompt">3. If a velocity function v(t) is strictly increasing throughout [0, 10], which gives a larger estimate of total distance: L(n) or R(n)?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p7-3',true)">A) R(n)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-3',false)">B) L(n)</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-3',false)">C) They are always equal</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p7-3',false)">D) Cannot be determined</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> For an increasing function, right-endpoint heights are always at least as large as left-endpoint heights, so R(n) gives the larger estimate.</p>

</div>

</div>


<!-- ============ SECTION 8 ============ -->

<h2 id="average-value">8. Average Value of a Function</h2>

<p>The <strong>average value</strong> of f on [a, b] is:</p>

<p class="step-math" style="text-align:center;"><span class="frac"><span class="num">1</span><span class="den">b &minus; a</span></span> &int;<sub>a</sub><sup>b</sup> f(x) dx</p>


<div class="note-box">

The average value of a function is not the same as its average rate of change. Average value uses this integral formula; average rate of change uses [f(b) &minus; f(a)]/(b &minus; a). Read every question carefully to determine which is actually being asked.

</div>


<div class="example">

<p><strong>Worked Example:</strong> Find the average value of f(x) = x&sup2; on [0, 3].</p>

<p class="step-math"><span class="frac"><span class="num">1</span><span class="den">3</span></span>&int;<sub>0</sub><sup>3</sup> x&sup2; dx = <span class="frac"><span class="num">1</span><span class="den">3</span></span>[<span class="frac"><span class="num">x&sup3;</span><span class="den">3</span></span>]<sub>0</sub><sup>3</sup> = <span class="frac"><span class="num">1</span><span class="den">3</span></span>(9) = 3</p>

</div>


<div class="problem" id="p8-1">

<p class="prompt">1. Find the average value of f(x) = 4x on [1, 5].</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p8-1',true)">A) 12</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-1',false)">B) 24</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-1',false)">C) 48</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-1',false)">D) 6</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> <span class="frac"><span class="num">1</span><span class="den">4</span></span>&int;<sub>1</sub><sup>5</sup>4x dx = <span class="frac"><span class="num">1</span><span class="den">4</span></span>[2x&sup2;]<sub>1</sub><sup>5</sup> = <span class="frac"><span class="num">1</span><span class="den">4</span></span>(50 &minus; 2) = 12.</p>

</div>

</div>


<div class="problem" id="p8-2">

<p class="prompt">2. Find the average value of f(x) = 3x&sup2; on [0, 2].</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p8-2',true)">A) 4</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-2',false)">B) 8</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-2',false)">C) 2</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-2',false)">D) 12</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> <span class="frac"><span class="num">1</span><span class="den">2</span></span>&int;<sub>0</sub><sup>2</sup>3x&sup2; dx = <span class="frac"><span class="num">1</span><span class="den">2</span></span>[x&sup3;]<sub>0</sub><sup>2</sup> = <span class="frac"><span class="num">1</span><span class="den">2</span></span>(8) = 4.</p>

</div>

</div>


<div class="problem" id="p8-3">

<p class="prompt">3. Find the average value of f(x) = sin x on [0, &pi;].</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p8-3',true)">A) <span class="frac"><span class="num">2</span><span class="den">&pi;</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-3',false)">B) <span class="frac"><span class="num">&pi;</span><span class="den">2</span></span></button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-3',false)">C) 0</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-3',false)">D) <span class="frac"><span class="num">1</span><span class="den">&pi;</span></span></button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> <span class="frac"><span class="num">1</span><span class="den">&pi;</span></span>&int;<sub>0</sub><sup>&pi;</sup>sin x dx = <span class="frac"><span class="num">1</span><span class="den">&pi;</span></span>[&minus;cos x]<sub>0</sub><sup>&pi;</sup> = <span class="frac"><span class="num">1</span><span class="den">&pi;</span></span>[1 + 1] = <span class="frac"><span class="num">2</span><span class="den">&pi;</span></span>.</p>

</div>

</div>


<div class="problem" id="p8-4">

<p class="prompt">4. Is the average value of a function the same as its average rate of change?</p>

<div class="options">

<button class="option-btn" data-correct="true" onclick="checkAnswer(this,'p8-4',true)">A) No, they are different concepts with different formulas</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-4',false)">B) Yes, they are always identical</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-4',false)">C) Yes, but only for linear functions</button>

<button class="option-btn" data-correct="false" onclick="checkAnswer(this,'p8-4',false)">D) No, average value is always larger</button>

</div>

<div class="explanation">

<p><span class="label">Explanation:</span> Average value integrates f itself over the interval; average rate of change compares only the endpoint values of f. They measure genuinely different things and generally give different numbers.</p>

</div>

</div>


<!-- ============ MISTAKES ============ -->

<h2 id="mistakes">Common Mistakes to Avoid</h2>

<ul class="mistake-list">

<li><strong>Switching back to x-limits after converting to u-limits, or vice versa.</strong> Once you substitute the limits of integration in terms of u, evaluate entirely in u, never mix the two.</li>

<li><strong>Forgetting that a definite integral of a negative function yields a negative number.</strong> "Area" is always positive, but the value of the definite integral itself can be negative when the curve dips below the x-axis, these are related but distinct ideas.</li>

<li><strong>Mixing up which approximation over- or underestimates.</strong> The relationship depends on both monotonicity (for L/R) and concavity (for M/T); don't apply a rule from one case to the other.</li>

<li><strong>Treating F(x) = &int;<sub>a</sub><sup>x</sup> f(t) dt as if you need to actually compute the integral before analyzing F.</strong> FTC Part 1 lets you reason about F directly from the graph of f, exactly as you would reason about any function from its derivative's graph.</li>

<li><strong>Confusing average value with average rate of change.</strong> They use entirely different formulas and generally produce different numbers, always double-check which one a question is actually asking for.</li>

</ul>


<!-- ============ FAQ ============ -->

<h2 id="faq">Frequently Asked Questions</h2>


<div class="faq-item">

<h3>Why does the Fundamental Theorem of Calculus matter so much?</h3>

<p>It's the bridge between derivatives and integrals: it says that accumulating a rate of change over an interval (integration) and finding net change in the original quantity are the same operation, undoing differentiation. Without it, evaluating a definite integral would require going back to the limit definition every time.</p>

</div>


<div class="faq-item">

<h3>Which approximation method should I trust the most?</h3>

<p>None is universally best, it depends on the function's shape. The midpoint and trapezoidal sums tend to outperform the left and right sums for smooth curves, since they use more information about the curve's behavior between the endpoints, but a specific comparison always depends on concavity.</p>

</div>


<div class="faq-item">

<h3>How is graphing f from f' using accumulation different from graphing a derivative-based curve sketch?</h3>

<p>It's actually the same skill in reverse: instead of being given f and analyzing f' and f'' to sketch f, you're given f (playing the role of a derivative) and use FTC to build up F's actual y-values at key points, alongside the usual increasing/decreasing and concavity reasoning.</p>

</div>


<div class="faq-item">

<h3>Where can I practice more problems like these?</h3>

<p>The <a href="https://theschoolofmathematics.com/quiz/definite-integrals-quiz-1">Definite Integrals quizzes</a> in the AP Calculus AB Question Bank include additional original problems on this topic, along with quizzes covering every other topic tested throughout the course.</p>

</div>


<footer class="cta-final">

<div class="cta-group">

<a class="cta-btn cta-primary" href="https://theschoolofmathematics.com/quiz/definite-integrals-quiz-1">Practice Definite Integrals Free</a>

<a class="cta-btn cta-secondary" href="https://theschoolofmathematics.com/quiz/course/AP-Calculus-AB-QBank">Explore the Full AP Calculus AB Qbank</a>

</div>

</footer>


</div>


<script>

function checkAnswer(btn, problemId, isCorrect) {

 var problem = document.getElementById(problemId);

 var buttons = problem.querySelectorAll('.option-btn');

 buttons.forEach(function(b) { b.disabled = true; });

 if (isCorrect) {

  btn.classList.add('correct');

 } else {

  btn.classList.add('incorrect');

  var correctBtn = problem.querySelector('.option-btn[data-correct="true"]');

  if (correctBtn) { correctBtn.classList.add('correct'); }

 }

 var exp = problem.querySelector('.explanation');

 if (exp) { exp.classList.add('show'); }

}

</script>


</body>

</html>