Algorithme et Programmation Première Année Carlos AGOSSOU DOCTEUR EN SCIENCES D

Algorithme et Programmation Première Année Carlos AGOSSOU DOCTEUR EN SCIENCES DE L’INGENIEUR Algorithme et Programmation 1 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur Cours d’ Algorithme et Programmation Objectif :  Apprendre les concepts de base de l'algorithmique et de la programmation  Être capable de mettre en œuvre ces concepts pour analyser des problèmes simples et écrire les programmes correspondants Points généraux :  introduction à l’algorithmique et à la programmation  Généralités sur l’algorithmique et les langages de programmation  Notion de variable, affectation, lecture et écriture  Instructions conditionnels et instructions itératives  Les Tableaux, les fonctions et procédures, la récursivité  Introduction à la complexité des algorithmes  Données structurées Initiation au Langage C (Travaux pratiques) Algorithme et Programmation 2 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur Table des matières 1.1. Qu’est-ce qu’un algorithme ? ........................................................................... 3 1.2. Qu’est-ce qu’un programme ? .......................................................................... 4 1.3. Variable, Affectation ....................................................................................... 4 1.4. Types de base des variables ............................................................................ 5 1.5. Lecture et écriture de variables ...................................................................... 8 1.6. Langage algorithmique ................................................................................... 8 1.7. Phase d’analyse ............................................................................................... 9 Algorithme et Programmation 3 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur Chapitre 1 : Introduction à l’algorithme et la programmation 1.1. Qu’est-ce qu’un algorithme ? Définition : Un algorithme est une suite finie d’opérations élémentaires, à appliquer dans un ordre déterminé, à des données. Sa réalisation permet de résoudre un problème donné. Exemples : suivre une recette de cuisine, suivre un plan, faire une division euclidienne à la main sont des exemples d’algorithme. Remarques : 1. Un algorithme doit être lisible de tous. Son intérêt, c’est d’être codé dans un langage informatique afin qu’une machine (ordinateur, calculatrice, etc.) puisse l’exécuter rapidement et efficacement. Algorithme et Programmation 4 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur 2. Les trois phases d’un algorithme sont, dans l’ordre : (a) l’entrée des données (b) le traitement des données (c) la sortie des résultats Autrement dit, un algorithme est une procédure de calcul bien définie qui prend en entrée un ensemble de données, exprime un traitement particulier et qui délivre en sortie un ensemble de résultats. Exemple : Problème : Trier une suite de nombres entiers dans l'ordre croissant. Entrée : Suite de n nombres entiers (a1, a2, ...an) Sortie : Une permutation de la suite donnée en entrée (a'1, a'2, ...a'n) telle que a'1≤a'2≤, ...≤a'n. A partir de la suite (6,9,2,4), un algorithme de tri fournira le résultat (2,4,6,9). 1.2. Qu’est-ce qu’un programme ? Un programme est une série d’instructions pouvant s’exécuter en séquence, ou en parallèle qui réalise (implémente) un algorithme. L’écriture algorithmique est un travail de programmation à visée universelle :  un algorithme ne dépend pas du langage dans lequel il est implanté,  ni de la machine qui exécutera le programme correspondant. 1.3. Variable, Affectation Définition : Lors de l’exécution d’un algorithme, on va avoir besoin de stocker des données, voire des résultats. Pour cela, on utilise des variables. On attribue un nom à chaque variable. Remarques : 1. Une variable est comme une boîte, repérée par un nom, qui va contenir une information. Pour utiliser le contenu de cette boîte, il suffit de l’appeler par son nom. 2. Dans l’écriture d’un algorithme, on prendra l’habitude de préciser dès le départ le nom des variables utilisées en indiquant leur type (nombre, chaîne de caractère, liste, etc.). Cette étape est appelée déclaration des variables. 3. Le choix du nom d’une variable est soumis à quelques règles qui varient selon le langage, mais en général: 4. • Un nom doit commencer par une lettre alphabétique. Algorithme et Programmation 5 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur Exemple : E1 (1E n’est pas valide)  doit être constitué uniquement de lettres, de chiffres et du soulignement (« _ ») (Éviter les caractères de ponctuation et les espaces) Exemples : SMI2008, SMI_2008 (SMP 2008, SMP-2008, SMP;2008 : sont non valides)  doit être différent des mots réservés du langage 5. Pour la lisibilité du code choisir des noms significatifs qui décrivent les données manipulées Exemples: NoteEtudiant, Prix_TTC, Prix_HT En langage algorithmique, on va respecter les règles citées, même si on est libre dans la syntaxe 1.4. Types de base des variables Définitions : Un type abstrait est un triplet composé :  d'un nom,  d'un ensemble de valeurs,  d'un ensemble d'opérations définies sur ces valeurs. Les types abstrait de bases de l'algorithmique sont :  Entier  Caractères  Booléen (Type logique)  Réel Une variable est un triplet composé :  d'un type (déjà défini),  d'un nom (a priori toute chaîne alphanumérique),  d'une valeur. Une variable constante donne une instruction permettant de réserver de l’espace mémoire pour stocker une constante dont la valeur ne varie pas. Toute variable utilisée dans un programme doit avoir fait l’objet d’une déclaration préalable Formalisme : Variable <nom de variable>: type Constante <nom de variable>: type ← valeur ou expression Algorithme et Programmation 6 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur Exemples : Variables val, unNombre : entiers nom, prénom : chaînes de caractères Constante MAX : entier ← 10 DEUXFOISMAX : entier ← MAX * 2 Les Expressions sont constituées à l'aide de variables déjà déclarées, de valeurs, de parenthèses et d'opérateurs du (des)type(s) des variables concernées. L'affectation est l'instruction qui permet de stocker une valeur dans une variable. En langage algorithmique, l'affectation est notée par le signe ←  Var ← e : attribue la valeur de e à la variable Var o e peut être une valeur, une autre variable ou une expression o Var et e doivent être de même type ou de types compatibles o l’affectation ne modifie que ce qui est à gauche de la flèche Exemples : i ←1 j ← i k ← i+j x ←10.3 ok ←FAUX ch1 ←"SMI" ch2 ←ch1 x ←4 x ←j (avec i, j, k : entier; x : réel; ok : booléen; ch1, ch2 : chaine de caractères) Exemples non valides: i ←10.3 ok ←"SMI" j ←x Remarque : Toute variable doit être déclarée et recevoir une valeur initiale. Booléens Une variable de type booléen prend comme valeur VRAI ou FAUX. Les opérations usuelles sont OU, ET et NON qui sont données dans les tables qui suivent. Algorithme et Programmation 7 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur Entiers Une variable de type entier peut prendre comme valeur l'ensemble des nombres entiers signés. Les opérations associées sont les opérations usuelles :  Addition : +  Soustraction : -  Produit : *  Divisions : /  Elévation à la puissance : ^ :  Modulo : % L’ordre de priorité des opérateurs est le suivant (du plus prioritaire au moins prioritaire) : Réels Une variable de type réel peut prendre comme valeur l'ensemble des nombres réels. Les opérations associées sont les opérations usuelles +,-,*,/. Caractères Une variable de type caractère peut prendre comme valeur l'ensemble des caractères imprimables. On notera les valeurs entre guillemets. On considère souvent que les caractères sont ordonnés dans l'ordre alphabétique. Attention Les valeurs  "1" qui est un caractère,  1 qui est un entier,  1.0 qui est un réel sont différentes et ne seront pas codés de la même manière dans la mémoire de la machine. Algorithme et Programmation 8 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur Comparaison Les opérateurs  < ; > : est inférieur resp. supérieur  <= ; >= : est inférieur ou égal resp. supérieur ou égal  == : est égal  != : est différent permettent de comparer les valeurs de type entier, réel et caractère. Le résultat de cette comparaison est une valeur booléenne. 1.5. Lecture et écriture de variables Définition : Les instructions de base sur des variables sont les suivantes :  la saisie : on demande à l’utilisateur de l’algorithme de donner une valeur à la variable ;  l’affectation : le concepteur de l’algorithme donne une valeur à la variable. Cette valeur peut-être le résultat d’un calcul ;  l’affichage : on affiche la valeur de la variable. Formalisme : Saisir<nom de variable, …> Afficher<nom de donnée, …> Les fonctions « Saisir » et « Afficher » sont des instructions permettant :  de placer en mémoire les informations fournies par l'utilisateur.  De visualiser des données placées en mémoire Exemples : Saisir(unNombre) Afficher(‘‘le nom est ‘‘, nom, ‘‘ et le prénom est ‘‘ , prénom ) Saisir(val) 1.6. Langage algorithmique Algorithme NomAlgorithme {ceci est un commentaire} ou /* ceci est un commentaire */ Début ... Actions Fin Remarques : Tout programme en langage algorithmique doit respecter les points suivants : Algorithme et Programmation 9 Enseignant : Ing Carlos AGOSSOU, Docteur en Sciences de l’Ingénieur  Il faut avoir une écriture rigoureuse  Il faut avoir une écriture soignée : respecter l’indentation  Il est nécessaire de commenter les algorithmes  Il existe plusieurs solutions algorithmiques à uploads/Litterature/ cours-algorithme-et-programmation 1 .pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager