# -*- coding: utf-8 -*-
"""
Chapitre 6 - Force des acides et des bases
------------------------------------------
Diagramme de distribution d'un couple acide-base de pKa donné.

Pour chaque pH, le rapport des formes vaut F = [A-]/[AH] = 10^(pH - pKa) ;
le pourcentage de forme basique est donc  %A- = 100 * F / (1 + F).

A ouvrir et exécuter dans EduPython.
UNE ligne est à compléter (repérée par # À COMPLÉTER).
"""

import matplotlib.pyplot as plt   # tracé de graphes (fiche M2)

pKa = 4.8        # pKa du couple étudié (acide éthanoïque / ion éthanoate)

pH_liste = []    # liste des pH (fiche O5 : listes vides + append)
pA = []          # pourcentage de la forme acide AH
pB = []          # pourcentage de la forme basique A-

for i in range(1401):        # i = 0, 1, ..., 1400
    pH = 0.01 * i            # pH de 0 à 14, par pas de 0,01
    F = 10**(pH - pKa)       # rapport [A-]/[AH]
    B = 100 * F / (1 + F)    # % de forme basique
    pH_liste.append(pH)
    pB.append(B)
    pA.append(100 - B)

plt.plot(pH_liste, pA, label="% AH (forme acide)")
plt.plot(pH_liste, pB, label="% A- (forme basique)")
plt.xlabel("pH")
plt.ylabel("pourcentage de chaque forme")
plt.title("Diagramme de distribution")
plt.grid(True, linestyle=":")
plt.legend()
plt.show()
