Ch. 00 · Leçon 1
Fiche récapitulative : Algorithme et Python
Ce que vous saurez faire
- →Mémoriser la structure générale d'un algorithme et sa traduction en Python
- →Identifier les types de données de base et leurs opérations
- →Utiliser les structures de contrôle conditionnelles et itératives
- →Connaître les fonctions prédéfinies sur les types numériques, chaînes et caractères
id: 33-870-fiche-recapitulative-algorithme-python slug: 33-870-fiche-recapitulative-algorithme-python titre: 'Fiche récapitulative : Algorithme et Python' chapitre: 0 chapitre_titre: Fiche de synthèse lecon: 1 niveau: 4eme-sci ordre: 1 prerequis: [] duree_estimee_min: 30 mots_cles:
- algorithme
- python
- pascal
- structures
- fonctions
- types
- operations langages:
- analyse
- python objectifs:
- Mémoriser la structure générale d'un algorithme et sa traduction en Python
- Identifier les types de données de base et leurs opérations
- Utiliser les structures de contrôle conditionnelles et itératives
- Connaître les fonctions prédéfinies sur les types numériques, chaînes et caractères status: published source_pdf: 33_870.pdf source_pages:
- 1 kind: fiche
Cette fiche synthétise les éléments essentiels de l'algorithmique et de leur traduction en Python : structure générale d'un programme, types, opérations, structures de contrôle et fonctions prédéfinies.
Résolution d'un problème
Tout problème informatique se décompose en trois phases : Entrées → Traitements → Sorties.
Squelette d'un algorithme
ALGORITHME Nom
DEBUT
Les entrées
Traitements
Les sorties
FIN
Déclaration des objets
| Objet | Type/nature |
|---|---|
| ... | ... |
1. Les opérations simples
a. L'opération d'entrée
Ecrire("Donner ch") , Lire(ch)
Ecrire("Donner entier=") , Lire(n)
Ecrire("Donner réel=") , Lire(x)
Ecrire("Donner ch") , Lire(ch)
Ecrire("Donner entier=") , Lire(n)
Ecrire("Donner réel=") , Lire(x)
ch = input('donner ch')
n = int(input('Donner entier='))
x = float(input('Donner réel='))
b. L'opération de sortie
Ecrire("Message", x, x+10)
Ecrire("Message", x, x+10)
print('Message', x, x+10)
c. L'opération d'affectation
x ← 15
x ← x+1
z ← "Ok"
x ← 15
x ← x+1
z ← "Ok"
x = 15
x = x + 1
z = 'Ok'
2. Les types de données
| Type | Python | Exemple |
|---|---|---|
| Entier | int | 15 |
| Réel | float | 12.3 |
| Booléen | bool | True / False |
| Caractère | ---- | "A" / 'A' |
| Chaîne | str | "Ok" / 'Ok' |
Tableau (array) d'entiers, réels, booléens
from numpy import *
a = array([4, 3, 6])
T = array([float()] * n)
T[0] = 13.5
a[0]; a[2]
3. Opérations de base
- Opérateurs arithmétiques :
+,-,*,/,%,// - Opérateurs de comparaison :
==,!=,>,>=,<,<= - Opérateurs logiques :
or,and,not
| Opération | Symbole | Exemple |
|---|---|---|
| Div | // | 7 // 2 = 3 |
| Mod | % | 7 % 2 = 1 |
4. Les structures de contrôle conditionnelles
Conditionnelle simple
Initialisation
Si Condition Alors
Traitement1
Sinon
Traitement2
FinSi
Initialisation
Si Condition Alors
Traitement1
Sinon
Traitement2
FinSi
if condition:
Traitement1
else:
Traitement2
Conditionnelle généralisée
Initialisation
Si Condition 1 Alors
Traitement 1
Sinon Si Condition 2 Alors
Traitement 2
Sinon ………………
Sinon Si Condition N-1 Alors
Traitement N-1
Sinon
Traitement N
FinSi
Initialisation
Si Condition 1 Alors
Traitement 1
Sinon Si Condition 2 Alors
Traitement 2
Sinon ………………
Sinon Si Condition N-1 Alors
Traitement N-1
Sinon
Traitement N
FinSi
if condition1:
Traitement1
elif condition2:
Traitement2
else:
Traitement3
5. Les structures de contrôle itératives
a. Structure itérative complète
Initialisation
Pour compteur de Début à Fin (pas) Faire
Traitement
Fin Pour
Initialisation
Pour compteur de Début à Fin (pas) Faire
Traitement
Fin Pour
for compteur in range(BI, BS, pas):
Traitement
Correspondance des intervalles
| Algorithme | Python |
|---|---|
x ∈ [0..5] | x in range(6) |
x ∈ [2..8] | x in range(2,9) ou 2 <= x <= 8 |
b. Structure itérative à condition d'arrêt
1ère formulation : Répéter … Jusqu'à
Répéter
Traitement
Jusqu'à condition(s)
Répéter
Traitement
Jusqu'à condition(s)
# while not(condition):
while True:
Traitement
if condition:
break
2ème formulation : Tant que … Faire
Initialisation
Tant que Condition(s) Faire
Traitement
Fin Tantque
Initialisation
Tant que Condition(s) Faire
Traitement
Fin Tantque
while condition:
Traitement
6. Les fonctions sur le type numérique
| Algorithme | Python | Rôle | Exemple |
|---|---|---|---|
| Arrondi(x) | round(x) | Retourne l'entier le plus proche de la valeur x | round(4.3)=4 ; round(4.5)=5 |
| racineCarré(x) | sqrt(x) | Retourne la racine carrée d'un nombre x positif | sqrt(2)=1.4142 |
| Aléa(vi,vf) | randint(vi,vf) | Retourne un entier aléatoire de l'intervalle [vi, vf] | Aléa(1,10) |
| Ent(x) | trunc(x) | Retourne la partie entière de x | trunc(3.5) |
| abs(x) | abs(x) | Retourne la valeur absolue de x | abs(-5)=5 |
7. Les fonctions sur le type chaîne de caractères
| Algorithme | Python | Rôle | Exemple |
|---|---|---|---|
| long(ch) | len(ch) | Retourne le nombre de caractères de la chaîne ch | len('Bac')=3 |
| pos(ch1,ch2) | ch2.find(ch1) | Retourne la première position de ch1 dans ch2 (-1 si absent) | 'Bac'.find('ac') → 1 |
| convch(x) | str(x) | Retourne la conversion d'un nombre x en chaîne | str(10) → '10' |
| Estnum(ch) | ch.isdigit() / ch.isdecimal() | Retourne Vrai si la chaîne ch est convertible en nombre, Faux sinon | '123'.isdigit() → True |
| Valeur(ch) | int(ch) / float(ch) | Retourne la conversion d'une chaîne ch en valeur numérique (si possible) | int('4') ou float('4') |
| sous_chaîne(ch,d,f) | ch[d:f] | Retourne une partie de ch de la position d à f (f exclue) | ch='bac' ; ch[1:3] → 'ac' |
| Effacer(ch,d,f) | ch = ch[0:d] + ch[f:len(ch)] | Efface les caractères de la position d à f (f exclue) | ch='bonjour' → 'bjour' |
| majus(ch) | ch.upper() | Convertit la chaîne ch en majuscules | 'bac'.upper() → 'BAC' |
Sous-chaîne : notation des tranches en Python
ch[:]→ chaîne entièrech[4:]→ de l'index 4 jusqu'au dernier indexch[:8]→ de l'index 0 jusqu'à l'index 7ch[2:7]→ de l'index 2 jusqu'à l'index 6ch[4:-1]→ de l'index 4 à l'avant-dernier index
Opérations sur les chaînes
| Algorithme | Python |
|---|---|
'A' + 'B' donne 'AB' | 'A' + 'B' |
3 * 'A' donne 'AAA' | 3 * 'A' |
Parcours d'une chaîne
Pour c de 0 à long(ch)-1 (pas=1) Faire
Ecrire(ch[c])
Pour c de 0 à long(ch)-1 (pas=1) Faire
Ecrire(ch[c])
for c in range(len(ch)):
print(ch[c])
8. Les fonctions sur le type caractère
| Algorithme | Python | Rôle | Exemple |
|---|---|---|---|
| ord(c) | ord(c) | Retourne le code ASCII du caractère c | ord("A")=65 |
| chr(d) | chr(d) | Retourne le caractère dont le code ASCII est d | chr(65)='A' |
9. Appartenance à un ensemble
Caractère dans une plage
x ∈ ["A".."Z"]
x ∈ ["A".."Z"]
ord(x) in range(ord("A"), ord("Z")+1)
# ou
"A" <= x <= "Z"
Valeur dans une liste
x ∈ [1, 5, 6]
x ∈ ["a","e","i","o","y","u"]
x ∈ [1, 5, 6]
x ∈ ["a","e","i","o","y","u"]
x in [1, 5, 6]
x in ['a','e','i','o','y','u']
Quiz : correspondance algorithme ↔ Python
Vérifiez que vous savez passer rapidement d'une notation à l'autre.
Quiz (5 questions)
L'instruction `Ecrire(x)` en algorithme se traduit en Python par :
L'instruction algorithmique `Si C Alors A FinSi` devient en Python :
`Pour i de 1 à 5 Faire Ecrire(i) FinPour` se traduit par :
L'affectation `x ← 5` en algorithme devient :
Pour créer un tableau de 5 zéros en Python :