Introduction à l'Algorithmique et à Python
Qu'est-ce qu'un algorithme ?
Un algorithme est une séquence finie et non ambiguë d'instructions ou d'opérations permettant de résoudre un problème donné ou d'accomplir une tâche. Pensez-y comme une recette de cuisine :
- Ingrédients (Données d'entrée) : ce dont vous avez besoin au départ.
- Étapes (Instructions) : des actions claires et précises à suivre dans un ordre déterminé.
- Plat final (Résultat) : ce que vous obtenez à la fin.
Un algorithme doit toujours être :
- Déterminé : pour les mêmes données d'entrée, il doit toujours produire le même résultat.
- Fini : il doit se terminer après un nombre fini d'étapes.
- Non ambigu : chaque instruction doit être parfaitement claire.
- La recette d'un gâteau.
- Le mode d'emploi d'un appareil électronique.
- L'itinéraire pour aller d'un point A à un point B.
- Trier une pile de cartes par ordre croissant.
En informatique, un algorithme est la logique derrière un programme. Avant d'écrire du code, on pense à l'algorithme : comment résoudre le problème ?
Introduction au langage Python
Python est un langage de programmation de haut niveau, interprété, interactif et orienté objet. Créé par Guido van Rossum et sorti en 1991, il est devenu extrêmement populaire grâce à sa simplicité et sa lisibilité. Il est utilisé dans des domaines variés comme le développement web, l'intelligence artificielle, l'analyse de données, et même la création de jeux.
Pourquoi Python ?
- Facile à apprendre : sa syntaxe est proche de l'anglais.
- Polyvalent : il peut être utilisé pour de nombreux types d'applications.
- Grande communauté : beaucoup de ressources et d'aide disponibles.
Environnement de développement : Pour écrire et exécuter du code Python, nous avons besoin d'un environnement.
- IDLE (Integrated Development and Learning Environment) : Souvent installé avec Python, il est simple et suffisant pour débuter.
- Éditeurs en ligne : Des sites comme Replit, trinket.io ou des notebooks (Jupyter) permettent d'écrire et d'exécuter du code directement dans un navigateur, sans installation. C'est très pratique pour commencer !
Premiers pas : afficher un message La première chose que l'on apprend souvent est d'afficher "Bonjour le monde !". En Python, c'est très simple :
print("Bonjour le monde !")
Le mot-clé print() est une fonction qui affiche le texte (ou la valeur) que vous lui donnez entre parenthèses. Le texte doit être placé entre guillemets doubles ou simples.
Syntaxe de base :
- Indentation : Python utilise l'indentation (les espaces en début de ligne) pour définir les blocs de code, là où d'autres langages utilisent des accolades. C'est CRUCIAL ! Une mauvaise indentation provoque une erreur.
- Commentaires : Pour ajouter des notes sans que le code ne soit exécuté, utilisez le symbole
#. Tout ce qui suit#sur la même ligne est ignoré.# Ceci est un commentaire, il ne sera pas exécuté print("Ceci est du code") # Un commentaire peut aussi être sur la même ligne
Variables et types de données
Une variable est un conteneur qui stocke une valeur dans la mémoire de l'ordinateur. C'est comme une boîte à laquelle vous donnez un nom, et dans laquelle vous pouvez ranger quelque chose. Le contenu de la boîte peut changer.
Définition d'une variable : En Python, pas besoin de déclarer le type d'une variable avant de l'utiliser. On lui donne un nom et on lui affecte une valeur.
mon_age = 16
prenom = "Alice"
prix_unitaire = 12.50
Règles pour nommer une variable :
- Doit commencer par une lettre ou un underscore (
_). - Ne peut contenir que des lettres, des chiffres et des underscores.
- Est sensible à la casse (Majuscules/Minuscules :
ageest différent deAge). - Ne peut pas être un mot-clé réservé de Python (comme
print,if,for). - Il est recommandé d'utiliser des noms explicites (ex:
nombre_elevesplutôt quen).
Types de données : Python gère plusieurs types de données de base :
int(entiers) : Nombres entiers, positifs ou négatifs, sans décimale. Ex:5,-10,0.float(flottants) : Nombres à virgule (on utilise un point en programmation). Ex:3.14,-0.5,10.0.str(chaînes de caractères) : Séquences de caractères (texte) enfermées entre guillemets simples ou doubles. Ex:"Bonjour",'Python'.bool(booléens) : Représentent une valeur de vérité :True(vrai) ouFalse(faux). Très utilisés pour les conditions.
Vous pouvez connaître le type d'une variable avec la fonction type():
age = 17
print(type(age)) # Affiche <class 'int'>
taille = 1.75
print(type(taille)) # Affiche <class 'float'>
message = "Salut"
print(type(message)) # Affiche <class 'str'>
Affectation de valeurs :
L'opérateur = est l'opérateur d'affectation. Il attribue la valeur de droite à la variable de gauche.
x = 10 # x prend la valeur 10
y = x + 5 # y prend la valeur de x (10) + 5, donc y = 15
x = "texte" # x prend maintenant la valeur "texte" (on peut changer le type !)
Une variable peut changer de valeur et même de type au cours de l'exécution d'un programme.
Opérations de base : On peut effectuer des opérations avec des variables du même type ou compatible.
a = 5
b = 2
resultat_addition = a + b # 7
resultat_multi = a * b # 10
nom = "Jean"
prenom = "Dupont"
nom_complet = nom + " " + prenom # "Jean Dupont" (concaténation de chaînes)
Opérateurs et expressions
Les opérateurs sont des symboles qui réalisent des opérations sur des valeurs et des variables. Une expression est une combinaison de valeurs, variables et opérateurs qui produit une nouvelle valeur.
Opérateurs arithmétiques : Ils sont utilisés pour des calculs mathématiques.
| Opérateur | Description | Exemple | Résultat |
|---|---|---|---|
+ | Addition | 5 + 2 | 7 |
- | Soustraction | 5 - 2 | 3 |
* | Multiplication | 5 * 2 | 10 |
/ | Division | 5 / 2 | 2.5 |
// | Division entière | 5 // 2 | 2 |
% | Modulo (reste) | 5 % 2 | 1 |
** | Puissance | 5 ** 2 | 25 |
Opérateurs de comparaison :
Ils comparent deux valeurs et renvoient un booléen (True ou False).
| Opérateur | Description | Exemple | Résultat |
|---|---|---|---|
<mark> | Égal à | 5 </mark> 2 | False |
!= | Différent de | 5 != 2 | True |
< | Inférieur à | 5 < 2 | False |
> | Supérieur à | 5 > 2 | True |
<= | Inférieur ou égal à | 5 <= 5 | True |
>= | Supérieur ou égal à | 5 >= 2 | True |
==Attention : ne confondez pas = (affectation) et <mark> (comparaison d'égalité) !
Opérateurs logiques : Ils combinent des expressions booléennes et renvoient un booléen.
and(ET logique) : RenvoieTruesi toutes les conditions sontTrue.True and True→TrueTrue and False→Falseor(OU logique) : RenvoieTruesi au moins une des conditions estTrue.True or False→TrueFalse or False→Falsenot(NON logique) : Inverse la valeur de vérité.not True→Falsenot False→True
Priorité des opérateurs : Comme en mathématiques, les opérateurs ont un ordre de priorité.
- Parenthèses
() - Puissances
** - Multiplication
*, Division/, Division entière//, Modulo% - Addition
+, Soustraction- - Comparaisons
==,!=,<,>,<=,>= - Opérateurs logiques
not,and,or(dans cet ordre)
resultat = 5 + 3 * 2 → 5 + 6 → 11 (multiplication avant addition)
est_vrai = (10 > 5) and (3 < 1) → True and False → False


