Bachelor SECO 1ère année Semestre 2 UniNE TIC Corentin Cossettini 2021 Technologies de l’information Table des matières 1 La pensée computationnelle ...................................................................................... 2 1.1 Décomposition ............................................................................................................. 2 1.2 Répétition et généralisation ......................................................................................... 2 1.2.1 1.2.2 1.2.3 1.2.4 1.3 1.3.1 1.4 Des boucles ................................................................................................................................. 2 Des sous-routines ....................................................................................................................... 3 Des règles ................................................................................................................................... 3 Exemple d’utilisation de ces différents principes ....................................................................... 3 Abstraction .................................................................................................................. 3 Le modèle ................................................................................................................................... 3 Algorithmes ................................................................................................................. 3 1 Bachelor SECO 1ère année Semestre 2 UniNE TIC Corentin Cossettini 2021 1 La pensée computationnelle 1.1 Décomposition On divise le problème en sous-problèmes constitutifs, puis on les résout et on vainc le problème. Une méthode pour décomposer un problème est le graphe en arbre. 1.2 Répétition et généralisation Il s’agit de trouver les éléments qui se répètent afin de les résoudre de la même manière. Comment les identifier ? Les patterns1 simples se caractérisent par : 1) Des noms : ceux apparaissant à plusieurs reprises peuvent représenter des objets (ex : messages, auteur) 2) Des verbes : ceux apparaissant à plusieurs reprises peuvent représenter des opérations (ex : afficher un message, avertir l’utilisateur, afficher la saisie) 3) Des adjectifs et nombres : des descriptions concrètes fournies par les adjectifs et/ou nombre peuvent être converties en propriétés ou variables (ex : heure, couleur d’arrière-plan) Les patterns complexes se représentent par des boucles, des sous-routines et des règles. 1.2.1 Des boucles Etapes répétées (ex : afficher chaque message) 1.2.1.1 Répétitions Les boucles existent car un programme doit souvent répéter les mêmes instructions. Boucle TANT QUE (while) TANT QUE une condition est vraie ALORS instruction FIN TANT QUE Boucle TANT QUE (infinie) hello = faux TANT QUE pas hello ALORS dire hello FIN TANT QUE dire fini cette boucle est infinie car hello est faux, donc va rester faux même à la fin de la boucle, ce qui va faire que la boucle recommence, étant donné que hello = faux. Modifier la condition depuis l'intérieur de la boucle afin d’avoir une boucle finie. hello = faux TANT QUE pas hello ALORS dire hello 1 Modèle spécifique représentant d'une façon schématique la structure d'un comportement individuel ou collectif. 2 Bachelor SECO 1ère année Semestre 2 UniNE hello=vrai FIN TANT QUE dire fini Boucle POUR (for) POUR une_variable = un_début à une_fin ALORS instruction FIN POUR 1.2.2 TIC Corentin Cossettini 2021 Des sous-routines Instructions répétées (ex : adapter la taille de la bulle à celle du message) 1.2.3 Des règles Conditions (ex : si ce sont mes messages, les afficher à droite) 1.2.3.1 Conditions Étant donné que chaque programme est amené à faire des choix, les différents langages de programmation ont des instructions conditionnelles. Variable booléenne Type de variable à deux états : VRAI ou FAUX. Opérateurs de condition Série d’opérateurs logiques pour tester si une condition est vraie ou fausse : == # teste l'égalité >, >=, <, <=, pas # testent la différence et, ou # testent plusieurs conditions 1.2.4 Exemple d’utilisation de ces différents principes Évaluation journalière de rendement Analyse de dossier de crédit (environ comme le TP Wo3) 1.3 Abstraction Utiliser des abstractions pour représenter un problème. L’abstraction permet de ne garder que l’essentiel et de se focaliser sur ce qui importe réellement. On modélise. 1.3.1 Le modèle Son but : être utile Sa forme : certains types ont des règles sur leur forme (flèches, cases, …) Son exactitude : « Tous les modèles sont faux, certains sont utiles » Box, 1987. les cartes ne représentent pas la réalité. Sa précision : Valeurs du monde réel = continues Valeurs traitées par ordi = discrètes Distorsion de la réalité 1.4 Algorithmes Séquence d’instructions prenant une/plusieurs valeur/s en entrée, et produisant des valeurs en sortie. Au final, programmer revient à écrire la recette d’un logiciel. 3