Cours
1. Types numériques
Un programme manipule des données stockées dans la mémoire centrale. Les types numériques incluent les
entiers (int $\mathbb{Z}$) et les réels (float $\mathbb{R}$).
📌 Règle Mnémonique PEMDAS : Ordre de priorité des opérations
En informatique comme en mathématiques, les expressions numériques sont évaluées selon l'ordre de priorité PEMDAS :
| PEMDAS | Opération | Priorité | Algorithme | Python | Exemple |
|---|---|---|---|---|---|
| P | Parenthèses | 1 (Max) | ( ) |
( ) |
(1 + 5) * (3 - 5) → -12 |
| E | Exposants / Puissance | 2 | Puissance(x, n) |
** |
2 ** 3 → 8 |
| M | Multiplication | 3 | * |
* |
2 * 3 → 6 |
| D | Division réelle | 3 | / |
/ |
5 / 2 → 2.5 |
| Division entière | 3 | div |
// |
5 // 2 → 2 |
|
| Reste division (Modulo) | 3 | mod |
% |
5 % 2 → 1 |
|
| A | Addition | 4 | + |
+ |
5 + 3 → 8 |
| S | Soustraction | 4 | - |
- |
5 - 3 → 2 |
b. Partie entière et partie décimale
c. Opérateurs de division & Division euclidienne
d. Les fonctions prédéfinies sur les nombres
| Algorithme | Python | Description | Exemple |
|---|---|---|---|
Ent(x) |
int(x) |
Retourne la partie entière | Ent(5.75) ⟶ 5 |
Arrondi(x) |
round(x) |
Retourne l'entier le plus proche (entier pair si .5) | round(3.5) ⟶ 4 |
Racine(x) |
sqrt(x) (from math) |
Retourne la racine carrée d'un nombre positif | sqrt(25) ⟶ 5.0 |
Abs(x) |
abs(x) |
Retourne la valeur absolue de x | abs(-4) ⟶ 4 |
Aléa(a, b) |
randint(a, b) (from random) |
Retourne un nombre aléatoire dans [a, b] | randint(1, 6) ⟶ 4 |
2. Le type booléen
Une variable booléenne ne peut prendre que la valeur Faux ou Vrai
(False / True en Python).
1. Fonctions logiques de base (NON, ET, OU) & Portes logiques
En informatique et en électronique numérique, les opérations logiques fondamentales sont concrétisées par des portes logiques (symboles normalisés ANSI / IEEE d'origine américaine et CEI / IEC européenne).
not x
| Entrée x | Sortie S = non x |
|---|---|
| 0 (Faux) | 1 (Vrai) |
| 1 (Vrai) | 0 (Faux) |
x and y
| x | y | Sortie S = x et y |
|---|---|---|
| 0 | 0 | 0 (Faux) |
| 0 | 1 | 0 (Faux) |
| 1 | 0 | 0 (Faux) |
| 1 | 1 | 1 (Vrai) |
x or y
| x | y | Sortie S = x ou y |
|---|---|---|
| 0 | 0 | 0 (Faux) |
| 0 | 1 | 1 (Vrai) |
| 1 | 0 | 1 (Vrai) |
| 1 | 1 | 1 (Vrai) |
2. ⚡ Simulation Interactive des Portes Logiques (Circuits & Diodes)
Testez chaque circuit indépendamment des autres : cliquez directement sur les entrées (0 ou 1) de chaque porte logique (ou sur ses boutons) pour faire basculer son état et observer la diode de sortie en temps réel !
not (False) ⟶ True
False and False ⟶ False
False or False ⟶ False
3. 🔢 Ordre d'évaluation des opérateurs de Comparaison et des opérateurs logiques
| Priorité | Catégorie d'opérateurs | Algorithme | Python | Exemple d'évaluation |
|---|---|---|---|---|
| 1 (Max) | Parenthèses | ( ) |
( ) |
(5 > 2) et (3 < 4) → Vrai |
| 2 | Opérateurs Arithmétiques | + , - , * , / , mod , div |
+ , - , * , / , % , // |
5 + 3 > 7 → 8 > 7 → Vrai |
| 3 | Opérateurs de Comparaison | = , ≠ , > , ≥ , < , ≤ |
== , != , > , >= , < , <= |
x == 5 , age >= 18 |
| 4 | NON Logique (Négation) | non |
not |
not (5 > 2) → False |
| 5 | ET Logique (Conjonction) | et |
and |
True and False → False |
| 6 (Min) | OU Logique (Disjonction) | ou |
or |
True or False → True |
3. Les types textuels
Les données textuelles sont stockées, en algorithmique, dans des variables de type :
- Caractère ;
- Chaîne.
En Python, on dispose uniquement du type str.
a. Le type caractère
i. Présentation
Le type caractère représente un seul caractère qui peut être :
- Une lettre : majuscule (
"A","B", ...) ou minuscule ("a","b", ...) - Un chiffre :
"0","1","2", ...,"9" - Un symbole :
"!","\"","#","$","%", ...
ii. Table ASCII
Dans la mémoire de l'ordinateur, un caractère est représenté par son code ASCII (American Standard Code for Information Interchange). Ainsi, chaque caractère possède un code (un nombre) correspondant :
🔎 Recherche interactive Table ASCII (Standard 32-127)
| Code | Car. | Code | Car. | Code | Car. | Code | Car. | Code | Car. | Code | Car. | Code | Car. | Code | Car. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 48 | 0 | 65 | A |
iii. Les fonctions prédéfinies sur les caractères
| Algorithme | Python | Description | Exemple |
|---|---|---|---|
ord(car) |
ord(car) |
Retourne le code ASCII du caractère car. | ord("A") → 65 |
chr(code) |
chr(code) |
Retourne le caractère ASCII équivalent au code. | chr(65) → "A" |
minus(car).Pour convertir une lettre majuscule
car en minuscule, on peut écrire :chr(ord(car) + 32)
b. Le type Chaîne
i. Présentation
Une Chaîne de caractères est la succession de n caractères ASCII ($n \ge 0$).
- Si $n$ est nulle ($n = 0$), on parle d'une Chaîne vide :
ch ← "" // Chaîne vide - On peut accéder au $i^e$ caractère ($0 \le i < n$) d'une Chaîne
chen utilisant la notation :ch[i] - Pour concaténer (coller) deux Chaînes, on utilise l'opérateur
+:
ii. Les fonctions prédéfinies sur les Chaînes
| Algorithme | Python | Description | Exemple |
|---|---|---|---|
long(ch) |
len(ch) |
Calcule la longueur de la Chaîne ch. | long("BAC26") → 5long("") → 0 |
Pos(ch1, ch2) |
ch2.find(ch1) |
Retourne la position (indice) de la 1ère occurrence de ch1 dans ch2 (-1 si non trouvée). | Pos("26", "BAC26") → 3Pos("Hi", "BAC26") → -1 |
ConvCh(x) |
str(x) |
Convertir une valeur numérique x en Chaîne. | ConvCh(10) → "10"ConvCh(17.5) → "17.5" |
Valeur(ch) |
int(ch)float(ch) |
Convertit une Chaîne en une valeur numérique, sinon provoque une erreur. | Valeur("10") → 10Valeur("17.5") → 17.5 |
EstNum(ch) |
ch.isdecimal() |
Vérifie si la Chaîne ch est composée uniquement de chiffres. | EstNum("10") → VraiEstNum("2k") → Faux |
sous_chaîne(ch, d, f) |
ch[d:f] |
Extrait de la Chaîne ch les caractères situés entre la position d (incluse) et f (non incluse). | sous_chaîne("BAC26", 3, 5) → "26" |
effacer(ch, d, f) |
ch[:d] + ch[f:] |
Efface de la Chaîne ch les caractères situés entre la position d (incluse) et f (non incluse). | effacer("BAC26", 3, 5) → "BAC" |
majus(ch) |
ch.upper() |
Convertit la Chaîne ch en majuscules. | majus("bac 26") → "BAC 26" |