1. Mémoires
Pour écrire un programme, il est indispensable d'utiliser des mémoires.
Des mémoires, ce sont des objets informatiques dans lesquels on peut stocker des nombres ou des chaînes de caractères.
Une mémoire peut prendre différents noms, à condition de respecter certaines règles :
-
ne pas utiliser d'accents (même si cela est possible dans certaines versions de Python) ;
-
ne pas utiliser d'espace : il faut les remplacer par _
-
ne pas utiliser de caractères spéciaux ;
-
le premier caractère ne doit pas être un chiffre, mais on peut mettre des chiffres ailleurs dans le nom de la mémoire.
Exemples de noms possibles :
a
nom_choisi
memoire2
Nous allons voir comment mettre des nombres et des chaînes de caractères en mémoire, et comment les utiliser dans les programmes.

Pour mettre 3 dans la mémoire a, il suffit d'écrire :
a = 3
Pour afficher quelque chose, il faut utiliser la commande print().
Ainsi pour afficher le contenu de la mémoire a, on écrira :
print(a)
On peut aussi afficher un nombre directement :
print(2)
Pour afficher un texte qui n'est pas une mémoire, ou qui n'est pas un nombre, on utilise des " ".
Par exemple, pour afficher : "je suis un nombre", on écrira :
print("je suis un nombre")
Pour mettre dans la mémoire phrase : l'arbre cache la forêt, on écrit :
phrase = "l'arbre cache la forêt"
On peut très bien mettre une chaine de caractères vide en mémoire :
vide = ""
On peut aussi y mettre toutes sortes de caractères ; il n'y a aucune contrainte.
Par contre le problème peut se poser lorsqu'on souhaite mettre en mémoire des guillemets et/ou des apostrophes.
Le plus simple dans ce cas, est d'écrire :
phrase = """ l'arbre dit à la forêt : "je te cache !" """
Comme pour les mémoires de nombres, on procède la manière suivante pour l'affichage :
print(phrase)
c) Changer le type d'une mémoire
Les mémoires sont de différents types :
-
entier = integer donc int en Python
-
réel = float
-
chaîne de caractères = string donc str en Python
Pour savoir quel est le type d'une mémoire, il suffit de faire :
print(type(memoire))
Il est important de savoir à quel type de mémoire on a à faire puisqu'on est souvent amenés à faire des opérations sur les mémoires.
Or les opérations possibles dépendent du type de la mémoire.
Par exemple on peut ajouter un nombre à une mémoire de type entier, alors que cela n'est pas possible avec une mémoire de type chaîne.
i) Transformer une mémoire de type int ou float en une mémoire de type str
nombre = 6
print(type(nombre))
nombre = str(nombre)
print(type(nombre))
ii) Transformer une mémoire de type str en mémoire de type int ou float
.... à condition bien sûr que la mémoire de type str ne contienne que des chiffres
mot = "376"
print(type(mot))
mot = int(mot)
print(type(mot))
mot=float(mot)
print(type(mot))
print(mot)
d) Opérations sur les mémoires
i) Opérations sur les mémoires de type int ou float
On peut utiliser tous les symboles mathématiques habituels :
-
a x b s'écrit : a*b
-
a puissance b s'écrit : a**b
-
a + b s'écrit : a+b
-
a divisé par b s'écrit : a/b
-
le reste de la division de a par b s'écrit: a%b
-
le quotient de la division de a par b s'écrit : a//b
on peut par exemple écrire :
print(2*a + b**n + a/b)
Remarque : vous vous apercevrez que si vous divisez un entier par un autre, vous transformez le résultat en un nombre de type float. De ce fait, même un entier sera affiché avec une virgule.
ii) Opérations sur les mémoires de type str
On peut également additionner des chaînes de caractères ou les additionner par un nombre entier.
Par exemple :
sujet = "l'arbre"
verbe = "est"
attribut = "mort"
espace = " "
point="."
Faites des essais en cliquant sur le lien de ce paragraphe.
phrase = sujet+verbe+attribut
phrase = sujet + espace + verbe + attribut + point
phrase = 3*verbe
Remarque : Il n'est pas possible d'ajouter un nombre à une mémoire de type chaîne, ou bien d'élever une mémoire de type chaîne à une puissance.
Si on veut afficher : L'arbre n'a plus que 5 feuilles.
et que le nombre 5 est en fait le contenu de la mémoire nombre, on fait :
nombre = 5
print("L'arbre n'a plus que",nombre,"feuilles.")
Vous remarquerez qu'il y un espace par défaut entre " et ,
Ecrire un programme permettant de :
1) Mettre en mémoire le nombre de votre choix dans numero.
Afficher successivement le contenu de :
-
numero
-
2 fois numero + 4
-
numero au carré
2) Mettre le nombre 15 en mémoire, puis le transformer en chaine de caractères.
Afficher, en n'utilisant que des mémoires et le signe *, 1515 15
indication : vous pouvez utiliser plusieurs mémoires
3) Afficher :
La ville de Gravenchon n'a jamais réussi à dépasser 10000 habitants
en utilisant une mémoire pour 10000
4) Même phrase, mais faites en sorte que 10 000 soit écrit de cette façon (avec un espace !), en utilisant uniquement des mémoires, dont une au moins du type entier, pour afficher 10 000
N.B. : une chaine de caractères peut être vide : memoire_vide = ""
ou ne contenir qu'un espace :
espace = " "
5) Mettre dans chacune des mémoires a et b un entier choisi de manière aléatoire entre 1 et 20, .
Afficher leurs valeurs respectives, puis échanger leurs valeurs et afficher le contenu des mémoires.
Par exemple, les entiers choisis sont 3 et 14 pour respectivement a et b. En fin de programme, a doit contenir 14
et b doit contenir 3.
Il existe un moyen simple et rapide de faire ceci ; je vous le montrerai dans un prochain chapitre.
Pour les corrigés, faire tourner le programme : les solutions seront affichées dans la partie code.