Les Maths en Seconde

L'essentiel pour réussir!

logo maths-bac Algorithmique et programmation en PYTHON

Ce cours contient quelques approximations dans un souci de simplification. Il est destiné aux lycéens, et non pas aux informaticiens professionnels!

Les Types de variables et l'Affectation de variables

Les types de variables standards à connaître sont:
Number (les Nombres), String (les Chaîne de caractères) et List (les Listes).
Un nombre peut, entre autres, être un int (un Entier relatif) ou un float (un nombre à écriture à virgule).
Affecter une valeur à une variable se fait en utilisant le signe =
Pour information, les listes sont au programme de première.

Exemple

en langage naturel
$U$ ← 10      (la variable U prend la valeur 10)
$V$ ← 1,414      (la variable V prend la valeur 1,414)

en PYTHON
U=10
V=1.414    Noter le . pour marquer la virgule

Ici, les variables U et V sont de type Number (ce sont des nombres).
Plus précisément, U est de type int (c'est un entier relatif).
V est de type float (c'est un nombre à virgule).

Exemple

en langage naturel
$t$ ← "bonjour"      (la variable t prend la valeur 'bonjour')

en PYTHON
t="bonjour"    On peut aussi noter 'bonjour'

Ici, la variable t est de type String (c'est une chaîne de caractères)

Exemple

Cet exemple manipule les listes, qui sont au programme de première.
en langage naturel
$L$ ← [1,5,12]      (la variable L prend la valeur [1,5,12])
$M$ ← [37,"mix",L]      (la variable M prend la valeur [37,'mix',[1,5,12]])

en PYTHON
L=[1,5,12]
M=[37,"mix",L]

Ici, les variables L et M sont de type List (ce sont des listes).
Remarquer qu'une liste peut contenir des types différents. Ici, la liste M contient un nombre, une chaîne de caractère, et une liste !


Les Procédures et les Fonctions

Une procédure est un bloc d'instructions destiné à être utilisé ultérieurement.
La syntaxe pour la définition d'une procédure est la suivante.

def nom de la procédure (liste de paramètres):
      bloc d'instructions

Ne pas oublier les deux points après le nom de la procédure, et remarquer que le bloc d'instructions est indenté (décalé vers la droite).

Exemple

Considérons le programme de 3 lignes suivant.
1.     def jesuispoli():
2.          print("bonjour")
3.     jesuispoli()
Après exécution, il s'affichera dans la console le texte bonjour.
On notera que la procédure jesuispoli() n'a pas de paramètre.

Exemple

Considérons le programme de 3 lignes suivant.
1.     def jaffichelasomme(a,b):
2.          print(a+b)
3.     jaffichelasomme(2,3)
Après exécution, il s'affichera dans la console la valeur 5.
On notera que la procédure jaffichelasomme(a,b) a deux paramètres, a et b.


Lorsque la procédure doit renvoyer une valeur y, elle doit se terminer par l'instruction return y
On peut aussi écrire return(y)
Si la procédure possède des paramètres, et si elle renvoie une valeur, alors il s'agit d'une fonction.
La valeur retournée est fonction du ou des paramètres.

Pour information, une procédure qui ne se termine pas par l'instruction return renvoie en fait l'objet None, et par là, si elle a des paramètres, elle est une fonction.

Exemple

Considérons le programme de 5 lignes suivant.
1.     def jerenvoielasomme(a,b):
2.          c=a+b
3.          return c
4.     z=jerenvoielasomme(2,3)
5.     print(z)
Pendant l'exécution du programme, la variable z prend la valeur 5, puis il s'affiche dans la console cette valeur 5.
.


Les Instructions conditionnelles

La syntaxe des instructions soumises à des tests est la suivante.

if condition :
     instructions
elif condition :
     instructions
else :
     instructions

Les clauses elif et else sont facultatives.

Ne pas oublier les : après la ou les conditions ou le else, et remarquer que les blocs d'instructions sont indentés (décalés vers la droite).

Exemple

en langage naturel
Affecter à x un entier aléatoire entre 1 et 6
Si x=1, Alors
      resultat="un"
Sinon
     Si x=2 ou x=3, Alors
           resultat="deux ou trois"
     Sinon
          resultat="quatre, cinq ou six"
     Fin du Si
Fin du Si

en PYTHON
from math import*
x=randint(1,6)
if x==1:
      resultat="un"
elif (x==2 or x==3):
      resultat="deux ou trois"
else:
     resultat="quatre, cinq ou six"
On notera le double égal pour tester la valeur de x.
Un égal simple ne serait pas correct.
On notera de plus que le début des instructions conditionnelles est bien marqué par les deux points.
Et toute instruction conditionnelle est alors indentée (décalée vers la droite).
La fin de l'indentation marque la fin des instructions conditionnelles.
Après exécution de ces instructions, la variable resultat contient une chaîne en rapport avec la valeur de x. Par exemple, si x vaut 3, alors resultat est la chaîne "deux ou trois".


Les Boucles for

La syntaxe d'une boucle for est la suivante.

for k in Ensemble :
     instructions

La variable k prend ses valeurs successives dans Ensemble.
Souvent, Ensemble est une liste.

Exemple

en langage naturel
Affecter à N la valeur 1
Pour k allant de 1 à 3
      N=N$×$k
Fin du Pour

en PYTHON
N=1
for k in range(1,4):
      N=N*k

A savoir: si a et b sont deux entiers avec a$<$b, alors la fonction range(a,b) renvoie la séquence des entiers à partir de a jusqu'à b-1
et la fonction range(b) renvoie la séquence des entiers à partir de 0 jusqu'à b-1
Par exemple, range(1,4) est la séquence des entiers à partir de 1 jusqu'à 3.
range(5) est la séquence des entiers à partir de 0 jusqu'à 4

Le fonctionnement de ce programme est le suivant.
N vaut 1
k vaut 1 (il sera augmenté de 1 à chaque boucle et vaudra 3 à la dernière boucle)
dans la première boucle, N devient égal à 1$×$1, soit 1.
k vaut 2
dans la seconde boucle, N devient égal à 1$×$2, soit 2.
k vaut 3
dans la troisième boucle, N devient égal à 2$×$3, soit 6.


Les Boucles while

La syntaxe d'une boucle while est la suivante.

while condition :
     instructions

Exemple

en langage naturel
Affecter à x la valeur 0
Tant que x $<$ 20
      x=x+7
Fin du Tant que

en PYTHON
x=0
while x $<$ 20:
      x=x+7
Le fonctionnement de ce programme est le suivant.
x vaut 0
Comme x $<$ 20, on effectue une première boucle.
dans la première boucle, x devient égal à 7.
Comme x $<$ 20, on effectue une seconde boucle.
dans la seconde boucle, x devient égal à 14.
Comme x $<$ 20, on effectue une troisième boucle.
dans la troisième boucle, x devient égal à 21.
Ce programme donne le plus petit multiple de 7 supérieur ou égal à 20


A retenir
Une boucle for s'utilise quand on connait le nombre de boucles à répéter.
Une boucle while s'utilise quand on ne connait pas le nombre de boucles à répéter.


Les Entrées et les Sorties

non exigibles, mais très pratiques

La fonction input(paramètre) provoquera une interruption dans le programme. L'utilisateur devra alors entrer des caractères au clavier, puis il les validera. La fonction retournera une valeur correspondant à ce que l'utilisateur a entré.
Le paramètre est facultatif; c'est un message explicatif destiné à l'utilisateur.

La fonction print(liste de paramètres) affiche les textes ou les valeurs des variables spécifiées dans les paramètres.

Exemple

en PYTHON
t=input("Ecris un message")
print("Ton message est",t)

A l'exécution de ce programme, l'utilisateur est invité à écrire un message. Ce qu'il va écrire sera affecté à la variable t.
Puis il s'affichera le texte "Ton message est", suivi du message rentré par l'utilisateur.

Exemple

en PYTHON
t=int(input("Donne un entier"))
carré=t**2
print(carré)

A l'exécution de ce programme, l'utilisateur est invité à écrire un entier.
int() va alors convertir les caractères entrés par l'utilisateur en un entier.
Cet entier sera affecté à la variable t.
La variable carré va contenir le carré de t.
Puis il s'affichera la valeur du carré.

Remarque
On a vu que l'usage de int(paramètre) permet de convertir paramètre en un entier (si c'est possible).
De même, l'usage de float(paramètre) permet de convertir paramètre en un flottant (si c'est possible).

Les Modules

non exigibles, mais très pratiques

Un module est un fichier contenant des définitions et des instructions.
L'instruction    from nom du module import *    va importer toutes les procédures définies dans le module considéré.
L'instruction    from nom du module import nom de la procédure    ne va importer que la procédure citée définie dans le module considéré.

Exemple

en PYTHON
from math import sqrt
from random import *
x=sqrt(9)
y=randint(1,6)

A l'exécution de ce programme, la variable x contient le nombre 3.0
et la variable y contient un entier aléatoire entre 1 et 6.
Sans la première ligne, le programme ne fonctionne pas car Python ne connaît pas la fonction sqrt(), définie dans le module math
Sans la seconde ligne, le programme ne fonctionne pas car Python ne connaît pas la fonction randint(), définie dans le module random

Copyright 2016 - maths-2de.com - Toute reproduction interdite - Tous droits réservés.