REPUBLIQUE TUNISIENNE M MI IN NI IS ST TE ER RE E D DE E L L’ ’E EN NS SE EI IG

REPUBLIQUE TUNISIENNE M MI IN NI IS ST TE ER RE E D DE E L L’ ’E EN NS SE EI IG GN NE EM ME EN NT T S SU UP PE ER RI IE EU UR ET DE LA RECHERCHE SCIENTIFIQUES ET TECHNOLOGIQUES U UN NI IV VE ER RS SI IT TE E D DE E J JE EN ND DO OU UB BA A F FA AC CU UL LT TE E D DE ES S S SC CI IE EN NC CE ES S J JU UR RI ID DI IQ QU UE ES S, , E EC CO ON NO OM MI IQ QU UE ES S E ET T D DE E G GE ES ST TI IO ON N D DE E J JE EN ND DO OU UB BA A Fascicule de Travaux Dirigés Algorithmique et structures de données I Adressé aux étudiants de 1ère année Licence Fondamentale en Informatique Appliquée à la Gestion Equipe pédagogique : Riadh IMED FEREH Riadh BOUSLIMI Maître de conférences en Informatique Technologue en Informatique Année Universitaire : 2006-2007 2/36 PRÉFACE Ce fascicule des travaux dirigés d’algorithmique et structures de données est à l’intention des étudiants de la première année en Licence en Informatique Appliquée à la Gestion de la Faculté des Sciences Juridiques, Économique et de Gestion de Jendouba. Le fascicule comporte 6 TD avec leurs corrections qui sont réparties comme suit : TD1 : Les actions élémentaires simples TD2 : Les structures conditionnelles TD3 : Les structures itératives TD4 : Les chaines de caractères TD5 : Les sous-programmes TD6 : Les tableaux L’objectif principal est de faire apprendre aux étudiants à résoudre un problème. Nous avons introduit dans le TD1 toutes les structures de données qui vont être les objets de manipulation de toutes les définitions de contrôle qui suivront. Quant aux structures de contrôle, nous les avons développées séparément dans deux travaux dirigés (TD2 et TD3). Nous commencerons par des exercices sur les structures simples, puis les structures conditionnelles et enfin les structures itératives. Ces trois travaux dirigés nous permettrons de manipuler les chaines de caractères qui seront notre TD4. Nous traiterons dans ce TD les programmes généralement posés afin que l’étudiant sera capable de résoudre des problèmes qui leurs ressembles. Ces outils nous permettront par la suite d’aborder les fonctions et les procédures. En effet, les sous-programmes sont la base de la programmation pour simplifier l’écriture d’un programme et lui rendre plus lisible. Nous terminons à la fin par le TD5 qui sera consacré pour les tableaux et les traitements avances et on verra dans ce dernier les algorithmes de recherche et les algorithmes de tri. Avant d’assister à la séance de TD, chaque étudiant doit préparer sérieusement le TD se rapportant à la manipulation qu’il va effectuer et ce à l’aide du cours. Enfin, nous espérons que le présent ouvrage aura le mérite d’être un bon support pédagogique pour l’enseignant et un document permettant une concrétisation expérimentale pour l’étudiant. Les auteurs Riadh IMED Fareh Riadh BOUSLIMI 3/36 F FI IC CH HE E M MA AT TI IÈ ÈR RE E Objectifs généraux Il s'agit d'une série de travaux dirigés d'algorithmique et structures de données I. Ils ont pour but de : – Apprendre à concevoir des algorithmes efficaces indépendamment des langages ou environnements d’exécution. étudier les types de données et leurs utilisations courantes, à l’aide d’algorithmes adaptés et optimisés. – Acquérir des Bases algorithmiques (affectation, entrées - sorties, structures conditionnelles, structures itératives et boucles), notion d’emplacement mémoire (Tableaux), procédures, fonctions, passage des paramètres, recherche, tris. Pré-requis Architecture des ordinateurs Public-cible Ces travaux dirigés sont destinés essentiellement aux étudiants de la première année licence fondamentale en informatique appliquée à la Gestion, semestre1 Volume horaire Ce cours de ce module est présenté, de manière hebdomadaire, comme suit: - 1h30mn de cours - 1h30mn de Travaux dirigés pour chaque groupe Soit en total : 42h Moyens pédagogiques - Tableau - Salle de TD - Polycopies des Travaux dirigés Evaluation - Coefficient : 1.5 - Note du contrôle continu : 30% - Note d'examen : 70% 4/36 T Ta ab bl le e d de es s m ma at ti iè èr re es s TD n° 1(Les actions élémentaires simples) ............................................................................. 5 Correction du TD 1 .................................................................................................................. 7 TD n° 2(Les structuress conditionnelles) ............................................................................... 9 Correction du TD 2 ................................................................................................................ 10 TD n° 3(Les structures itératives) ......................................................................................... 12 Correction du TD 3 ................................................................................................................ 14 TD n° 4(Les chaînes de caractères) ....................................................................................... 19 Correction du TD 4 ................................................................................................................ 20 TD n° 5(Procédures et fonctions) .......................................................................................... 23 Correction du TD 5 ................................................................................................................ 24 TD n° 6(Les Tableaux) ........................................................................................................... 27 Correction du TD 6 ................................................................................................................ 28 Bibliographie ........................................................................................................................... 36 5/36 TD n° 1 (Les actions élémentaires simples) Objectifs  Connaitre le vocabulaire de base de programmation (constante, variable, expression,...)  Comprendre la démarche de programmation  Comprendre les actions algorithmiques simples  Connaitre la structure générale d'un algorithme Exercice 1 1. Quel est l’ordre de priorité des différents opérateurs de l’expression suivante : ((3 * a) – x ^ 2) – (((c – d) / (a / b)) / d) 2. Evaluer l’expression suivante : 5 + 2 * 6 – 4 + (8 + 2 ^3) / (2 – 4 + 5 * 2) 3. Ecrire la formule suivante sous forme d’une expression arithmétique : z x ac xy − − − 2 4 ) 3 ( 2 Exercice 2 Sachant que a = 4, b = 5, c = -1 et d = 0, évaluer les expressions logiques suivantes : 1. (a < b) ET (c >= d) 2. NON (a < b) OU ( c # b ) 3. NON (a # b ^ 2) OU (a * c < d)) Exercice 3 Donner toutes les raisons pour lesquelles l'algorithme suivant est incorrect : Algoritme Incorrect x,y : Entier z : Réel Début z  x + 2 y  z x * 2  3 + z y  5y + 3 Fin. Faculté des Sciences Juridiques, Economiques et de Gestion de Jendouba Année Universitaire : 2006/2007 – Semestre 1 Module : Algorithmique et structures de données I Classe : 1ère LFIAG Enseignants: Riadh IMED FEREH & Riadh BOUSLIMI 6/36 Exercice 4 Ecrire un algorithme qui lit deux entiers au clavier et qui affiche ensuite leur somme et leur produit. Exercice 5 Ecrire un algorithme qui calcule et affiche la résistance d'un composant électronique en utilisant la loi d'Ohm : U : Tension en V U = R x I avec R : Résistance en Ω I : Intensité en A 7/36 Correction du TD 1 Exercice 1 1. ((3 * a) – x ^ 2) – (((c – d) / (a / b)) / d) 1 3 2 8 4 6 5 7 2. 5 + 2 * 6 – 4 + ( 8 + 2 ^ 3) / ( 2 - 4 + 5 * 2) = 15 3. (( 3 – x * y) ^ 2 – 4 * a * c) / (2 * x – z) Exercice 2 1. Faux 2. Vrai 3. Faux NB : le résultat d'une expression logique est toujours Vrai ou Faux. Exercice 3 1 2 3 4 5 6 7 8 9 10 Algoritme Incorrect x,y : Entier z : Réel Début z  x + 2 y  z x * 2  3 + z y  5y + 3 Fin. Cet algorithme est incorrect pour plusieurs raisons:  Ligne 1 : le mot Algorithme s'écrit avec un "h" au milieu.  Ligne 2 : la déclaration des variables commence par le mot "Var".  Ligne 5 : la valeur de x est indéterminée.  Ligne 6 : incompatibilité de type (un réel affecté à une variable de type entier).  Ligne 7 : le membre gauche d'une affectation doit être une variable.  Ligne 8 : il faut écrire 5 *y et non 5y. 8/36 Exercice 4 : calcul de la somme et du produit de deux entiers Algorithme Som_Prod Var a , b , s , p : Entier Début Ecrire("Entrer la valeur de a="), Lire(a) Ecrire("Entrer la valeur de b="), Lire(b) s  a + b p  a * b Ecrire("Somme=",s) Ecrire("Produit=",p) Fin. Exercice 5 : calcul de la résistance d'un composant électrique Algorithme Résistance Var U, I , R : Réel Début Ecrire("Entrer la tension="), Lire(U) Ecrire("Entrer l'intensité="), Lire(I) R  U / I (* on suppose toujours I # 0 *) Ecrire("Résistance =",R," Ohms") Fin. 9/36 TD n° 2 (Les structures conditionnelles) Objectif  Construire des algorithmes comportant des traitements conditionnels. Exercice 1 Ecrire un algorithme qui calcule et affiche la valeur absolue d'un entier quelconque lu au clavier. Exercice 2 Ecrire un algorithme qui calcule et affiche si la valeur d'un entier quelconque lu au clavier est paire ou impaire. Exercice 3 Ecrire un algorithme permettant de résoudre dans R une équation du second degré de la forme ax2+bx+c=0. Exercice 4 uploads/Ingenierie_Lourd/ algorithmique-et-structures-de-donnees-i-pdf.pdf

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