Lycée   >   Premiere techno   >   Mathématiques   >   Les variables en algorithmique- Première- Mathématiques

Les variables en algorithmique

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectifs
  • Identifier et utiliser les différents types de variables.
  • Affecter un nombre aléatoire à une variable.
  • Comprendre et utiliser la notion de compteur.
  • Comprendre et utiliser la notion d’accumulateur.
Points clés
  • Une variable est une « case » de la mémoire de l’ordinateur. On peut lui affecter différentes valeurs : des nombres, des lettres, des mots, des phrases…
    En langage Python, l’affectation d’une variable s’effectue avec le signe =.
  • Parmi les variables numériques, il y a :
    • les variables de type entier : elles stockent des nombres entiers écrits sans virgule ;
    • les variables de type flottant : elles stockent des nombres écrits avec une virgule.
  • Parmi les variables non numériques, il y a :
    • les variables de type chaine de caractères : elles contiennent des symboles ou des lettres. On les écrit entre guillemets "" ;
    • les variables de type booléen : elles contiennent seulement deux valeurs : True ou False (vrai ou faux). Elles permettent de tester des assertions.
  • Dans un programme, on peut être amené à faire une itération, c’est-à-dire une boucle qui répète plusieurs fois le même calcul. Il est alors fréquent d’utiliser une variable comme compteur ou comme accumulateur.
    Pour cela, si à chaque tour de boucle on doit ajouter 1 à une variable k, on écrit : k←k+1.
  • Soient a et b deux nombres entiers (ou deux variables de type entier) : la fonction randint(a,b) renvoie un nombre entier aléatoire compris entre a et b (inclus).
    La fonction randint() est très utile lorsque l’on veut simuler une expérience aléatoire, comme lancer une pièce équilibrée et noter le résultat obtenu (« pile » ou « face »).
  • La fonction random() retourne un nombre réel aléatoire compris entre 0 et 1 (inclus). Elle est très utile lorsque l’on veut simuler une épreuve de Bernoulli.
Pour bien comprendre
  • Notions d’algorithme vues au collège avec Scratch
  • Schéma de Bernoulli
1. Qu’est-ce qu’une variable ?
a. Définition
Une variable est une « case » de la mémoire de l’ordinateur. On peut lui affecter différentes valeurs : des nombres, des lettres, des mots, des phrases…
En langage Python, l’affectation d’une variable s’effectue avec le signe =.
Remarques
  • Dans la suite de la leçon, on distingue le langage naturel qui permet à tous les programmeurs de comprendre et le langage Python, spécifique au langage de programmation Python.
  • Dans le langage Python, A et a ne sont pas les mêmes variables. La majuscule compte.
Exemples
  • À la variable n, on affecte la valeur 12.
  • À la variable Couleur, on affecte la valeur "Bleu".
Langage naturel Langage Python
n←12
Couleur←"Bleu"
n=12
Couleur="Bleu"
b. Variables numériques et non numériques

Il existe plusieurs types de variables, dont les variables numériques et les variables non numériques.

Parmi les variables numériques, il y a :
  • les variables de type entier (integer, en anglais) : elles stockent des nombres entiers écrits sans virgule ;
  • les variables de type flottant (floating-point number, en anglais) : elles stockent des nombres écrits avec une virgule.
Exemples
Variables de type entier : 3 ; –10 ; –150…
Variables de type flottant : 3,12 ; –10,45 ; –150,00…
Remarque
Les variables de type entier s’écrivent toujours sans virgule.
Mathématiquement, 3,0 est un nombre entier mais pour l’ordinateur, comme il contient une virgule c’est une variable de type flottant.
Parmi les variables non numériques, il y a :
  • les variables de type chaine de caractères (character string, en anglais) : elles contiennent des symboles ou des lettres. On les écrit entre guillemets "" ;
  • les variables de type booléen (boolean data, en anglais) : elles contiennent seulement deux valeurs : True ou False (vrai ou faux). Elles permettent de tester des assertions.
Remarque
Voici différents tests qui engendrent des variables de type booléen :          
Assertion Signification
x==y x et y sont égaux
x!=y x et y sont différents
x<y x est strictement inférieur à y
x>y x est strictement supérieur à y
x<=y x est inférieur ou égal à y
x>=y x est supérieur ou égal à y
Exemples
Variables de type chaine de caractères : “Bonjour”, “12”, “y”….
Variables de type booléen :
L1   b=2
L2   c=3
L3   a=b==c
L4   print(a)
L5   False

À la ligne 3, on affecte à la variable a une assertion : « b et c sont égaux ».
On demande d’afficher la valeur prise par a à la ligne 4.
À la ligne 5, a affiche False car 2 ≠ 3.
c. Compteur et accumulateur
Dans un programme, on peut être amené à faire une itération, c’est-à-dire une boucle qui répète plusieurs fois le même calcul. Il est alors fréquent d’utiliser une variable comme compteur ou comme accumulateur.
Pour cela, si à chaque tour de boucle on doit ajouter 1 à une variable k, on écrit : k←k+1.
Exemple
On dépose 2000 € dans une banque, à un taux d’intérêt de 1 %.
On calcule au bout de combien d’années on dépassera 2100 €.
L1   capital=2000
L2  
n=0
L3  
while capital<2100:
L4      i=i+1
L5     
capital=capital*1.01
L6  
print(i)

À la ligne 4, on utilise la variable i comme compteur dans la boucle. En effet, chaque tour dans la boucle correspond à une année, et i « compte » donc le nombre d’années écoulées.
Pour cela, on écrit i=i+1, c’est-à-dire que la nouvelle valeur de i va être égale à l’ancienne + 1.
À la ligne 5, la variable capital est quant à elle est utilisée en tant qu’accumulateur. Elle ne compte pas, elle stocke la valeur du capital de l’année précédente pour calculer celle de l’année en cours.
2. Affecter un nombre entier aléatoire à une variable
a. Fonction randint()
Soient a et b deux nombres entiers (ou deux variables de type entier) : la fonction randint(a,b) renvoie un nombre entier aléatoire compris entre a et b (inclus).
Remarque
La fonction randint() provient de la librairie random, donc :
  • avant de l’utiliser, il faut importer la librairie random avec la commande import random (en informatique, une librairie est une sorte de répertoire avec des fonctions) ;
  • on voit souvent écrit random.randint, cela indique à l’ordinateur d’utiliser la fonction randint de la librairie random. Il est possible d’écrire directement randint().
Exemple
L1   import random
L2   a=random.randint(0,10)
L3   print(a)
L4   3

À la ligne 2, on affecte à la variable a un nombre entier aléatoire (tiré au hasard) entre 1 et 10.
À la ligne 4, a prend la valeur 3.
b. Simuler un tirage aléatoire

La fonction randint() est très utile lorsque l’on veut simuler une expérience aléatoire, comme lancer une pièce équilibrée et noter le résultat obtenu (« pile » ou « face »).

Exemple 1
On considère l’expérience aléatoire qui consiste à lancer une pièce équilibrée et à noter le résultat obtenu (« pile » ou « face »). Pour simuler informatiquement cette expérience, on fait correspondre à « pile » et 1 à « face ».

On simule 20 lancers d’une pièce équilibrée en tirant aléatoirement un nombre entier compris entre 0 et 1 grâce à une boucle for.
On appelle k la variable qui « compte » le nombre de « face ».
L1   import random
L2   n=20
L3   k=0
L4   for i in range(n):
L5      a=random.randint(0,1)
L6      if a==1:
L7         k=k+1
L8   print(k)

À chaque tirage, on regarde si la variable a qui représente le côté de la pièce est égale à 1. Si c’est le cas, on ajoute 1 à la variable k grâce à la formule de la ligne 7. Cela signifie que la variable k prend son ancienne valeur à laquelle on ajoute 1.
Exemple 2
On simule cette fois 20 lancers d’un dé à 6 faces.
La variable k compte le nombre de fois où l’on obtient la face 6.
L1   import random
L2   n=20
L3   k=0
L4   for i in range(n):
L5     a=random.randint(1,6)
L6     if a==6:
L7         k=k+1
L8   print(k)

À chaque tirage, on regarde si la variable a qui représente la face du dé est égale à 6. Si c’est le cas, on ajoute 1 à la variable k qui compte le nombre de 6.
3. Affecter un nombre entier aléatoire à une variable
a. Fonction random()
La fonction random() retourne un nombre réel aléatoire compris entre 0 et 1 (inclus).
Remarque
À la différence de la fonction randint(), qui retournerait 0 ou 1, la fonction random() retourne n’importe quel nombre réel compris entre 0 et 1 : par exemple, 0,502.
Exemple
L1   import random
L2   a=random.random()
L3   print(a)
L4   0,2473961627962299
À la ligne 2, on affecte à la variable a un nombre aléatoire réel compris entre 0 et 1.
À la ligne 4, on obtient : 0,2473961627962299.
b. Simuler une épreuve de Bernoulli

La fonction random() est très utile lorsque l’on veut simuler une épreuve de Bernoulli.

Rappel
Une épreuve de Bernoulli de paramètre p est une expérience aléatoire qui admet deux issues contraires :
  • un succès S de probabilité p ;
  • un échec S de probabilité 1 – p.
Exemple
On simule le lancer d’un dé à 4 faces.
On considère comme un succès « obtenir un 2 ».
Obtenir n’importe quelle autre face est considéré comme un échec.
p est la probabilité de succès : p = = 0,25.
L1   import random
L2   a=random.random()
L3   if a <=0.25:
L4      print("Nous avons obtenu un 2")
L5   else:
L6      print("Nous n'avons pas obtenu de 2")

Aux lignes 3 et 4, dans la boucle if, on teste si a 0,25. Dans ce cas, on considère que l’expérience est un succès.
Dans le cas contraire, aux lignes 5 et 6, on utilise else qui veut dire « sinon ». L’expérience est alors un échec.
En effet, 0,25 est la probabilité d’obtenir un succès, donc on considère que tous les nombres aléatoires compris entre 0 et 0,25 sont un succès et que tous ceux compris entre 0,25 et 1 sont un échec.

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

Mathématiques

Les fonctions en algorithmique- Première- Mathématiques

Mathématiques

Racines et signe d'une fonction polynôme de degré 3

Mathématiques

Les fonctions polynômes de degré 3 : définition et représentation

Mathématiques

Tableaux croisés d'effectifs et de fréquences

Mathématiques

Fonctions, aspect algébrique et variations

Mathématiques

Racines et signe d'une fonction polynôme de degré 2

Mathématiques

Les fonctions polynômes de degré 2 : définition et représentation

Mathématiques

Factoriser grâce aux racines évidentes - Première techno - Mathématiques

Mathématiques

Calculer avec des fractions

Mathématiques

Comparer des fractions