# Lecture et Écriture > [!video] Vidéo explicative > <iframe width="560" height="315" src="https://www.youtube.com/embed/nHVfWUeeUm8?si=J6jpexEFgCqv4nXm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> ## Introduction En algorithmique, un programme est rarement une entité isolée. Il interagit avec son environnement pour obtenir des données (entrée) et communiquer ses résultats (sortie). Les opérations de lecture et d'écriture sont les mécanismes fondamentaux qui permettent cette interaction, constituant les piliers de la communication entre l'algorithme et le monde extérieur (utilisateur, fichiers, autres systèmes). Ces concepts sont essentiels et se retrouvent dans la représentation des algorigrammes par des symboles spécifiques, marquant le début et la fin du traitement de l'information. ## 1. La Lecture (Input) La lecture est l'opération par laquelle un algorithme acquiert des données depuis une source externe. Ces données sont ensuite stockées dans des variables pour être traitées. > [!definition] Lecture > L'opération de **lecture** (ou *input*) consiste à obtenir une ou plusieurs valeurs depuis une source externe (clavier, fichier, capteur, etc.) et à les affecter à des variables au sein de l'algorithme. ### 1.1. Utilité * Permettre à l'utilisateur de fournir des informations. * Récupérer des données stockées dans des fichiers. * Interagir avec des systèmes externes ou des capteurs. ### 1.2. Pseudo-code pour la Lecture Le pseudo-code utilise souvent des mots-clés simples pour représenter l'opération de lecture. > [!example] Exemple de Lecture > ``` >DEBUT > > nombre1 : ENTIER > nombre2 : ENTIER > somme : ENTIER > > ECRIRE "Veuillez entrer le premier nombre : " > LIRE nombre1 > > ECRIRE "Veuillez entrer le deuxième nombre : " > LIRE nombre2 > > somme <- nombre1 + nombre2 > > ECRIRE "La somme est : ", somme > >FIN > ``` Dans cet exemple, `LIRE nombre1` et `LIRE nombre2` sont les opérations de lecture. > [!note] Types de Données > Lors de la lecture, il est crucial de considérer le type de données attendu. Le système d'entrée fournit souvent des chaînes de caractères qui doivent être converties dans le type approprié (entier, réel, etc.) avant d'être utilisées dans des calculs. Cette conversion est une étape importante que les langages de programmation comme Python gèrent explicitement. ## 2. L'Écriture (Output) L'écriture est l'opération par laquelle un algorithme communique des informations vers une destination externe. Ces informations peuvent être des résultats de calcul, des messages à l'utilisateur, ou des données à sauvegarder. > [!definition] Écriture > L'opération d'**écriture** (ou *output*) consiste à afficher ou à enregistrer une ou plusieurs valeurs (variables, expressions, messages) vers une destination externe (écran, fichier, imprimante, etc.). ### 2.1. Utilité * Afficher des messages ou des instructions à l'utilisateur. * Présenter les résultats d'un traitement. * Sauvegarder des données dans un fichier. * Envoyer des informations à un autre système. ### 2.2. Pseudo-code pour l'Écriture Le pseudo-code utilise également des mots-clés simples pour l'écriture. > [!example] Exemple d'Écriture > Reprenons l'algorithme précédent : > ``` > DEBUT > > nombre1 : ENTIER > nombre2 : ENTIER > somme : ENTIER > > ECRIRE "Veuillez entrer le premier nombre : " // Écriture d'un message > LIRE nombre1 > > ECRIRE "Veuillez entrer le deuxième nombre : " // Écriture d'un message > LIRE nombre2 > > somme <- nombre1 + nombre2 > > ECRIRE "La somme est : ", somme // Écriture d'un message et d'une variable > >FIN > ``` Dans cet exemple, toutes les lignes commençant par `ECRIRE` sont des opérations d'écriture. > [!tip] Formatage de la Sortie > Il est souvent nécessaire de formater la sortie pour qu'elle soit claire et lisible pour l'utilisateur. Cela peut inclure la concaténation de chaînes de caractères et de variables, l'ajout de sauts de ligne, ou la spécification de la précision des nombres réels. ## 3. Interaction et Flux de Données Les opérations de lecture et d'écriture sont complémentaires et permettent à un algorithme de s'inscrire dans un **flux de données** : 1. **Entrée** : Acquisition des données brutes. 2. **Traitement** : Manipulation des données selon la logique de l'algorithme. 3. **Sortie** : Présentation des résultats du traitement. Ce cycle est fondamental pour la plupart des programmes informatiques, qu'il s'agisse de scripts simples ou d'applications complexes. La capacité à gérer ces interactions est une compétence clé en programmation. ## Résumé Les opérations de **lecture** et d'**écriture** sont les portes d'entrée et de sortie de tout algorithme. Elles permettent : * La **lecture** de collecter des informations depuis l'environnement externe et de les stocker dans des variables. * L'**écriture** de communiquer les résultats du traitement ou des messages à l'utilisateur ou à d'autres systèmes. Maîtriser ces concepts est un pré-requis indispensable pour concevoir des algorithmes interactifs et fonctionnels, et sera appliqué concrètement lors de l'apprentissage des langages de programmation comme Python. ## 🗓️ Historique > **Dernière mise à jour :** `26 octobre 2025` > **Rédigé par :** [[Julien DUQUENNOY]]