Alayrangues, Sylvie, Baudon, Olivier, Beffara, Emmanuel, Charpentier, Ronan, Daniel, Sébastien, Declercq, Christophe, Delay, Emmanuel, Grimaud, Aslı, Hoarau, Sébastien, Héam, Anne, Marquet, Philippe, Masseron, Jean-Christophe, Meyer, Antoine, More, Malika, Nény, Florence, Prouteau, Cécile, Vincent, Jean-Marc, Volte, Emmanuel, Weibel, Nathalie, IREM de Poitiers, Université de Poitiers, XLIM (XLIM), Université de Limoges (UNILIM)-Centre National de la Recherche Scientifique (CNRS), Laboratoire Bordelais de Recherche en Informatique (LaBRI), Université de Bordeaux (UB)-École Nationale Supérieure d'Électronique, Informatique et Radiocommunications de Bordeaux (ENSEIRB)-Centre National de la Recherche Scientifique (CNRS), IREM Aquitaine, Université de Bordeaux (UB), Institut de Recherche sur l’Enseignement des Mathématiques [Grenoble] (IREM), IREM de Caen, Université de Caen Normandie (UNICAEN), Normandie Université (NU)-Normandie Université (NU), Institut de Recherche sur l’Enseignement des Mathématiques [Lorraine] (IREM), Laboratoire d'Informatique et de Mathématiques (LIM), Université de La Réunion (UR), IREM de Clermont-Ferrand, Université de Clermont-Ferrand, IREM de Lille, Université de Lille, IREM de la Réunion, IREM de Franche-Comté, IREM de Paris, Université Paris Cité (UPCité), Laboratoire d'Informatique Gaspard-Monge (LIGM), École des Ponts ParisTech (ENPC)-Centre National de la Recherche Scientifique (CNRS)-Université Gustave Eiffel, Institut de recherche sur l'enseignement des mathématiques d'Aix-Marseille (IREM), Aix Marseille Université (AMU), Académie de Paris, Université Grenoble Alpes (UGA), Performance analysis and optimization of LARge Infrastructures and Systems (POLARIS), Inria Grenoble - Rhône-Alpes, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Laboratoire d'Informatique de Grenoble (LIG), Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP ), Université Grenoble Alpes (UGA)-Centre National de la Recherche Scientifique (CNRS)-Université Grenoble Alpes (UGA)-Institut polytechnique de Grenoble - Grenoble Institute of Technology (Grenoble INP ), and Institut National de Recherche en Informatique et en Automatique (Inria)
The notion of boolean is fundamental in computer science. Even if it seems simple at first sight, its introduction in the first stages of programming education reveals a number of difficulties related to the fact that it involves several general concepts of computer science: data types, truth values, invariants, control structures... Starting from this observation, the point of this article is to propose some reflections on the role of booleans in programming. We will elaborate on some points concerning possible "good practices", in particular in the context of computer science teaching.In particular, we will focus on boolean as a data type and on the main control structures using booleans. We will also focus on the general notion of boolean expression used in programming. Through a case study, we will illustrate some typical use cases of boolean variables.; Une analyse de la notion de booléen et de son usage dans l'enseignement de la programmation * Commission Inter-IREM Informatique octobre 2022 Résumé. La notion de booléen est fondamentale en informatique. Même si elle paraît simple à première vue, son introduction dans les premiers apprentissages de la programmation révèle un certain nombre de difficultés liées au fait qu'elle mobilise plusieurs concepts généraux de l'informatique : types de données, valeurs de vérité, invariants, structures de contrôle… Partant de ce constat, l'objectif de cet article est de proposer quelques réflexions sur le rôle des booléens en programmation. On détaillera certains points relatifs aux « bonnes pratiques » possibles, en particulier dans le cadre de l'enseignement de l'informatique. On s'intéressera notamment au booléen comme type de données et aux principales structures de contrôle faisant appel à des booléens. On s'intéressera également à la notion générale d'expression booléenne utilisée en programmation. Au travers d'une étude de cas, on illustrera quelques usages typiques des variables booléennes.