Introduction

Python est le langage de référence dans les programmes de lycée. Ce n'est pas le seul langage, ni le meilleur, mais sa syntaxe le rend particulièrement adapté à la découverte de l'agorithmique.

1- Les variables

Il y a 3 types de variables : les nombres, les chaînes de caractères et les listes (ou tableaux). Les variables peuvent porter le nom que vous décidez du moment que vous utilisez les caractères alphanumériques ou les _ . Les accents sont à proscrire.

In [1]:
Autobus = 3 # Je définis un nombre
Voi_ture = "car" # Je définis une chaîne de caractères
ferry =  ["gens","voitures","camions"] # Je définis une liste

Les listes vont nous être très utiles, elles permettent de stocker des données et d'y accéder facilement à partir de leur position (à partir de 0 pour le premier élément).

In [2]:
ferry[1] #Je vais chercher le 2eme élément de la liste
Out[2]:
'voitures'

On peut enlever des objets d'une liste grâce à la commande del() et en ajouter grâce à .append() :

In [3]:
del(ferry[2]) #Je supprime le troisième terme (camions)
ferry.append("tractopelle") #J'ajoute un terme à la fin de la liste
print(ferry) #J'affiche la liste
['gens', 'voitures', 'tractopelle']

2- Les Conditions

Si je veux que mon programme s'adapte aux informations qu'il reçoit, il faut lui permettre de prendre en compte les conditions, un peu comme quand on reçoit des ordres :

"Si tu as plus de 16 ce trimestre, tu auras la PS5. Jusqu'à 12 on te laisse jouer à Fortnite et sinon, même Netflix, tu dis adieu."

En python, cela donne :

In [4]:
def maman(resultats):
    if (resultats>=16):   # la première condition à traiter
        return "PS5"      # ce qu'on doit faire dans ce cas est en retrait
    elif (resultats>=12): # la seconde condition "sinon, si" 
                          # devient en anglais "if, else", reduit en "elif"
        
        return "Fortnite"
    else:                 # la dernière commande s'exécute si les autres ne 
                          # le sont pas, pas besoin de condition
        return "C'est mort"

print(maman(16.5))
print(maman(13.2))
print(maman(11.5))
PS5
Fortnite
C'est mort

3- Les boucles

Si on veux faire executer plusieurs fois une même tache à un programme, il va nous falloir une structure lui permettant de se répéter. Si l'on sait combien de fois, on peut utiliser une boucle for et sinon une boucle while

In [5]:
def compter(nombre):
    for i in range(0,nombre+1): #si je veux afficher tous les nombres 
        print(i)                #compris entre 0 et nombre+1
    return True

def f(x): #Je définis la fonction f(x) = 0.002x² + 0.1x - 1
    return 0.002*x**2+0.1*x-1

def recherche(valeur):
    x=0
    while (f(x)<valeur):
        x=x+1
    return x

compter(3)
print(recherche(42000))
0
1
2
3
4558

Le problème

On fait réagir entre elles 2 substances A et B. Les quantités disponibles sont na et nb. Elles réagissent selon l'équation :

a.A + b.B --> c.C+(d'autres éventuellement)

Ce qu'on souhaite : Tracer un graphique qui représente les quantités des différentes espèces en fonction de l'avancement x, jusqu'à xmax

La représentation

Pour comprendre ce dont il est question, prendre na=0.05mol, a=3, nb=0.03 mol, b=2 et répondre au problème sur feuille. Noter vos démarches et essayer de prévoir ce qu'il va être nécessaire de faire

La modélisation

Maintenant que vous avez défini les différentes parties de votre programme, essayez d'en écrire la structure (pas le code) sous la forme d'un organigramme qui représente les étapes et l'ordre dans lesquelles elles doivent être traitées