Séances 1 et 2 : Raisonner sur les états (2*1h30 = 3h) TD optionnel de rédaction d algorithmes. Objectifs

Documents pareils
Architecture des Systèmes d Information Architecture des Systèmes d Information

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Définitions. Numéro à préciser. (Durée : )

Chap III : Les tableaux

Introduction à MATLAB R

Conventions d écriture et outils de mise au point

Projet Active Object

Travaux Dirigés n 1 : chaînes de caractères

PROJET ALGORITHMIQUE ET PROGRAMMATION II

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Indications pour une progression au CM1 et au CM2

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

UE Programmation Impérative Licence 2ème Année

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Algorithmes récursifs

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Bases de données documentaires et distribuées Cours NFE04

Cours Informatique Master STEP

Demande d admission au Centre pédagogique Lucien-Guilbault Secteur primaire

1 Description générale de VISFIELD

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Algorithmique et structures de données I

Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD!

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

multiplicité des médias sociaux, l explosion du l évolution des comportements des consommateurs.

SCIENCES POUR L INGENIEUR

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Algorithmique, Structures de données et langage C

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Les documents primaires / Les documents secondaires

Licence de langues, littératures et civilisations étrangères (LLCE)


Cours TD TP EC UE EC UE CC Mixte Introduction aux sciences de. 3 Environnement. 4 l'administration et de. Anglais 28 2

LA BATTERIE DU PORTABLE

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

UE C avancé cours 1: introduction et révisions

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Python - introduction à la programmation et calcul scientifique

MANUEL D UTILISATION DE LA SALLE DES MARCHES APPEL D OFFRES OUVERT ACCES ENTREPRISES. Version 8.2

de calibration Master 2: Calibration de modèles: présentation et simulation d

Créer le schéma relationnel d une base de données ACCESS

ARBRES BINAIRES DE RECHERCHE

1 Recherche en table par balayage

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

1 - Se connecter au Cartable en ligne

Qualité du logiciel: Méthodes de test

Plan du cours. Historique du langage Nouveautés de Java 7

Initiation à la programmation en Python

L optimisation d une PowerBoutique pour le référencement

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Céline Nicolas Cantagrel CPC EPS Grande Section /CP Gérer et faciliter la continuité des apprentissages

Les utilisations pédagogiques du Tableau Numérique Interactif (TNI) dans l enseignement d Économie-Gestion :

Programmes des classes préparatoires aux Grandes Ecoles

Mise en place d un intranet de travail collaboratif. Guide utilisateur

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Bases de programmation. Cours 5. Structurer les données

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Fonctions homographiques

Comment rédiger r une bibliographie? BULCO-Méthodologie documentaire-bibliographie-2010

Représentation des Nombres

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

TP : Gestion d une image au format PGM

Bernard HAMM, Évelyne LAVOISIER

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

UNIVERSITE DE TOULON UFR FACULTE DE DROIT REGLEMENT D EXAMEN ANNEE 2012/2017 LICENCE DROIT MENTION DROIT GENERAL

Système binaire. Algèbre booléenne

Référentiel d'activités professionnelles et référentiel de certification Diplôme d'état de professeur de musique

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Pas d installations ou d équipement particuliers.

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Normes et description. des ressources continues et données d autorité Analyse de l information Recherche documentaire : méthodes et outils

Année Universitaire ère année de Master Droit Mention Droit Privé 1 er semestre. 1 er SEMESTRE 8 matières CM TD COEFF ECTS.

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Initiation à l algorithmique

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Une situation d'apprentissage du lexique en MS Les activités gymniques

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Autres solutions de contrôle à distance d utilisation gratuite

Algorithmique et programmation : les bases (VBA) Corrigé

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

LES OUTILS DU TRAVAIL COLLABORATIF

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

MASTER LPL : LANGUE ET INFORMATIQUE (P)

Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie

«Vous éditez, nous archivons!»

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

SYSTÈME DE GESTION DE FICHIERS

Plateforme de capture et d analyse de sites Web AspirWeb

MODE OPERATOIRE CIEL GESTION COMMERCIALE VERSION EVOLUTION BTS PME PMI

Transcription:

Licence Sciences et Technologies (2009-2010) - Informatique L2, UE DDINF231 - Sujets de travaux dirigés Catherine Parent-Vigouroux, Pierre-Claude Scholl - Août 2009 Les numéros d exercices font référence au polycopié. On donne ci-dessous les exercices étudiés en séance ; les autres sont suggérés comme travail personnel à la maison (certains peuvent avoir été traités en cours). La production d algorithmes doit inclure l étude de leurs propriétés (correction, dénombrement d opérations) et l observation de leur comportement pour des exemples significatifs (savoir identifier les cas pertinents, corrects ou incorrects). Une attention particulière doit être portée à la production écrite des étudiants : chacun devrait rendre deux ou trois exercices rédigés dans la période. En règle générale, ces exercices sont rendus annotés d une semaine sur l autre. Les étudiants doivent respecter la notation algorithmique et toujours accompagner un compte-rendu d algorithme d un lexique et de commentaires pertinents. Le lexique doit être décrit avec précision (contraintes sur les types, rôle des variables). TD optionnel de rédaction d algorithmes En complément des cours, travaux dirigés et travaux pratiques réguliers, les étudiants peuvent participer à des travaux dirigés optionnels en petits groupes. Chaque étudiant y bénéficie d un soutien individualisé autour de la rédaction d algorithmes : selon ses besoins, l accent est mis sur le "démarrage" d une solution et l expression de son principe, sur le lien avec les exemples du cours et les exercices faits en TD, sur l utilisation des techniques données en cours, sur la bonne application des notations et la compréhension des concepts sous-jacents,... D une séance à la suivante, les rédactions rendues par les étudiants sont annotées par l enseignant puis commentées : les erreurs et imperfections sont mises en relation avec ce qui aurait du être déjà assimilé en cours et en TD. Séances 1 et 2 : Raisonner sur les états (2*1h30 = 3h) Spécifications, assertions : compréhension des notions et utilisation (pré et post-conditions, raisonnement sur les états). Itérations : rappels et introduction de la notion d invariant d itération. Tableaux : rappels. Installation d une ambiance de travail régulier entre les séances, fondé sur l étude du cours et sur la production écrite. C. Parent-Vigouroux, P.-C. Scholl - août 2009 page 1

Séance 1 : états, assertions, spécifications Distribution des chapitres 1 et 2 du polycopié. Prise de contact, présentations ; méthodes de travail ; contrôle continu ; question de cours en début de chaque séance de TD. Inciter les étudiants à travailler régulièrement hors séance : lire les éléments de cours, étudier les exemples d exercices rédigés et traiter quelques exercices. E1.8 "A propos d échanges" : travail sur les pré et post-conditions, la description d états intermédiaires, le statut des paramètres. Dans l écriture des assertions, bien distinguer la partie désignant les valeurs des variables, de la partie spécifiant une propriété. E1.15 "Somme des chiffres d un entier" : exemple type important. Travail sur itération, invariant. Ne pas traiter Q4 en séance. Cet exercice est programmé en TDE2. E1.9 "Classement de trois valeurs" : raisonnement sur les états. Exercice préparé en cours par l exemple E1.3. E1.13 "Algorithme mystère 3" : travail sur les preuves de terminaison, de correction partielle, sur le dénombrement d opérations. Préparation des TDE : "Machine tracés", E1.18 "Composition de dessins formés d un ensemble de carrés" : préparation de la séance de TDE1. Travail sur le respect des spécifications lors d une réalisation. Utilisation de diverses formes de composition itérative. E1.14 "Les trois plus grandes valeurs" : construction du corps d une itération à partir d un invariant ; analyse par cas. Cet exercice est programmé en TDE1 ou TDE2. E1.19 "Les rayons" et E1.20 "tracé de segments" : pour continuer la mise en train avec d autres tracés. Ces exercices doivent être programmés et rendus. Séance 2 : invariants, itérations sur les tableaux E2.6 "A propos de sommes d entiers" : travail de recherche d erreurs ; travail sur la notion d invariant. E2.10 "Matrices carrées symétriques" : composition de schémas, analyse quantitative. Si le temps manque, ne pas traiter la version 2 de Q3 (linéarisation de la matrice). complément du cours et des TD : inciter les étudiants à faire au moins l exercice E2.7. E2.7 "Recherche dans un tableau" : existence d un élément vérifiant une propriété donnée, sous forme d un parcours ou d une recherche avec arrêt dès que possible. E2.9 "Algorithme mystère" : observation d un algorithme, recherche d un invariant d itération permettant de déterminer l effet. E2.10 "Matrices carrées symétriques" : terminer. Préparation des TDE, E1.21 "Tricot" : cet exercice doit être programmé et rendu. C. Parent-Vigouroux, P.-C. Scholl - août 2009 page 2

Séances 3 et 4. Séquences et tableaux (2*1h30 = 3h) Savoir équilibrer l activité de programmation entre la rédaction d algorithmes et l examen de leurs propriétés. Apprendre à exprimer le principe de solutions à un niveau d abstraction adéquat. S approprier des schémas itératifs de base : savoir identifier une classe de problèmes et appliquer un schéma itératif associé. Savoir démontrer qu une propriété est un invariant d itération ; savoir exploiter un invariant pour démontrer une propriété à l issue d une itération. Savoir utiliser des spécifications (bibliothèque de primitives) Séance 3 : Représentation contiguë d une séquence Les étudiants doivent connaître le lexique définissant une séquence sous forme contiguë avec longueur explicite (question de cours), et comprendre la différence entre traitement d un tableau et traitement d une séquence représentée dans un tableau (beaucoup d erreurs dans les examens sur ces questions). E2.12 "Représentation contiguë avec longueur explicite" : pour aborder la représentation contiguë (lexique général) et travailler sur le schéma de recherche. E2.15 "Partition d une séquence d entiers" : gestion de deux séquences dans un même tableau ; algorithme d insertion d un élément dans une séquence triée et notamment décalage. Travail sur la notion d invariant. complément du cours et des TD : E2.13 "Suppression des espaces dans un texte" : exemple type important dont l étude est préparée en cours (exemple "Suppression des zéros"). E2.15 "Partition d une séquence d entiers" : terminer. Préparation des TDE 3 et 3bis : E2.4 "Tri par sélection du minimum" : lecture avant programmation. E2.22 "Gestion d une bibliothèque" : lecture des documents distribués en cours 5. Séance 4 : Indirection E2.14 "Afficher en ordre sans trier" : exercice de synthèse autour d un travail sur l indirection. complément du cours et des TD : E2.19 "Opérations ensemblistes" : représentation d un ensemble à l aide d un vecteur de booléens (traité en cours mais non repris en TD). Préparation des TDE : E2.22 "Gestion d une bibliothèque" C. Parent-Vigouroux, P.-C. Scholl - août 2009 page 3

Séances 5 à 9. Séquences et chaînage (5*1h30 = 7h30) Acquérir les techniques de chaînage, à base de pointeurs ou d indices dans des tableaux. Apprendre à raisonner sur les listes chaînées en faisant abstraction de la représentation des liens. Maîtriser l indirection. Renforcer la maîtrise des schémas de traitement séquentiel. Renforcer la démarche de résolution de problèmes par niveaux d abstraction successifs. Séance 5 : Principe de la représentation chaînée distribution du chapitre 3 du polycopié. E3.10 "Compréhension de la représentation chaînée" : concrétisation de la mémoire à l aide d un tableau et observation de l état de la mémoire lors de la construction d une liste chaînée (sans algorithme) ; travail sur les notations. E3.11 "Itérations simples sur les listes chaînées" : algorithmes de base fréquemment utilisés. Ils doivent être connus des étudiants. On y retrouve les schémas itératifs dans une nouvelle représentation (schémas présentés au cours suivant). Ces algorithmes sont programmés en TDE6. complément du cours et des TD : E2.21 "A propos de permutations" : travail sur l indirection. Les algorithmes demandés sont des applications des schémas de traitement séquentiel. Les difficultés sont liées à ce que l on atteint les informations par indirection. La modification de l algorithme de tri fourni au départ doit être faite en conservant son principe et sa structure (et non en reprenant l étude dès le début). Préparation des TDE : E2.22 "Gestion d une bibliothèque" : étudier les algorithmes avant les séances sur machine. Séances 6 à 9 : Listes chaînées séances 6 et 7 E3.11 "Itérations simples sur les listes chaînées" : à terminer. E3.12 "Construction d une liste chaînée", E3.13 "Partition d une séquence" : application des principes de construction vus en cours dans l exemple E3.2 (primitives d ajout, raisonnement à partir de dessins, allocation). Le cas échéant, ne pas faire la question Q3 de E3.13 (généralisation). L exercice E3.13 est programmé en TDE 7. séance 8 rendre le partiel et commenter ; rappeler le DS. E3.14 "Suppression du premier élément de valeur donnée" : Travail sur la suppression dans une liste chaînée et la notion d élément fictif. A faire absolument en séance. Exercice programmé en TDE8. E3.21 "Matrices creuses" : présentation du sujet programmé à partir du TDE8bis. Etude de la représentation proposée à l aide d exemples. séance 9 E3.15 "Concaténation" : construction de listes par ajouts en queue. C. Parent-Vigouroux, P.-C. Scholl - août 2009 page 4

E3.20 "Gestion d un répertoire téléphonique" : synthèse sur le traitement de listes chaînées (traitement séquentiel, opérations de mise à jour). Il n est pas nécessaire de traiter en séance l ensemble des primitives de la question Q3. E3.12 "Partition d une séquence" : à terminer le cas échéant avant le TDE 7. E3.20 "Gestion d un répertoire téléphonique" : à terminer. Préparation des TDE : E3.16 "Intersection d ensemble" : pour voir la différence des algorithmes selon que l on crée le résultat ou que l on modifie les données. Programmé en TDE 8. E3.21 "Matrices creuses" : préparation des TDE 8bis à 10. Séances 10 à 12. Composition récursive (3*1h30 = 4h30) Ecriture d algorithmes récursifs. Analyse récurrente Retour sur "spécification versus réalisation", "paramètres" Retour sur les représentations des séquences On s appuie sur trois thèmes : affichage de textes, traitement de séquences sous forme contiguë ou chaînée, tracé de dessins (le troisième thème est traité essentiellement en TDE). Séance 10 : affichages réalisés récursivement (analyse récurrente) distribution du chapitre 4 du polycopié. "Machine d affichage" : Présentation rapide des primitives. Renvoyer à une lecture plus précise des spécifications lors de la résolution des exercices. E4.11 "Un mot et son inverse" : rappeler les notations permettant de manipuler des valeurs de type séquence ([],., o, etc.). Séances 11 et 12 : traitement récursif de séquences rendre le DS et commenter. "E4.12 "Trace de l exécution d une action réalisée récursivement" : Présentation du thème "dessins récursifs" en vue du TDE 11. De plus, cet exercice est une bonne suite de l exercice E4.3 (séance précédente). "E4.18 "Opérations sur les séquences triées" : application directe du cours, mais aussi synthèse sur l ensemble des points traités dans l UE. Hors séance E4.18 "A propos de séquences triées" : terminer. E4.19 "Tri par interclassement". Préparation des TDE, E4.13 Arbres binaires, E4.15 "Etoiles", E4.17 "Répartition des éléments d une liste en deux listes" : programmés en TDE 11 et 12. C. Parent-Vigouroux, P.-C. Scholl - août 2009 page 5