Introduction à l'algorithmique et aux bases de Python
Qu'est-ce qu'un algorithme ?
Un algorithme est une suite finie et non ambiguë d'instructions ou d'opérations permettant de résoudre un problème ou d'obtenir un résultat donné. Imaginez que c'est une recette de cuisine très détaillée pour un ordinateur.
Key Concepts:
- Définition d'un algorithme : C'est une méthode pas-à-pas pour accomplir une tâche.
- Caractéristiques d'un algorithme :
- Fini : Il doit se terminer après un nombre limité d'étapes. Pas de boucles infinies !
- Déterministe : Pour les mêmes entrées, il doit toujours produire les mêmes sorties.
- Clair et non ambigu : Chaque instruction doit être parfaitement compréhensible.
- Effectif : Chaque étape doit pouvoir être réalisée.
- Général : Il doit pouvoir s'appliquer à une gamme de problèmes similaires, pas un seul cas spécifique.
- Exemples d'algorithmes simples :
- Recette de cuisine : Une suite d'étapes (mélanger, cuire, etc.) pour préparer un plat. Les ingrédients sont les entrées, le plat est la sortie.
- Itinéraire : Une série de directions (tourner à gauche, prendre la sortie, etc.) pour aller d'un point A à un point B. Le point de départ et d'arrivée sont les entrées.
Variables et types de données
En programmation, une variable est comme une boîte nommée dans laquelle on peut stocker des informations. Le type de ces informations est très important.
Key Concepts:
- Déclaration et affectation de variables :
En Python, on ne "déclare" pas explicitement le type d'une variable. On l'affecte directement.
L'opérateurage = 20 # Affecte la valeur 20 à la variable 'age' nom = "Alice" # Affecte la chaîne de caractères "Alice" à 'nom' prix_unitaire = 15.50 # Affecte un nombre décimal à 'prix_unitaire'=est l'opérateur d'affectation. - Types de données fondamentaux :
- Entier (int) : Nombres entiers, positifs ou négatifs (ex:
5,-10,0). - Flottant (float) : Nombres décimaux (ex:
3.14,-0.5,100.0). Attention, on utilise le point.comme séparateur décimal. - Chaîne de caractères (str) : Texte, délimité par des guillemets simples
''ou doubles""(ex:"Bonjour",'Python'). - Booléen (bool) : Représente une valeur de vérité, soit
True(vrai), soitFalse(faux). Très utile pour les conditions.
- Entier (int) : Nombres entiers, positifs ou négatifs (ex:
- Opérations de base sur les variables :
On peut effectuer des opérations selon le type de la variable.
Le type d'une variable détermine les opérations qu'on peut lui appliquer.a = 10 b = 5 somme = a + b # somme sera 15 (int) produit = a * b # produit sera 50 (int) texte1 = "Bonjour" texte2 = " monde" salutation = texte1 + texte2 # salutation sera "Bonjour monde" (str) est_majeur = True print(est_majeur) # Affiche True
Opérateurs et expressions
Les opérateurs sont des symboles qui réalisent des opérations sur des valeurs (appelées opérandes). Une combinaison d'opérandes et d'opérateurs forme une expression.
Key Concepts:
- Opérateurs arithmétiques : Pour les calculs numériques.
+: Addition (ex:5 + 2donne7)-: Soustraction (ex:5 - 2donne3)*: Multiplication (ex:5 * 2donne10)/: Division (ex:5 / 2donne2.5- toujours un float)//: Division entière (quotient) (ex:5 // 2donne2)%: Modulo (reste de la division entière) (ex:5 % 2donne1)**: Puissance (ex:5 ** 2donne25)
- Opérateurs de comparaison : Comparent deux valeurs et renvoient un booléen (
TrueouFalse).<mark>: Égal à (ex:5 </mark> 5donneTrue,5 == 2donneFalse)!=: Différent de (ex:5 != 2donneTrue)<: Inférieur à (ex:5 < 2donneFalse)>: Supérieur à (ex:5 > 2donneTrue)<=: Inférieur ou égal à (ex:5 <= 5donneTrue)>=: Supérieur ou égal à (ex:5 >= 2donneTrue)
- Opérateurs logiques : Permettent de combiner des expressions booléennes.
and: ET logique. RenvoieTruesi les deux opérandes sontTrue. (ex:(5 > 2) and (3 < 1)donneFalse)or: OU logique. RenvoieTruesi au moins un des opérandes estTrue. (ex:(5 > 2) or (3 < 1)donneTrue)not: NON logique. Inverse la valeur de vérité de l'opérande. (ex:not (5 > 2)donneFalse) La compréhension des opérateurs est cruciale pour écrire des conditions et des boucles.
Entrées/Sorties de base
Pour interagir avec l'utilisateur, un programme a besoin de prendre des informations (entrées) et d'afficher des résultats (sorties).
Key Concepts:
- Fonction
input()pour la saisie utilisateur : Cette fonction permet de demander à l'utilisateur de taper quelque chose au clavier.
Attention :nom_utilisateur = input("Entrez votre nom : ") print("Bonjour", nom_utilisateur)input()renvoie toujours une chaîne de caractères (str). Si vous attendez un nombre, il faudra le convertir :
On peut aussi combinerage_str = input("Quel est votre âge ? ") age_int = int(age_str) # Convertit la chaîne en entier print("Vous avez", age_int, "ans.")int()etinput():age = int(input("Quel est votre âge ? ")) - Fonction
print()pour l'affichage : La fonctionprint()affiche des informations à l'écran. Elle peut prendre plusieurs arguments séparés par des virgules.
Par défaut,print("Ceci est un message.") nombre = 42 print("Le nombre est :", nombre)print()ajoute un espace entre chaque argument et passe à la ligne à la fin. - Formatage de l'affichage :
Pour un affichage plus contrôlé, on peut utiliser les f-strings (chaînes formatées) en Python 3.6+.
Cela permet d'insérer des variables directement dans une chaîne de caractères en utilisant des accoladesville = "Paris" temperature = 25.3 print(f"Il fait {temperature}°C à {ville}.") # Produit : Il fait 25.3°C à Paris.{}.


