# -*- 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.
Un petit algorithme est à compléter (repéré 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-

# À COMPLÉTER : écrire une boucle for i in range(1401). À chaque tour :
# - calculer pH = 0.01 * i, puis F et B avec les relations ci-dessus ;
# - ajouter pH à pH_liste, B à pB et le complément à 100 de B à pA.

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()
