CHAPITRE 1 : ALGORITHMIQUE ETAPES DE RESOLUTION D’UN PROBLEME Compétences visée
CHAPITRE 1 : ALGORITHMIQUE ETAPES DE RESOLUTION D’UN PROBLEME Compétences visées : ➢ En se basant sur la documentation, internet, et les problèmes de vie réelle, chaque élève de première ESTP sera capable à la fin de cette leçon de 2h de décrire les étapes de résolution d’un problème. Situation problème : Votre petit frère de 6e Idriss, rentre des classes avec un devoir dont l’énoncé est le suivant : « Étant donnés deux nombres entiers positifs, identifier le plus grand de ces deux nombres. » ensuite, nécessite votre aide pour la résolution de ce problème. En vous basant sur la documentation ou internet, donner lui les étapes de résolution de ce problème. Introduction Chaque jour, l’homme est face à des nombreux problèmes auxquels il doit apporter des solutions. Pour résoudre ces problèmes il est important de bien présenter les différentes étapes de résolutions du problème. Au cours de cette leçon nous étudierons ces étapes pour la conception d’un algorithme. I-Définitions des concepts 1)Algorithmique : C’est la science des algorithmes. 2)Algorithme : Un algorithme est une suite finie et ordonnée d’instruction donnée à un exécutant lui permettant de résoudre un problème donné. Autrement dit c’est une suite logique d’opérations permettant d’arriver à un résultat déterminé. II-Les étapes de résolution d’un problème Dans cette partie, nous allons utiliser le problème posé à la situation problème. Comme disait quelqu’un : « Tout ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrive LEÇON 1 MODULE 1 : RESEAUX, INTERNET, HUMANITE NUMERIQUE, ALGORITHME ET PROGRAMMATION EN C aisément ». Alors, construire un algorithme consiste à découvrir les actions qu'il faut organiser dans le temps, et à choisir la manière de les organiser pour obtenir le résultat escompté par leurs effets cumulés. Un algorithme est présenté comme suit : Exemples : préparation du riz sauté, calcul du périmètre d’un champ rectangulaire. En générale les étapes de résolution d’un problème sont les suivantes : • L’analyse • La conception / Algorithme • La programmation • Le test 1)L’Analyse : C’est une phase de réflexion au cours de laquelle on identifie les caractéristiques du Problème à traiter, puis éventuellement on le découpe en une succession de sous problèmes simples. Autrement dit, c’est la définition du problème en termes de séquences d’opérations de calcul de stockage de données, etc. ; 2)La conception / Algorithme : C’est la définition précise des données, des traitements et de leur séquencement ; autrement dit, c’est une phase au cours de laquelle on décrit les opérations à mettre en œuvre pour obtenir le résultat à partir des données. Le langage algorithmique employer est suffisamment proche des langages de programmation pour pouvoir être traduit aisément vers ces derniers. 3)La programmation : C’est le processus qui permet de traduire l’algorithme dans un langage de programmation (langage permettant d’écrire des programmes informatiques) de son choix. Ainsi, on distingue plusieurs langages de programmation tels que : PASCAL, JAVA, C, python, C#, C++, FORTRAN .... 4)Le test : Il correspond au moment où l’utilisateur lance le programme et lui donne les données en entrée du problème afin que le programme lui donne le résultat après traitement. III. Les qualités d’un bon algorithme L’intérêt de l’algorithmique réside dans la résolution optimale des problèmes c’est-à- dire elle permet de gagner du temps et d’obtenir des solutions moins coûteuses. De ce fait, un algorithme doit : • Être compréhensible : car un algorithme doit être lu et compris sans difficulté par une autre personne que celui qui l’a écrit. • Être lisible : L’algorithme doit respecter une structure bien définie. • Être de haut niveau : Il ne doit pas faire appel à des notions techniques relatives à un langage programmation particulier. • Être défini et précis : ce qui signifie que chaque expression doit être définie sans ambiguïté • Être concis : Un algorithme ne doit pas être long. Si c'est le cas, il faut décomposer le problème en plusieurs sous-problèmes. • Être structuré : Un algorithme doit être composé de différentes parties facilement Identifiables. • Avoir des données d’entrée qui ont un champ d’application bien précis (Ex. nombre entier, nombre réel ou caractère, etc.…). • Se terminer après un nombre fini d’opérations. • Posséder au moins un résultat. Exercice : Inscription au lycée General Leclerc A chaque rentrée scolaire au lycée de Koumassi, pour faire partir des effectifs, les anciens élèves doivent s’acquitter des frais d’inscription, d’APE et des frais d’informatique. Les nouveaux élèves quant à eux doivent fournir un dossier de recrutement qui contient les bulletins scolaires de l’année précédente, une demande de recrutement et une photocopie de l’acte de naissance. Après étude du dossier, l’établissement sort une liste des candidats retenus. Ces derniers s’acquitteront également des mêmes frais anciens. L’établissement enregistre les noms dans sa base de données et affiche les noms des élèves par niveau et par classe. 1. Quels sont les données en entrées ? 2. Quels sont les traitements ? Quels sont les résultats ? GENERALITES SUR LES ALGORITHME Compétences Visées : L’élève à la fin de cette leçon devrait être capable de : • Définir la notion de variable. • Définir la notion de constante. • Donner la structure générale d’un algorithme. Introduction Un algorithme s’écrit suivant un certain langage appelé Langage de Définition Algorithmique (LDA). Ce langage utilise un vocabulaire et des règles de construction des phrases. I. LES ELEMENTS CONSTITUTIFS D’UN ALGORITHME 1-1 Les identificateurs Les identificateurs servent à designer les différents « objets » manipulés par l’algorithme. Comme objet nous pouvons avoir les variables, les constantes, les fonctions, etc.…pour une structure algorithmique de base nous nous intéresserons aux variables et aux constantes. ➢ Les variables On appelle variable est un objet dont le contenu peut changer au cours de l’exécution de l’algorithme. La syntaxe est la suivante : Var NomVariable : Type de la variable ; Exemple : Var rayon : entier ; Var surface : réel ; ➢ Les constantes On appelle constante un objet dont le contenu reste invariant lors de l’exécution d’un algorithme c’est-à-dire on ne peut le changer pendant l’exécution de l’algorithme. La syntaxe de déclaration est la suivante : const NomConstante = Valeur ; Exemple : const pi = 3.14 ; const N = 100 ; De façon générale, un « objet » a trois caractéristiques à savoir : Son identificateur (qui est le nom qui l’identifie), son type et sa valeur Les types sont les caractéristiques des constantes et des variables utilisées dans l’écriture d’un algorithme. On distingue cinq types de base : • Entier : C’est un nombre négatif ou positif sans virgule ; • Réel : C’est un nombre négatif ou positif avec virgule ou pas ; • Booléen : C’est une donnée qui ne peut prendre que deux états ; • Le caractère : C’est une donnée alphabétique, ou un symbole ; • Chaine de caractères : c’est un assemblage de données alphabétique, numérique, un LEÇON 2 Symbole. 1-2 Les séparateurs Dans le langage naturel, les mots sont séparés par un espace, un signe de ponctuation ou une fin de ligne. Il en est de même pour le langage algorithmique dont les règles vont paraître naturelles. Les caractères séparateurs comprennent tous les opérateurs (+, -, *, =, ==, < =, >=, <, >, etc.) ainsi que les caractères dits de ponctuation : ( ) [ ] , . : etc. 1-3 Les commentaires Les commentaires sont des textes explicatifs destinés au lecteur de l’algorithme et qui n’ont aucun incident sur l’exécution de l’algorithme. Ils sont placés entre les symboles (/* */) et peuvent apparaître à tout endroit de l’algorithme cependant, on se limitera à des emplacements propices à une bonne lisibilité. Les commentaires sont utilisés pour permettre une interprétation aisée de l’algorithme. Leur utilisation est vivement conseillée. De ce fait, tout texte placé entre les symboles /* */ sera considéré comme un commentaire. Un commentaire peut s’étendre sur une ou plusieurs lignes. II. STRUCTURE D’UN ALGORITHME La structure d’un algorithme est un schéma qui illustre de façon générale les différentes articulations ou parties du squelette d’un algorithme. On peut la représenter sous forme graphique (Algorigramme ou Organigramme) ou sous forme littérale (notation algorithmique) dans laquelle les mots clés sont soulignés et commencent par une lettre majuscule, ainsi que des instructions terminées par un point-virgule (;). LES STRUCTURES SIMPLES EN ALGORITHME I. INSTRUCTIONS SIMPLES Une instruction est un ordre que l‘on donne à la machine. 1- L‘Affectation L‘Affectation est une opération qui consiste à donner une valeur à une variable. Sa syntaxe est la suivante : Identificateur de la variable valeur à affecter. Exemple r 5 ou r = 5 L‘affectation n‘est pas commutative c‘est-à-dire que a=b est différent de b=a ; Elle est instantanée et valable à un moment donné ; 2- L‘incrémentation et décrémentation L‘incrémentation est opération qui consiste à augmenter d‘une unité le contenu d‘une variable. Cette opération peut se faire de deux façons différentes. Soit x la variable à incrémenter : x=x+1 : ici on ajoute une unité de façon explicite. x++ , uploads/Ingenierie_Lourd/ chapitre-1-et-2.pdf
Documents similaires










-
25
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 05, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.7578MB