Introduction à la programmation et les bases de Python
R02 - Algorithmique et Python
Les algorithmes existent depuis très longtemps, avant même que l'idée des ordinateurs n'existe. Un des premiers algorithmes élaborés est l'anthyphérèse d'Euclide - aussi appelé l'algorithme d'Euclide - qui permet de déterminer le plus grand diviseur commun entre deux nombres naturels non nuls (PGCD).
Les algorithmes sont un peu comme une recette de cuisine : c'est l'ensemble des instructions qui forme la procédure à suivre pour arriver au résultat final.
Exemples d'algorithmes :
Dans le cadre de l'informatique, l'algorithmique est appliquée à la programmation des ordinateurs. On veut pouvoir définir les étapes nécessaires à la résolution d'un problème pour que l'ordinateur puisse exécuter ces étapes et nous fournir le résultat.
Tous les programmes informatiques sont des constructions d'algorithmes. La maîtrise de la pensée algorithmique est un prérequis pour l'apprentissage de la programmation.
Pour la construction d'un programme informatique, les opérations d'un algorithme sont décomposées jusqu'à ce qu'on puisse les arrimer aux instructions élémentaires d'un langage permettant de codifier des algorithmes pour ordinateurs. C'est ce qu'on appelle la programmation.
L'aire d'un quadrilatère (pseudocode)
Le pseudocode décrit les étapes dans nos mots, sans se soucier de la syntaxe exacte d'un langage.
L'aire d'un quadrilatère (en code Python)
Même algorithme, mais écrit dans les instructions exactes que Python sait exécuter.
Un programme informatique est une suite d'instructions écrites dans un langage de programmation, destinée à être exécutée par un ordinateur pour accomplir une tâche spécifique. Ces instructions sont souvent appelées « code ».
Exemples de programmes informatiques communs :
Les commandes élémentaires que l'ordinateur exécute, une à la fois.
Des conteneurs nommés qui gardent les données du programme.
Du texte entre guillemets : les chaînes de caractères.
Les symboles qui réalisent les opérations : +, -, *, /, //.
Les prochaines diapositives reprennent chaque composant un à un.
Les instructions sont les commandes élémentaires que l'ordinateur exécute. Elles peuvent inclure des opérations arithmétiques, la manipulation de données, ou encore l'affichage de résultats à l'utilisateur.
Exemple :
Cette instruction demande à l'ordinateur d'afficher le texte « Bonjour, monde! » sur l'écran.
Les variables sont des conteneurs qui stockent des données que vous pouvez manipuler tout au long de votre programme. Une variable a un nom, qui permet de l'identifier, et une valeur, qui est l'information qu'elle contient. Pour modifier le contenu d'une variable, on utilise l'opérateur d'affectation « = ».
Exemples en Python :
Pour explorer les variables avec des verres et des étiquettes : le diaporama « Les variables : des contenants » sur ce site.
L'exemple précédent nous montre des variables qui contiennent des données de type numérique. Il arrivera souvent que l'on doive manipuler des données qui n'ont aucune valeur numérique, mais qui sont en fait du texte.
On reconnaît les données textuelles dans un programme par le fait qu'elles sont entourées de guillemets.
Les opérateurs sont utilisés pour réaliser des opérations sur les variables et les valeurs. Les plus simples et intuitifs à comprendre sont certainement les opérateurs arithmétiques : +, -, *, /, //.
Les instructions d'un programme sont constituées de plusieurs expressions. En termes informatiques, on peut définir une expression comme suit :
À retenir : une expression, c'est tout morceau de code qui produit une valeur.
L'exécution de chaque instruction amène l'évaluation des expressions qui la composent. Pour x = 5, l'expression à droite du « = » est simple : c'est la valeur entière 5, qui est affectée à x.
Regardons une instruction qui utilise deux variables (avec largeur = 5 et hauteur = 10) : avant de multiplier, l'ordinateur doit d'abord consulter la mémoire pour connaître leurs valeurs.
aire = largeur * hauteurl'instruction du programmeaire = 5 * 10on remplace chaque variable par sa valeuraire = 50on calcule, puis on affecte le résultat à aireLorsque plusieurs opérateurs mathématiques sont impliqués dans une expression, leur évaluation suit les règles de priorité et d'associativité habituelles :
Énumérez toutes les expressions dans ce qui suit :
« Coucou »y2 - y1 / x2 - x1b * b - 4 * a * ci = i + 1Rappel : une expression est tout morceau qui produit une valeur... il peut y en avoir plusieurs dans une même ligne !
Évaluez toutes les expressions dans ce qui suit :
« Coucou »y2 - y1 / x2 - x1b * b - 4 * a * ci = i + 1Attention aux priorités de la diapositive précédente...
Le résultat d'une opération a toujours un type.
On doit donc s'assurer que les expressions produisent un résultat qui est compatible avec la variable qui récupère ledit résultat.
Déterminez le type du résultat de l'évaluation de chacune des expressions globales qui suivent :
« Coucou »y2 - y1 / x2 - x1b * b - 4 * a * cIndice : int, float ou str ?
Un programme bien structuré suit généralement une séquence logique et cohérente :
Ce programme demande à l'utilisateur de saisir son nom, puis lui affiche un message de salutation.
En résumé, l'algorithmique constitue le socle sur lequel repose l'ensemble de la programmation informatique.
À travers des siècles d'évolution, les algorithmes ont façonné la manière dont nous abordons les problèmes complexes et structurons les solutions. De l'anthyphérèse d'Euclide à nos applications modernes, les algorithmes sont au cœur de la capacité des ordinateurs à réaliser des tâches variées et sophistiquées.
Comprendre et maîtriser l'art de l'algorithmique est donc essentiel pour tout programmeur, car c'est cette compréhension qui permettra de concevoir des programmes efficaces et robustes, capables de répondre aux besoins variés du monde numérique actuel.
La syntaxe et exemples
Python est un langage de programmation très populaire en raison de sa simplicité et de sa lisibilité. Il est utilisé dans de nombreux domaines, y compris les sciences, l'ingénierie et l'analyse de données.
Dans cette section, nous allons explorer les éléments de base qui vous permettront de créer vos premiers programmes en Python.
Python utilise une syntaxe qui est simple et directe. Voici quelques éléments fondamentaux :
Un commentaire est une ligne de code qui ne sera pas exécutée : elle n'est là que pour documenter votre programme à l'intérieur du fichier de code.
Une ligne de commentaire débute par le caractère #
Les variables en Python servent à stocker des informations que vous pouvez réutiliser plus tard dans votre programme.
Chaque valeur stockée dans une variable a un type :
| Type | Description | Exemples |
|---|---|---|
| int | entier | 5, 100, -20 |
| float | nombre à virgule flottante | 5.0, 3.14159265, -0.01 |
| str | chaîne de caractères | "Bonjour", 'Python' |
| bool | booléen | True, False |
Dans un programme Python, on peut « donner » un type à chacune des variables, lors de leur première utilisation (déclaration) :
intfloatstrVous pouvez effectuer des opérations arithmétiques simples avec Python.
Pour afficher un message à l'écran, il suffit d'utiliser la fonction print(message).
Vous pouvez également écrire un programme qui demande une entrée à l'utilisateur à l'aide de la fonction input(message).
Il peut parfois être utile d'insérer des valeurs qui sont calculées par nos programmes à l'intérieur des messages que l'on fait afficher à l'écran. Par exemple, après avoir déterminé l'âge de l'utilisateur, on pourrait vouloir afficher « Vous avez 27 ans », où le nombre 27 est contenu dans une variable du programme.
Les chaînes formattées permettent ce genre de manipulations. On reconnaît une telle chaîne par la lettre f devant le premier guillemet qui délimite la chaîne :
La fonction input() permet à l'utilisateur d'entrer des données pour les calculs du programme. Cependant, input() recueille ce que l'utilisateur entre au clavier sous forme de donnée textuelle !
La variable « donnee » contient une valeur textuelle, et l'on tente de l'additionner à la valeur numérique 10.
Pour pallier ce problème, on peut utiliser les fonctions suivantes pour transformer la valeur textuelle en valeur numérique :
int() : construit un nombre entier à partir d'une valeur de type int, float ou str (à condition que la chaîne représente un nombre entier)float() : construit un nombre flottant à partir d'une valeur de type int, float ou str (à condition que la chaîne représente un nombre flottant ou un entier)str() : construit une chaîne de caractères à partir d'une grande variété de types de données, y compris les str, int et floatLe développement graduel est une méthode de travail qui vise à faciliter la vie du programmeur et de la programmeuse dans la mise en place de son programme.
L'idée générale consiste à commencer par déterminer les grandes étapes du programme et à les décrire en des termes très vagues.
On s'attarde par la suite à rendre la description de chaque étape de plus en plus précise, jusqu'à obtenir quelque chose qui ressemble à une instruction pouvant être exécutée par un ordinateur.
À vos calepins !