Introduction à l'Algorithmique et au Langage 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 donné ou d'obtenir un résultat spécifique. Imaginez une recette de cuisine : elle vous donne des étapes précises à suivre pour préparer un plat. Un algorithme, c'est exactement cela, mais pour un ordinateur !
Key Concepts:
- Définition d'un algorithme : C'est une séquence d'instructions claires et ordonnées pour accomplir une tâche. Il doit toujours se terminer et produire un résultat.
- Étapes de résolution d'un problème :
- Comprendre le problème : Qu'est-ce que l'on doit faire ? Quels sont les inputs (entrées) et les outputs (sorties) attendus ?
- Concevoir l'algorithme : Écrire les étapes logiques pour résoudre le problème, souvent en pseudo-code ou avec des organigrammes.
- Coder l'algorithme : Traduire les étapes de l'algorithme dans un langage de programmation (ici, Python).
- Tester et déboguer : Vérifier que le programme fonctionne correctement et corriger les erreurs.
- Exemples d'algorithmes simples :
- Calculer la somme de deux nombres.
- Trouver le plus grand de trois nombres.
- Trier une liste de noms par ordre alphabétique.
Variables et types de données
En programmation, une variable est comme une boîte nommée dans laquelle on peut stocker des informations. Ces informations peuvent être de différents types.
Key Concepts:
- Déclaration et affectation de variables : En Python, on n'a pas besoin de "déclarer" explicitement le type d'une variable avant de l'utiliser. On l'affecte directement.
nom = "Alice"(affecte la chaîne de caractères "Alice" à la variablenom)age = 17(affecte l'entier 17 à la variableage)prix = 19.99(affecte le nombre décimal 19.99 à la variableprix)
- Types numériques :
- Entiers (
int) : Nombres sans partie décimale (ex:5,-10,0). - Flottants (
float) : Nombres avec une partie décimale (ex:3.14,-0.5,100.0).
- Entiers (
- Types de chaînes de caractères (
str) et booléens (bool) :- Chaînes de caractères : Séquences de caractères (lettres, chiffres, symboles) entourées de guillemets simples ou doubles (ex:
"Bonjour",'Python'). - Booléens : Représentent une valeur de vérité. Ils ne peuvent prendre que deux valeurs :
True(vrai) ouFalse(faux). Ils sont très utiles pour les conditions.
- Chaînes de caractères : Séquences de caractères (lettres, chiffres, symboles) entourées de guillemets simples ou doubles (ex:
Opérateurs et expressions
Les opérateurs sont des symboles qui réalisent des opérations sur des valeurs ou des variables, appelées opérandes. Une expression est une combinaison d'opérandes et d'opérateurs qui produit une valeur.
Key Concepts:
- Opérateurs arithmétiques : Pour les calculs mathématiques.
+(addition) :5 + 3donne8-(soustraction) :10 - 2donne8*(multiplication) :4 * 6donne24/(division flottante) :7 / 2donne3.5//(division entière) :7 // 2donne3(le quotient)%(modulo) :7 % 2donne1(le reste de la division)**(exponentiation) :2 ** 3donne8()
- Opérateurs de comparaison : Pour comparer des valeurs, ils renvoient un booléen (
TrueouFalse).<mark>(égal à) :5 </mark> 5estTrue,5 == 6estFalse!=(différent de) :5 != 6estTrue<(strictement inférieur à) :3 < 5estTrue>(strictement supérieur à) :5 > 3estTrue<=(inférieur ou égal à) :5 <= 5estTrue>=(supérieur ou égal à) :5 >= 3estTrue
- Opérateurs logiques (ET, OU, NON) : Pour combiner des expressions booléennes.
and(ET logique) :(True and False)estFalse. Vrai si les deux sont Vrai.or(OU logique) :(True or False)estTrue. Vrai si au moins un est Vrai.not(NON logique) :not TrueestFalse. Inverse la valeur de vérité.
Entrées/Sorties de base
Un programme interagit souvent avec l'utilisateur ou affiche des informations.
Key Concepts:
- Fonction
input()pour la saisie utilisateur : Permet au programme de demander une information à l'utilisateur via le clavier. La valeur saisie est toujours une chaîne de caractères.nom = input("Quel est votre nom ? ") print("Bonjour, " + nom + "!") - Fonction
print()pour l'affichage : Permet d'afficher des informations (texte, valeurs de variables) à l'écran.print("Ceci est un message.")age = 20print("Votre âge est :", age, "ans.")- On peut séparer les éléments par des virgules (ils seront espacés) ou les concaténer avec
+(pour les chaînes uniquement).
- Conversion de types (cast) : Puisque
input()renvoie toujours une chaîne, il faut souvent la convertir si on veut faire des calculs.age_str = input("Entrez votre âge : ")age_int = int(age_str)# Convertit la chaîne en entiertaille_str = input("Entrez votre taille (en mètres) : ")taille_float = float(taille_str)# Convertit la chaîne en flottant- On peut aussi convertir des nombres en chaînes avec
str().


