Algorithmique & Programmation I (2024-2025) PDF

Summary

These notes cover the content of a course on Algorithmic & Programming I for the 2024-2025 academic year in a University in Fes . The summary includes discussions about the concept of programming, and algorithms.

Full Transcript

Département Informatique Algorithmique & Programmation I Pr. Ilham Chaker Année universitaire 2024-2025 Algorithmique & Programmation I Equipe pédagogique Enseignants intervenant en TD Groupes de TD Pr. Ilham Chaker...

Département Informatique Algorithmique & Programmation I Pr. Ilham Chaker Année universitaire 2024-2025 Algorithmique & Programmation I Equipe pédagogique Enseignants intervenant en TD Groupes de TD Pr. Ilham Chaker 1&2 Pr. Mohammed Bergui 3&4 2 Algorithmique & programmation I / [GCH] Algorithmique & Programmation I Plan Introduction Notion de variable, affectation, lecture et écriture La sélection, le choix multiple Les Boucles Les Tableaux 3 Algorithmique & programmation I / [GCH] Algorithmique & Programmation I Introduction 4 Algorithmique & programmation I / [GCH] Introduction Contexte général L’Homme a toujours cherché à automatiser ses tâches quotidiennes  être remplacé par une machine L’Homme doit transférer ses capacités à la machine  Ses connaissances  Son raisonnement  Son savoir faire … 5 Algorithmique & programmation I / [GCH] Introduction Contexte général La machine n’a pas les mêmes facultés de l’homme  Tout doit être clair et élémentaire  Prévoir tous les cas possibles  la machine ne peut pas décider à votre place L’algorithmique et la programmation sont les premiers pas de l’automatisation de la vie de l’Homme 6 Algorithmique & programmation I / [GCH] Introduction Contexte général Le terme « informatique » résulte de la combinaison des deux premières syllabes du terme « information» et des deux dernières syllabes du terme « automatique » ; Il désigne à l'origine l'ensemble des activités liées à la conception et à l'emploi des ordinateurs pour traiter des informations. 7 Algorithmique & programmation I / [GCH] Introduction Contexte général L’informatique: est le domaine d'activité scientifique, technique et industriel concernant le traitement automatique de l'information par des machines :  des ordinateurs;  des systèmes embarqués;  des robots;  des automates; 8 Algorithmique & programmation I / [GCH] Introduction Contexte général Domaines d’application  Physique  Biologie  Médecine  Chimie  Géologie  Economie  Finance … 9 Algorithmique & programmation I / [GCH] Introduction Contexte général  Disciplines de l’informatique Systèmes d’information et Bases de Données Génie logiciel Réseaux Algorithmique & Programmation Compilation & Info théorique Systèmes d’exploitation Intelligence artificielle 10 Algorithmique & programmation I / [GCH] Introduction Programmation Si l’on s’intéresse aux applications de l’ordinateur, on s’aperçoit qu’elles sont très nombreuses :  Etablissement de feuille de paie, de factures  Gestion de stocks  Calcul de la trajectoire d’un satellite  Suivi médical de patients dans un hôpital  … Un ordinateur pour qu’il puisse effectuer des tâches aussi variées il suffit de le programmer. 11 Algorithmique & programmation I / [GCH] Introduction Programmation  Un programme est constitué d’un ensemble de directives, nommées instructions, qui spécifient :  les opérations élémentaires à exécuter  la façon dont elles s’enchaînent.  Les informations à traiter par un programme doivent être représentées dans un format compréhensible par l’ordinateur : codage 12 Algorithmique & programmation I / [GCH] Introduction La machine Représentation de l’information : Codage 13 Algorithmique & programmation I / [GCH] Introduction La machine Le public se fait souvent une fausse idée : ordinateur = machine intelligente… C'est FAUX ! Un ordinateur ne fait qu’exécuter des tâches bien définies par le programmeur  Les tâches sont programmées auparavant par des développeurs  programme, logiciel, …  Un programme est chargé en mémoire d’un ordinateur, puis exécuté sans la moindre ambiguïté. 14 Algorithmique & programmation I / [GCH] Introduction Programmer une machine Programme Problème  Ensemble de données  Ensemble de résultats Un problème du monde réel à résoudre par une solution = solution informatique au problème informatique  Description d'un ensemble d'actions  Exécution dans un certain ordre 15 Algorithmique & programmation I / [GCH] Introduction Programmer une machine Principes méthodologiques …  Abstraire  Prendre le temps nécessaire avant de passer sur machine  Décomposer  Descartes : "...diviser chacune des difficultés que j'examinerais en autant de parties qu'il se pourrait et qu'il serait requis pour les mieux résoudre." 16 Algorithmique & programmation I / [GCH] Introduction Processus de la programmation Analyse : spécifications algorithmique + conception Problème réel Traduction : Codage, Syntaxe Algorithme Partie essentielle :  Définir clairement le problème Programme Exécution  Démarche descendante  Découper le problème en sous problèmes Problème de syntaxe Faux Résultats Problème de sémantique OK 17 Algorithmique & programmation I / [GCH] Introduction Processus de la programmation Analyse + spécification  Définir clairement le problème  Recenser les données  Dégager les grandes fonctionnalités Conception  Organiser les données  Concevoir l'algorithme en pseudo-code Codification, implémentation, …  Traduire l'algorithme dans un langage de programmation 18 Algorithmique & programmation I / [GCH] Introduction Processus de la programmation Problème : calculer la somme La somme de quoi?  Donc Il faut avoir les nombres à additionner: ce sont les données  Une fois on dispose de ces données on va faire le calcul et on donnera le résultat : c’est la somme 19 Algorithmique & programmation I / [GCH] Introduction Processus de la programmation Pour s’exécuter, un programme nécessite  qu’on lui fournisse ce qu’on peut appeler « informations données » ou plus simplement « données ».  En retour, le programme va fournir des « informations résultats » ou plus simplement « résultats ».  Par exemple un programme de paie nécessite  des informations données : noms des employés, situations de famille, nombres d’heures supplémentaires, etc…  Les résultats seront imprimés sur les différents bulletins de paie. 20 Algorithmique & programmation I / [GCH] Introduction Processus de la programmation L’algorithme : est la description de la suite des opérations élémentaires ordonnées, capables de résoudre le problème posé. Un programme : est constitué d’un ensemble de directives, nommées instructions, qui spécifient :  les opérations élémentaires à exécuter  la façon dont elles s’enchaînent. 21 Algorithmique & programmation I / [GCH] Algorithme Description d'un processus de résolution d'un problème bien défini Succession d'actions élémentaires (Instructions) qui, agissant sur un ensemble de ressources (entrée=Donnée), fourniront la solution (sortie=Résultat) au problème Comment faire pour l'obtenir ? Ne pas se laisser aveugler par l'objectif final : L’implémentation! 22 Algorithmique & programmation I / [GCH] L’Algorithme Les instructions Les instructions sont des opérations élémentaires de traitement. Les instructions sont exécutées séquentiellement. Principales classes d’instructions(d’ordres) :  L’affectation des variables,  Les entrées – sorties (lecture / écriture),  L’appel des fonctions  Les tests,  Les boucles. Un algorithme est une succession d’instructions. 23 Algorithmique & programmation I / [GCH] L’Algorithme Exemple Résolution de l’équation du second ordre Ax 2 + B x + C = 0  Entrées (Données) : A, B et C  Sortie (Résultat) : racine double, deux racines où pas de solution 24 Algorithmique & programmation I / [GCH] L’Algorithme Quel algorithme choisir ? En général, il y a plusieurs algorithmes (plusieurs solutions) qui résolvent le même problème.  Il y a plusieurs chemins qui mènent à la destination Le meilleur algorithme (solution optimale) est celui qui :  Contient moins d’instructions.  Le meilleur est le court chemin  Utilise moins de ressources 25 Algorithmique & programmation I / [GCH] L’Algorithme Structure d’un algorithme Un algorithme est composé de deux parties :  Partie déclaration : où on précise la nature (type) des objets utilisés pour la résolution du problème.  Partie traitement : où on présente la séquence des instructions (actions) qui permettent de résoudre le problème. 26 Algorithmique & programmation I / [GCH] L’Algorithme Structure d’un algorithme L’en-tête Algorithme nom de l’algorithme constantes liste des constantes Les déclarations de constantes, variables liste des variables variables, (structures) structure liste des structures Les déclarations de fonctions fonctions liste des fonctions et procédures procédures liste des procédures début action 1 action 2 Le corps de l’algorithme  action n fin 27 Algorithmique & programmation I / [GCH] L’Algorithme Structure d’un algorithme L’en-tête : Il permet d’identifier un algorithme. Algorithme nom de l’algorithme L’en-tête constantes liste des constantes Les déclarations de constantes, variables liste des variables variables, (structures) structure liste des structures Les déclarations de fonctions et fonctions liste des fonctions procédures procédures liste des procédures début action 1 action 2 Le corps de l’algorithme  action n fin 28 Algorithmique & programmation I / [GCH] L’Algorithme Structure d’un algorithme L’en-tête Algorithme nom de l’algorithme Les déclarations : constantes liste des constantes  C’est une liste exhaustive d’objets, Les déclarations de constantes, variables, variables liste des variables utilisés et manipulés dans le corps (structures) de l’algorithme; structure liste des structures  Cette liste est placée au début fonctions liste des fonctions Les déclarations de d’algorithme. fonctions et procédures Procédures liste des procédures début action 1 Le corps de action 2 l’algorithme  action n fin 29 Algorithmique & programmation I / [GCH] L’Algorithme Structure d’un algorithme Le corps : Y sont placés les traitements (opérations …) à exécuter. L’en-tête Algorithme nom de l’algorithme constantes liste des constantes Les déclarations de constantes, variables, variables liste des variables (structures) structure liste des structures fonctions liste des fonctions Les déclarations de fonctions et procédures procédures liste des procédures début action 1 Le corps de l’algorithme action 2  action n fin 30 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes Variable :  est une entité qui contient une information. Elle peut être  une donnée d’entrée ;  le résultat final d’un calcul ;  un résultat intermédiaire de calcul. constantes liste des constantes Les déclarations de constantes, variables, variables liste des variables (structures) structure liste des structures 31 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes Variable :  Elle peut changer de valeur pendant l'exécution d'un programme.  Elle représente une et une seule entité  Elle peut évoluer au cours du temps (la valeur antérieure est perdue). 32 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes Constante :  ne change jamais de valeur pendant l'exécution d'un programme.  Une constante doit toujours recevoir une valeur dès sa déclaration.  Synthaxe : constantes Nom_de_constante = valeur  exemple : constantes Pi = 3.14 constantes liste des constantes Les déclarations de constantes, variables, variables liste des variables (structures) structure liste des structures 33 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes Une variable, ou une constante, est souvent caractérisée par les éléments suivants : 1. L'identificateur : C'est le nom que l'on donne à la variable ou à la constante. 2. Le type : Si la variable est un entier, un réel , un booléen, un caractère ou une chaîne de caractère. 3. La valeur : C'est la valeur que l'on attribue à la variable ou à la constante. 34 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes … Fonction Enseignant Identificateurs Age 39 Valeurs Poids 70,5 … Chaîne de caractère Types Entier Réel 35 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes L'identificateur :  C'est le nom que l'on donne à la variable ou à la constante.  Il est composé de lettres non accentuées, de chiffres et du caractère ( _ ) dans un ordre quelconque sauf pour le premier caractère qui ne peut pas être un chiffre. 36 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes L'identificateur :  Certains mots ne peuvent pas être utilisés comme identificateurs car ils sont réservés, ce sont des mots-clés dans l’algorithme.  Algorithme, début, si, sinon, fin, répéter, entier, réel, …  De même : certains opérateurs ne peuvent pas être utilisés dans l’identificateur  #, les opérateurs arithmétiques (+,*,-,/), … 37 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes Exemple 1 : Quels sont les identificateurs valides ? sucre_vanille Oui Température Non lettre accentuée _chocolat_au_lait Oui Convertir-en-euro Non opérateur arithmétique additionner_2_nombres Oui 2par2 Non premier caractère est un chiffre 38 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes Types : Entier :  une variable est dite entière si elle prend ses valeurs dans Z ,  les opérations possibles sont les suivants : +, -, *, /,Div, mod, Réel :  une variable est dite réelle si elle prend ses valeurs dans R,  les opérations possibles sont les suivantes : +, -, *, /, 39 Algorithmique & programmation I / [GCH] L’Algorithme Déclarations de Variables et de constantes Types :  Caractère :  Un caractère sera toujours noté entre des apostrophes (ex.: ‘5’). Une apostrophe sera notée : ‘’’ ,  les opérations possibles sont : =,, ≤, , ≥ ,  L’ordre est le suivant : ‘ ‘

Use Quizgecko on...
Browser
Browser