Você está na página 1de 7

Algorithmique et programmation [aa]

Point dentre, 16 dcembre 2010 e e

Table des mati`res e


1 Avertissement 1.1 Avertissement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Congurations des navigateurs . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Dnitions et concepts : Approche informelle e 2.1 Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Programmation (diaporamas de cours) . . . . . . . . . . . . . . . . . . . 3 Algorithmique et Programmation imprative e 4 Outils et mthodes e 5 Espaces thmatiques e 6 Le langage algorithmique 7 Glossaire gnral e e 8 Outils de dveloppement e 9 Rfrences gnrales ee e e 2 2 2 2 3 3 3 3 3 4 4 4 4 5

Unisciel algoprog aa00cours, December 16, 2010

1
1.1

Avertissement
Avertissement

Lensemble des modules prsente le langage algorithmique et ses applications concr`tes e e dans le langage Pratiquer lAlgorithmique et le langage de programmation C++. Pour linstallation et lutilisation dun environnement de dveloppement, reportez-vous a e ` Outils de dveloppement . e Nous avons recherch a raliser un instrument de travail complet. e` e La division Dnitions et concepts est une approche informelle de ce quest e lalgorithmique. Une lecture linaire de la division Axiomatique imprative permet de dcouvrir e e e dans un ordre logique le langage algorithmique et ses traductions dans les divers langages de programmation. Une seconde lecture consiste en des retours sur certains points qui posent des probl`mes lors de lutilisation du langage. Une troisi`me e e lecture est indispensable apr`s quelques mois de pratique : une redcouverte syste e e matique permet de consolider les bases. La division Espaces thmatiques est un ensemble de modules dont les contenus e sont classes par th`mes. La lecture de ces modules est enti`rement libre. Il est e e e cependant indispensable de ma triser le module Algorithmes paramtrs pour e e raliser un exercice de cette division. e Chaque module comporte de nombreux exercices. Il est conseill de les rsoudre. Cela e e signie quil ne faut pas commettre lerreur de regarder immdiatement la solution proe pose. Ces exercices sont prsents non pour tre lus ou relus mais pour tre rsolus. En e e e e e eet, la lecture ne sert rigoureusement ` rien si elle na pas t accompagne dau moins a ee e quelques minutes de recherche. De nombreux tests dauto-valuation, de questions de rexion et dexercices dapplie e cation du module viennent complter les exercices dentra e nement, dapprofondissement, de synth`se et les sujets de travaux pratiques. e

1.2

Congurations des navigateurs

Attention Prfrez les navigateurs FireFox ou Safari qui vous permettent une viee sualisation sans probl`me. e Pour congurer votre navigateur an de tlcharger les solutions : ee FireFox : menu Outils > Options > Applications Safari : menu Editions > Prfrences > Gnral ee e e

1.3

Contacts

Porteur de projet karine.zampieri@uha.fr Auteur beatrice.amerein-soltner@uha.fr Auteur stephane.riviere@uha.fr

Unisciel algoprog aa00cours, December 16, 2010

2
2.1

Dnitions et concepts : Approche informelle e


Algorithmique
Lalgorithmique / al00macours1

2.2

Programmation (diaporamas de cours)

Lactivit de programmation / al01pgtion.pdf e Les types de programmation / al02typrg.pdf

Algorithmique et Programmation imprative e

Introduction
Cette division dnit laxiomatique de lalgorithmique imprative et sa traduce e tion pour lcriture des programmes dans les divers langages. Dans le cas de la dcouverte, e e les modules sont a raliser selon lencha ` e nement linaire dni, ` savoir : e e a 1. les structures de base, 2. les structures conditionnelles, 3. les algorithmes paramtrs, e e 4. les structures rptitives, e e 5. le schma itratif, e e 6. les tableaux. Dans chaque module, La section de Cours contient les deux parties Algorithmique et Programmation . Dans chacune, le Cours est le contenu expositif, les Autovaluations sont classies par grain de cours et les parties Apprhender / e e e Appliquer / Approfondir le cours consiste en de petits exercices (gnralement e e une question par exercice) appliquant les notions du cours. La section des Exercices contient les deux parties Exercices dapprentissage et Exercices dapprofondissement . Tout exercice est dcompose en sa solution e e algorithmique et sa traduction dans les divers langages applicatifs. La section Exercices thmatiques contient les renvois sur les Exercices et e Sujets de TP de la division Espaces thmatiques . e

Outils et mthodes e
Cette division dnit les outils et les mthodes de lalgorithmique, a savoir : e e ` e 1. Elments de logique 2. Preuve et Notations asymptotiques 3. Rcursion et itration e e

Introduction

Unisciel algoprog aa00cours, December 16, 2010 4. Complexit des algorithmes e 5. Diviser pour rgner e

Espaces thmatiques e

Introduction
Cette division contient un ensemble de modules, chacun deux tant constitu dune e e section Exercices contenant les parties Exercices et Exercices de TP . Lencha nement des modules est totalement libre c.-`-d. sans ordre dni. Rappel : pour raliser a e e un exercice de cette division dans de bonnes conditions, il est indispensable de ma triser le module Algorithmes paramtrs . e e Liste des modules : Calculs Combinatoire Dates et Heures Gomtrie e e Calculs numriques e Recherches Simulations Structuration de linformation Thorie des nombres e Tris et Rangs

6 7 8

Le langage algorithmique Glossaire gnral e e Outils de dveloppement e

Environnements de dveloppement C++ e


Code : :Blocks Environnement de dveloppement gratuit et multi-plateforme (Linux e et Windows) http://www.codeblocks.org/ Version 10.05 (Mai 2010) wxdevcpp Environnement de dveloppement gratuit (Windows) Int`gre wxWidgets e e http://wxdsgn.sourceforge.net/ Version 7.3.1 (Fvrier 2010) e

Outils de documentation
doxygen Gnration de la documentation C++, C, Java, Python, etc. multi-plateforme e e http://www.stack.nl/~dimitri/doxygen/ Version 1.7.2 (Octobre 2010) Graphviz Graph Visualization Software Complment a doxygen an de gnrer les e ` e e graphes de dpendances Voir documentation doxygen e http://www.graphviz.org/

Unisciel algoprog aa00cours, December 16, 2010

Rfrences gnrales ee e e

Grammaire, Automates, Compilation


@Bookaho1977a, author = Aho A.V., Ullmann J.D., title = Principles of Compiler Design, publisher = Addison Wesley, ISBN = 978-0201000221, year = 1977 @Bookgross1967a, author = Gross M., Lentin A., title = Notions sur les grammaires formelles, publisher = Gauthiers-Villars, year = 1967,

Complexit et preuves de programmes e


@Bookbrassard1987a, author = Brassard G., Bratley P., title = Algorithmique, conception et analyse, publisher = Masson, ISBN = 2-225-80944-5, year = 1987 @Bookwilf1989a, author = Wilf H.S., title = Algorithmes et complexit, publisher = e Masson, ISBN = 2-225-81701-4, year = 1989, edition = Anglais, Algorithms and complexity, Prentice-Hall,

Programmation structure et algorithmique e


@Bookaho1993a, author = Aho A.V., Ullmann J.D., title = Concepts fondamentaux de linformatique, publisher = Dunod, ISBN = 2-10-001683-0, year = 1993, note = Bestseller mondial. Fortement recommand pour toutes les mati`res du centre informatique. e e @Bookarsac1983a, author = Arsac J., title = Bases de la programmation, publisher = Dunod, year = 1983, edition = Traduit en anglais et en espagnol, note = Ouvrage didactique @Bookcourtin1998a, author = Courtin J., Kowarsky I., title = Initiation ` lalgoritha mique et aux structures de donnes, publisher = Dunod, year = 1998, note = 2 volumes e - Nombreux exercices avec corrections - Etudes de cas @Bookgoldschlager1989a, author = Goldschlager, Lister, title = Informatique et algorithmique, publisher = InterEditions, ISBN = 2-7296-0127-9, year = 1989, note = Aspects fondamentaux de la science informatique @Bookgregoire1986a, author = Grgoire, title = Informatique-Programmation, publisher e = Masson, year = 1986, note = T1 La programmation structure T2 La spcication e e rcursive et lanalyse dalgorithmes T3 Exercices et corrections e @Bookharo2009a, author = Haro C., title = Algorithmique, Raisonner pour concevoir, publisher = Eni-Editions, ISBN = 978-2-7460-4844-7, year = 2009 (1e dition), e

Structures de donnes et Algorithmes e


@Bookbaynat2010a, author = Baynat B., title = Exercices et probl`mes dalgorithe mique, publisher = Dunod, ISBN = 978-2-10-054991-7, year = 2010 (3e dition), note = e 155 noncs avec solutions dtailles Tr`s bon complment de [Lalgorithmique, Core e e e e e men2010a] @Bookcormen2010a, author = Cormen T.H., Leiserson C.E., Rivest R.L., Stein C., title = Algorithmique, publisher = Dunod Informatique, ISBN = 2-10-003922-9, year = 2010 (3e dition), type = Algorithmique fondamentale, note = Cours avec 957 exercices et 158 e

Unisciel algoprog aa00cours, December 16, 2010

probl`mes Complments en ligne www.dunod.com e e @Bookfroidevaux1990a, author = Froidevaux Ch., Gaudel M.-C., Soria M., title = Types de donnes et algorithmes, publisher = McGraw-Hill, year = 1990, note = Algorithmique e fondamentale Pseudo-code @Bookknuth1973a, author = Knuth D., title = The art of computer programming, publisher = Addison Wesley, year = 1973, type = 3 volumes, note = Ouvrages de rfrence ee @Bookneapolitan2003a, author = Neapolitan R., Naimipour K., title = Foundations of Algorithms - Using Java Pseudo-code, publisher = Jones and Bartlett Publishers, ISBN = 0-7637-2129-8, year = 2003

Programmation C++
@Bookdeitel2001a, author = Deitel H.M., Deitel P.J., title = C++ Comment programmer, publisher = Reynald Goulet Inc., ISBN = 2-89377-290-0, year = 2001 (4e dition), type = Apprentissage du langage et de la programmation, edition = Anglais, e sous le titre C++ How to Program, Prentice Hall, 2001, note = Nombreux exercices (non corrigs) et self-tests ; large couverture du langage ; la 4e dition aborde des sujets e e tr`s diversis (UML, XHTML, CGI, etc.) e e @Bookhortmann2004a, author = Hortmann C.S., Budd T., title = La bible C++, publisher = Micro-Application, ISBN = 978-2-7429-3717-2, year = 2004 (1e dition), note = e Complments sur www.microapp.com Site de lauteur http://www.horstmann.com/ e @Bookstroustrup2010a, author = Stroustrup B., title = Programmation - Principes et pratique avec C++, publisher = Pearson Education, ISBN = 978-2-7440-7442-4, year = 2010 (dition spciale), type = Prsentation du langage, edition = Anglais, The C++ e e e Programming Language, Addison-Wesley, 2000, school = Dcouverte du C++ pour proe grammeur conrm, note = Ouvrage de rfrence du langage C++ Ecrit par le crateur e ee e du langage. Contient des informations intressantes, des exemples de design, de tr`s nome e breux exercices (avec niveaux) Acc`s aux ressources sur http://www.programmation. e stroustrup.pearson.fr/

Programmation Java
@Bookdeitel2002b, author = Deitel H.M., Deitel P.J., title = Java - Comment Programmer, publisher = Reynald Goulet Inc., ISBN = 2-89377-254-4, year = 2002 (4e dition), type = Apprentissage du langage et de la programmation, edition = Anglais, e sous le titre Java How to Program, Prentice Hall, note = Nombreux exercices (non corrigs) et self-tests ; large couverture du langage e @Bookdelannoy2010a, author = Delannoy C., title = Programmer en Java, publisher = Eyrolles, year = 2010 (6e dition), edition = Franais, note = Dbutant en Java, proe c e grammeur, peu expriment. Accompagn dun DVD e e e @Booktasso2009a, author = Tasso A., title = Le livre de Java premier langage, publisher = Eyrolles, year = 2009 (6e dition), note = 90 exercices corrigs et CD-Rom Best-seller e e pour tudiants e

Unisciel algoprog aa00cours, December 16, 2010

Olympiades Informatique Algorithmique


@BookIOI-olympiades, title = International Olympiad in Informatics, publisher = Site ociel des IOI http://www.ioinformatics.org/index.shtml Site ociel de la dlgation franaise http://www.france-ioi.org/ ee c Site ociel de la dlgation belge http://uclouvain.acm-sc.be/olympiades , note = ee Est une comptition annuelle en sciences informatiques (algorithmique) rassemblant des e lycens du monde entier. e @BookACM-ICPC, title = ACM International Collegiate Programming Contest, publisher = http://cm.baylor.edu/welcome.icpc, note = Concours annuel de programma` tion ouvert aux tudiants. A lorigine amricain, il rassemble aujourdhui des universits e e e du monde entier.