Login

Algorithmique, Programmation (for MIS students) Description

Key Elements

Code

M1102

Formation

BS MISPCE (M: Mathematics, I: Computer Science, S: Statistics, P: Physics, C: Chemistry, E: Electronics)

Semester

2

Credits

6

Number of Teaching Hours

60

Number of Tutoring Sessions

0

Number of Laboratory Sessions

0

Content

Objective

L’objectif de ce module est d’initier les étudiants aux rudiments de la programmation impérative qui constitue un des paradigmes les plus efficaces de la programmation moderne. Ainsi, le thème de l’algorithmique sera abordé afin de préparer la suite du cours. En effet, un algorithme exprime la structure logique d’une solution à un problème donné et ce indépendamment de tout langage et de toute machine. L’algorithmique constitue une des étapes clés dans l’enseignement de la programmation. Ensuite, il s’agit de mettre en application les connaissances abordées en algorithmique à travers la maîtrise d’un langage de programmation. C’est précisément le propos de cette deuxième partie de ce module qui vise à doter les étudiants du bagage nécessaire pour maîtriser un langage de programmation donné, en l’occurrence le langage C qui est à la base de beaucoup d’autres. Nos objectifs se résument ainsi : - Apprendre les concepts de base de l'algorithmique - Etre capable de mettre en œuvre ces concepts pour analyser des problèmes simples. - Maîtriser les mécanismes d’abstraction afin de pouvoir analyser un problème et concevoir, de façon systématique, des algorithmes et des programmes corrects et adéquats. - Implémenter, moyennant le langage C, les algorithmes solutionnant un problème particulier. - Maîtriser les bases de la programmation modulaire.

Content

I. L’algorithmique - Introduction o Définitions et exemples o Cas particulier d’algorithme : le programme - La machine algorithmique o Description • Notion d’acteur : actions élémentaires o Le langage algorithmique • Structures de contrôle • Représentation des données • Instructions élémentaires • Composition d’instructions • Structure d’un algorithme - Méthode de développement par raffinages successifs o Approche descendante o Analogie avec d’autres domaines o Avantages et inconvénients o Exemples et exercices - Analyse d’un algorithme o Etat d’un algorithme o Notion de situation II. Les aspects classiques de la programmation impérative - Les éléments de base - Les déclarations - Les opérateurs - Les expressions - Les instructions - Les entrées/sorties élémentaires - La notion de tableau III. Données structurées - Les tableaux unidimensionnels - Les tableaux bidimensionnels - Les chaînes de caractères IV. Les sous-programmes - Définition d’une fonction - Appel de fonction - Passage de paramètres - Les variables locales - Les variables globales - La récursivité