Département d’informatique et de génie logiciel Professeur : Clermont Dupuis
Université Laval Bureau : 3976
IFT-21937 Introduction à l’algorithmique et à la programmation
Examen sur 35
Date : 19 octobre 2006 Aucune documentation permise.
Question # 1. (2 points)
(i) Vous partez de la ville de Québec pour vous rendre à la ville de Montréal. Chaque
pas que vous faites vous permet de franchir la moitié de la distance qui vous reste
à parcourir pour atteindre la ville de Montréal.
Votre stratégie pour vous rendre à la ville de Montréal correspond-elle à un
algorithme ? Expliquez.
Non, car cette stratégie donne lieu à un nombre infini d’opérations élémentaires.
(ii) Expliquez pourquoi une recette de cuisine ne correspond pas à un algorithme la
plupart du temps ?
Parce qu’un algorithme doit être une procédure non ambigüe. On retrouve souvent
dans une recette de cuisine des opérations qui laissent place à interprétation (par
ex., ajouter une à deux pincées de sel).
Question # 2. (2 points)
Afin de choisir l’algorithme le plus efficace pour résoudre un problème, nous pouvons
opter pour une approche théorique en effectuant une analyse en pire cas. Décrivez cette
approche théorique en pire cas et illustrez à l’aide d’un exemple concret.
Cette approche théorique consiste à calculer le nombre d’opérations élémentaires
nécessaires à l’algorithme pour résoudre le problème. En effectuant une analyse en pire
cas, il s’agit de calculer le # d’opérations élémentaires nécessaires à l’algorithme pour
résoudre le problème dans le pire cas (les données du problème où l’algorithme est le
plus coûteux).
Exemple : La recherche séquentielle d’un mot dans le dictionnaire en commençant notre
recherche à la première page du dictionnaire. La pire situation où l’algorithme
sera le moins performant intervient lorsque le mot recherché se trouve dans la
dernière page du dictionnaire.
Question # 3. (3 points)