Vous êtes sur la page 1sur 17

PROG R AMM E ET INSTRUC TIONS

OFFICIELLES

P O UR L E N S E I G N E M E N T D E

LINFORMATIQUE
Premire et deuxime annes des classes prparatoires
filires : MP, PSI et TSI
PREAMBULE
Les technologies de linformation et les sciences du numrique sont
aujourdhui utilises dans les diffrents secteurs dactivits et spcialement en
ingnierie. Aussi leur intgration dans le cursus des Classes Prparatoires aux
Grandes Ecoles (CPGE) est une ncessit pour prparer tous les lves leurs
futurs mtiers.
Ces technologies de linformation tant en perptuelle volution, le
programme denseignement relatif ces disciplines est amen aussi tre modifi
continuellement afin de sadapter cette volution permanente.
Ainsi, Le Ministre de lEducation Nationale entreprend rgulirement
dimportants efforts pour rviser les programmes dinformatique dans les classes
prparatoires marocaines. A cet effet, ce prsent guide a t labor pour permettre
de :
dfinir la nature et les caractristiques de linformatique en tant que
discipline denseignement en CPGE;
dlimiter le cadre et la vision du programme dinformatique en
C.P.G.E ;
indiquer les comptences dvelopper chez les apprenants;
fixer les finalits et les objectifs de chaque partie du programme;
prciser les approches pdagogiques servant de rfrence pour
prparer les activits dapprentissage relatives la discipline
informatique ;
prsenter le programme ainsi que la progression qui lui est attache;
proposer des exemples illustratifs des notions fondamentales de ce
programme
Suggrer quelques mthodes et moyens permettant lenseignant de
planifier, danimer et dvaluer les apprentissages des lves.
Conseiller des exercices et des exemples dapplications relatifs aux
diffrents lments de ce programme

Mars 2015 Page 1


SOMMAIRE

A- Contexte de la nouvelle rforme page 3

de linformatique en C.P.G.E

B- Capacits concernes page 4

C- Structure, objectifs et didactique page 5

du programme

D- Programme de la premire anne page 7

E- Programme de la deuxime page 14

anne

Mars 2015 Page 2


A- Contexte de la nouvelle rforme de linformatique en
C.P.G.E

Le programme dinformatique des classes prparatoire aux grandes coles


dingnieurs tient compte des volutions de lenseignement des sciences et
technologies du numrique dans lenseignement secondaire et les coles
dingnieurs.

Il vise doter les lves des CPGE de mthodes, doutils et de concepts


ncessaires la rsolution informatique dun problme donn. Ce problme peut
sappuyer sur les disciplines des mathmatiques, de la physique, de la chimie ou
des sciences industrielles.

Cette rsolution informatique est selon les cas soit la conception dun
algorithme qui peut tre traduit en programme informatique, soit lutilisation dun
logiciel de simulation numrique ou encore la gestion dune base de donnes.

L'lve devra savoir apprhender un problme simple du monde naturel pour


le traduire, l'implmenter en une solution informatique. Il devra se familiariser avec
diffrents concepts comme la faisabilit d'une solution donne, la prcision des
calculs numriques, l'efficacit d'un programme, etc.

Les lves devront suivre aussi bien une formation caractre thorique
qu'une formation caractre pratique.

Ce sont ces 3 aspects, savoir lalgorithmique et programmation, la


simulation numrique et la gestion des bases de donnes qui constituent le
fondement de ce programme denseignement dinformatique en CPGE dans les
filires MP, PSI et TSI.

Mars 2015 Page 3


B-Capacits et objectifs requises
Ce programme dinformatique, na pas vocation seulement dapprendre aux
lves les concepts lis au domaine des technologies de linformation mais aussi les
aider adopter des dmarches scientifiques et des approches appuyes sur des
raisonnement rigoureux conduisant aux solutions des problmes poss.

Ainsi, lenseignement de linformatique doit permettre de dvelopper chez les


lves les capacits et objectifs suivants :

- comprendre, analyser et modliser un problme ou une situation pouvant


tre trait par linformatique,
- adopter une dmarche de travail (dfinir le cahier de charge (les donnes,
les rsultats attendus, les traitements effectuer, ),
- comprendre un algorithme et expliquer son droulement et son rle,
- choisir les structures pouvant reprsenter les donnes dans la mmoire r
- dcouper le problme en plusieurs parties (modules),
- concevoir lalgorithme de rsolution relatif chaque module du problme
en spcifiant de faon rigoureuse et structure lensemble des tapes,
- mettre en pratique lalgorithme en le traduisant en programme laide dun
langage informatique,
- tester, vrifier et ventuellement corriger les algorithmes et les
programmes rsultants,
- valider la solution algorithmique par des jeux d'essais,
- exploiter les fonctionnalits et les performances quoffre un logiciel de
simulation numrique,
- grer et interroger une base de donnes,
- critiquer, modifier, les donnes manipules,
- spcifier les modules mis en uvre,
- valuer la complexit des diffrentes fonctions et des divers programmes
raliss.
La rsolution des problmes par une approche algorithmique procure aux
lves une rigueur, une capacit d'abstraction, un raisonnement et une logique, qui
sont les lments essentiels pour toute rsolution dun problme scientifique.

Ces capacits acquises, permettront leur intgration dans les autres


enseignements scientifiques ainsi que dans llaboration des travaux dinitiative
personnelle encadre (TIPE).

Mars 2015 Page 4


C- Structure, objectifs et mthodologie du programme

C-1/ Structure et organisation du programme


Le programme de linformatique des deux annes des CPGE scientifiques, est
organis en 6 parties, comme suit :

- Partie I : Gnralits et algorithmique de base

- Partie II: Algorithmique et programmation

- Partie III : Ingnierie numrique et simulation (partie 1)

- Partie IV : Introduction aux bases de donnes relationnelles

- Partie V : Algorithmique avanc et programmation

- Partie VI : : Ingnierie numrique et simulation (partie 2)

Les trois premires parties (partie I, II et III) seront dispenses durant la


premire anne alors que les trois dernires parties (partie IV ,V et VI) concerneront
la deuxime anne.

C-2/ Objectifs fixs


Lenseignement de linformatique aux CPGE vise plusieurs objectifs
permettant dinculper aux lves des outils et des mthodes ncessitant lapplication
des rgles de logique absolue et favorisant la rflexion, lanalyse et la synthse. Ces
capacits sont ncessaires pour rsoudre tout problme dordre scientifique.

Ainsi ce nouveau programme dinformatique, na pas vocation seulement


dapprendre aux lves les concepts lis au domaine des technologies de
linformation mais aussi les aider adopter des dmarches scientifiques et des
approches appuyes sur des raisonnement rigoureux conduisant aux solutions des
problmes poss.

Les principaux objectifs de cette nouvelle rforme de lenseignement de


linformatique aux CPGE, peuvent se rsumer aux points suivants :

apprentissage dun ensemble de concepts de base de l'algorithmique,


rsolution de problme par approche algorithmique,

Mars 2015 Page 5


conception rigoureuse dalgorithme,
choix des reprsentations appropries des donnes,
familiarisation avec la syntaxe lmentaire et les rgles de base dun
langage de programmation,
mise en uvre dun programme informatique (dition, excution, test),
pratique de la programmation,
utilisation dun logiciel de simulation numrique,
exploitation des rsultats de calculs numriques,
initiation lutilisation dun SGBD,
manipulation de donnes organises dans une base de donnes,
valuation de lefficacit algorithmique (mesure de la complexit),
matrise de lapproche rcursive dun algorithme.

C.3/ Mthodologie
* Il est recommand de mettre laccent sur le raisonnement algorithmique beaucoup
plus que sur la syntaxe du langage de programmation.

* Il est conseill de donner des exemples et de proposer des exercices inspirs des
autres disciplines scientifiques (mathmatiques, physique, sciences de lindustrielle
et chimie).

* II est ncessaire de transcrire les algorithmes vus pendant les sances de cours en
langage de programmation.

* Il est souhaitable dintgrer des lments de la discipline informatique dans


llaboration des travaux dinitiative personnelle encadre(TIPE).

* Il nest pas demand daborder les aspects thoriques qui relvent des autres
disciplines scientifiques, mais de mettre en uvre les algorithmes permettant
lanalyse des rsultats surtout concernant lutilisation du logiciel de simulation.

* Il est noter que le langage de programmation, le logiciel de simulation numrique


ainsi que le systme de gestion de bases de donnes (SGBD) qui seront utiliss
dans le cadre de ce cours feront lobjet dune note de service manant de lautorit
gouvernementale charge des classes prparatoires aux grandes coles.

Mars 2015 Page 6


D- Programme de la premire anne (MPSI, PCSI, TSI)
Le programme de la premire anne est divis en 3 parties (I, II et III)

D.I Partie I : Gnralits et algorithmique de base

La partie I du programme sera enseigne durant le premier trimestre de la 1re


anne. Le but de ce paragraphe est dinitier les lves la conception dalgorithmes
lmentaires manipulant des variables de types simples, des expressions et des
structures de contrle, puis convertir ces algorithmes en programmes laide dun
langage de programmation.

D.I.a/ Capacits vises


identifier lensemble des ressources physiques constituant le systme
informatique,
utiliser les principales commandes dun systme dexploitation,
comprendre la reprsentation des donnes numriques dans la mmoire et
les limitations (en valeur et en prcision) de leur reprsentation,
expliquer ce que fait un algorithme lmentaire,
dcomposer une tche complexe en tches lmentaires
concevoir un algorithme rpondant un problme simple,
savoir adopter lapproche de la programmation descendante et la
programmation structure,
se familiariser avec la syntaxe de base dun langage de programmation,
traduire un algorithme en programme crit avec un langage informatique,
vrifier la terminaison dune boucle,
tester un programme en lditant et en lexcutant dans un environnement
intgr dun langage de programmation,
appeler quelques fonctions lmentaires du langage de programmation.

D.I.b/ Outils utiliss


Les vacations de cours thoriques seront alternes avec de sances de
travaux dirigs et de travaux pratiques.

Durant les travaux dirigs, les lves apprennent concevoir des algorithmes
de rsolution de problmes lmentaires et crire les programmes correspondants.

Ces programmes seront dits et tests au cours des travaux pratiques


prvus

Mars 2015 Page 7


D.I.c/ Contenu
D.I.c.1/ Environnement matriel et logiciel dun systme informatique
Le but de ce paragraphe est de prsenter succinctement lensemble des
ressources physiques constituant le systme informatique ainsi que lensemble des
moyens qui permettent dutiliser lordinateur. On abordera aussila reprsentation des
donnes numriques sous forme binaire dans la mmoire.
a/ Structure et fonctionnement dun ordinateur
*Composants de base
- diffrencier les diffrents composants constituant un ordinateur
(mmoire vive, mmoire de masse, unit centrale, priphriques
dentre-sortie, ports de communication)
* Mmoire centrale
- rle, caractristiques, capacit (notion de bit, de mot mmoire,
dadresse mmoire, ).
* Reprsentation des donnes dans la mmoire
- types de donnes (nombres ou caractres),
- systme binaire,
- codage et reprsentation des caractres (code ASCII, UTF8, UTF16,
Unicode),
- tude des mcanismes de dpassement de capacit (les "overflow"),
les erreurs d'arrondis, les divisions par zro.
* Reprsentation des nombres dans la mmoire
- reprsentation des nombres entiers en mmoire (nombre positif ou
ngatif, bit de signe, nombre non sign),
- reprsentation des nombres rels en mmoire (mantisse et exposant,
dfinition de lcriture en virgule flottante normalise)
- limites et dpassement de la mmoire (illustration par des exemples
simple (division par zro,)),
* Processeur
- caractristiques (vitesse, frquence de lhorloge, ),
- fonctions (oprations arithmtiques et logiques).
* Priphriques
- priphriques d'entre-sortie, ports de communication, Mmoires
auxiliaires,).
b/ Systme dexploitation dun ordinateur
- dfinition et exemples de systmes dexploitation (Windows et Linux),
- fonctions principales dun systme dexploitation (vrification des
ressources, gestion de fichiers, gestion de dossiers, ),
-exemples dutilisation de quelques commandes usuelles (cration
de dossiers, copie de fichiers, ),
c/ Environnement de dveloppement intgr (IDE)
- diteur,
- interprteur,
- documentation,
- dbuggeur,
- bibliothque,
-
Mars 2015 Page 8
D.I.c.2/ Algorithmique de base
Le but de ce paragraphe est dinitier les lves la conception dalgorithmes
lmentaires manipulant des variables de types simples, des expressions et des
structures de contrle, puis convertir ces algorithmes en programmes laide dun
langage de programmation

a/ Elments de base dun algorithme


* variables,.
* types simples (entier, flottant, caractre),
* instruction
* affectation,
* entres / sorties standards et fonctions de la bibliothque.
b/ Oprateurs et les expressions
* les oprateurs arithmtiques et logiques,
* les expressions.
c/ Structures de contrle
* les instructions de choix (la slection logique),
* les instructions ditration ou de rptition (les boucles).

d/ Dmarche danalyse descendante


*principe de la dmarche,
*affinements successifs,
*exemples.

e/ Tests de validit d'un algorithme


* invariants de boucle,
* tests de fin d'un algorithme

D.I.d/ Exemples dexercices et dapplications pratiques

La liste suivante numre quelques exemples dalgorithmes simples pouvant


tre proposs en termes dexemples ou dexercices durant cette premire partie de
lenseignement :

- Rsolution dune quation du 1er ou du 2me degr


- Vrification de la validit dune date (annes bissextiles).
- Dtermination de certaines proprits dun nombre entier (premier, parfait,
Amstrong, ).
- Calcul de PGCD et du PPMC de 2 nombre entiers.
- Dcomposition binaire dun entier.
- Evaluation de la somme des N premiers nombres entiers positifs.
- Calcul du factoriel dun nombre en utilisant une mthode itrative.
-

Mars 2015 Page 9


D.II Partie II : Algorithmique et programmation
La partie II du programme sera enseigne durant le deuxime trimestre de la
1re anne. Le but de cette partie est dapprendre aux lves la programmation
modulaire ainsi que la reprsentation des donnes dans des structures des donnes
telles que les chanes de caractres, les listes, ) et leurs utilisations (tri, recherche,
). Dans cette partie, on sintressera aussi la lecture et lcriture dans un fichier
de donnes.

D.II.a/ Capacits vises en algorithmique


dcouper et organiser le problme en plusieurs parties (les modules),
dfinir les prototypes des fonctions utiliser (paramtres, type de retour)
choisir les structures pouvant reprsenter les donnes et les rsultats du
problme,
matriser les algorithmes de tri standard et de la recherche dichotomique
manipuler une chane de caractres,
grer une liste de donnes (ajouter, modifier, rechercher ou supprimer des
lments),
organiser les lments sous forme dune pile afin de leur exploitation,
lire et crire des donnes partir dun fichier.

D.II.b/ Capacits vises en programmation


Traduire un algorithme dans un langage de programmation non
spcifiquement lis au systme d'exploitation, libre et portable, dynamique,
extensible qui permet une approche modulaire et oriente objet de la
programmation.

Savoir se servir de la documentation du langage choisi en ligne,


savoir documenter ses propres programmes,
choisir les types et structures de donnes optimales pour un problme
donn,
expliciter la signature, le prototype dune fonction,
mettre en uvre des squences de tests afin de tester une fonctionnalit,
un programme spcifique.

D.II.c/Contenu en programmation
* prsentation des diffrents types d' lments,
* lments simples : entier, flottant, complexe, boolen et chaines de
caractres,
* les oprateurs,
* les collections d'lments (les listes, les tuples, les dictionnaires, les
ensembles),
* la logique d'un programme (les oprations conditionnelles, les boucles for
et while),

Mars 2015 Page 10


* les fonctions (les instructions break et continue, variable locale, variable
globale),
* les modules de base du langage choisi.

D.II.d/ Outils utiliss


La programmation modulaire, les structures des donnes ainsi que les
principes des diffrents tris seront expliqus pendant les sances de cours. Les
diffrents algorithmes de tri et de recherche seront conus en travaux dirigs.
Limplmentation et la vrification de ces diffrents algorithmes seront
effectues en travaux pratiques l'aide du langage.
Les lves devront utiliser un environnement de dveloppement
Un environnement scientifique doit tre prsent et ceci ds la premire
anne. Cela peut-tre un logiciel de calcul scientifique libre et large utilisation ou
une bibliothque utiliser avec le langage de programmation choisi.
Attention il n'est pas demand une tude approfondie de l'ensemble de ces
outils.
Des textes rglementaires pourront dans le futur prciser les diffrents choix
d'outils et d'environnement de dveloppement.

D.II.e/ Contenu
D.II.e.1/ Styles de programmation
a. Programmation imprative
b. Programmation fonctionnelle
c. Programmation objet
* Notions de classe, de constructeurs, d'instances, ,
* attributs (statiques et d'instances)
* mthodes (statiques, d'instances)
* Exemples simples et illustratifs (classe Point, classe File, )

D.II.e.2/ Techniques de programmation


a. Variables globales et locales
b. Paramtres
c. Rcursivit simple
b. Gestion des exceptions

D.II.e.3/ Structures de donnes et leurs utilisations


a. Listes (reprsentation, accs aux lments),
b. Chanes de caractres (longueur, accs un caractre),
c. Tris et recherche dichotomique dans un tableau (tri par slection, tri par
insertion, tri bulles, ),
d. Tuples, ensembles
e. Dictionnaires : cration et oprations

Mars 2015 Page 11


D.II.e.4/ Fichiers de donnes
a. Accs un fichier (chemin et nom physique de fichier),
b. Lecture des lments dun fichier partir dun programme,
c. Ecriture dans un fichier partir dun programme.

D.II.f/ Exemples dexercices et dapplications pratiques


Les exemples ci-dessous peuvent tre suggrs en exercices :
- Gestion dune une liste dlments et son tri (ajout, modification,
suppression, recherche, ).
- Utilisation des algorithmes de cryptage lmentaires (Csar,
Vigenre)
- Cryptage dune chane de caractres puis dun fichier texte.
- Implmentation de lalgorithme du codage de Hamming et de
Huffman.
- Vrification de la syntaxe dune expression mathmatique simple
(nombre de parenthses par exemples) en utilisant la structure pile.

D.III Partie III : Ingnierie numrique et simulation (partie 1)


Le but de cette partie est dintroduire les techniques de base pour l'utilisation
des algorithmes numriques. On ne s'intressera qu' la mise en uvre de ces
algorithmes et non pas aux aspects thoriques. Par contre il faudra comparer les
solutions obtenues d'une manire numrique avec celle issue d'un calcul analytique

D.III.a/ Comptences vises


la fin de cette partie, llve doit tre capable de :
Donner une solution numrique d'un problme difficilement ou impossible
raliser avec une solution purement analytique
Mettre en uvre par programmation un problme caractre scientifique
en prenant en compte aussi bien les donnes en entres du programme
que les rsultats
Savoir utiliser les bibliothques de calcul numrique standard pour
rsoudre un problme scientifique
Savoir utiliser les bibliothques standards pour afficher les rsultats sous
forme graphique
Savoir prendre en compte les erreurs de calcul ou erreurs d'arrondi.

D.III.b/ Outils utiliss


Aprs chaque sance thorique, un ensemble dexercices et de travaux
pratiques seront proposs aux lves pour illustrer et vrifier les notions vuesen
cours.

Mars 2015 Page 12


D.III.c/ Contenu
D.III.c.1/Prsentation des bibliothques
* Programmation de quelques fonctions.
* Calcul manipulant les tableaux et calcul matriciel
* Gestion de la documentation en ligne des fonctionnalits de ces
bibliothques.

D.III.c.2/Mthodes linaires une dimension


* Rsolution d'quation algbrique
* Mthode de dichotomie
* Mthode de Newton

D.III.d/ Exemples dexercices et dapplications pratiques


- Calcul matriciel (somme, produit, dterminant, transpose)

- Manipulations de tableaux et de matrices (extraire un sous tableaux,


coupe d'un tableau ou d'une matrice, indexation par masque, copie de
tableau ou de matrice, oprations simples ou complexes manipulant
des tableaux ou des matrices, etc)

- Exemple : quation de la chaleur (diffusion thermique) une


dimension discrtisation en diffrences finies, convergence,
implmentation matricielle, optimisation avec la formule de Taylor, etc)

- Intgration dquations diffrentielles l'aide dune bibliothque ou


dun logiciel de calcul scientifique

- Exemple : gestion d'un systme dynamique, le pendule simple.

Mars 2015 Page 13


E. Programme de la deuxime anne ( MP, PSI, TSI)
Le programme de la deuxime anne est divis en 3 parties (parties IV, V et VI)

E.I Partie IV: Introduction aux bases de donnes


relationnelles
La partie IV du programme sera enseigne durant la premire priode de la
2me anne .Cette partie vise initier les lves la technologie des bases de
donnes.

E.I.a/ Capacits vises


* Mettre en uvre et grer une base de donnes relationnelle;
* Effectuer des requtes SQL sur une base de donnes ;
* Dcouvrir et pratiquer les principales fonctions dun SGBD
relationnel ;
* Acqurir une exprience pratique dans la gestion dune base de
donnes.

E.I.b/ Outils utiliss


Cette partie sera dispense sous forme de prsentation des concepts
lmentaires des bases de donnes. Chaque concept doit tre illustr par un ou
plusieurs exemples simples. Ces concepts seront mis en uvre dans des sances
de travaux pratiques.
Ces travaux pratiques seront raliss avec un SGBD qui prsente une
interface graphique conviviale permettant lutilisation des diffrentes manipulations
sur les bases de donnes (cration de bases et de tables, alimentation, modification,
suppression et interrogation des donnes)
Il est rappel que le systme de gestion de bases de donnes ( SGBD)
utiliser fera lobjet dune note de service de lautorit gouvernementale charge des
classes prparatoires aux grandes coles ( voir page 7)

E.I.c/ Contenu
E.I.c.1/ Gnralits
* Notion de base de donnes;
* Modle de base de donnes (hirarchique, relationnel);
* Systme de gestion de base de donnes (SGBD);
E.I.c.2/ Modle relationnel
* Prsentation;
* Concepts lmentaires;

Mars 2015 Page 14


* Notions de base (table, relation; attribut; cls primaires et
secondaires; domaine; ) ;
*Schma de relation;
E.I.c.3/ Algbre relationnelle
* Introduction;
* Oprateurs unaires (slection, projection);
* Oprateurs binaires ensemblistes (union, intersection,
diffrence);
* Oprateurs n-aires(Produit cartsien, jointure, division
cartsienne);
* Fonctions dagrgation : min, max, somme, moyenne,...
E.I.c.4/ Langage SQL
* Prsentation et notion de requte;
* Description de donnes (cration, modification suppression de
tables, dattributs, de vues, );
* Manipulation de donnes (Insertion, modification suppression
de n-uplets);
* Interrogation dune base de donnes (commande SELECT);

E.I.d/ Exemples dexercices et dapplications pratiques


* Lancer lenvironnement dun SGBD offrant une interface graphique
et crer une base de donnes simple contenant quelques tables (2 ou 3) ;
* Dfinir la structure dune table (champs, types,..) ;
* Alimenter les tables de la base ;
* Interroger la base laide des requtes ;
* Ecrire des requtes SQL en utilisant lalgbre relationnelle partir
dnoncs en langage courant ;
* Accder une base de donnes dj existante et manipuler ses
donnes ;
* Utiliser les jointures symtriques simples (JOIN ON =...) pour
effectuer des requtes croises dans une base de donnes constitue de
plusieurs tables. ( maximum 3).
* Prsenter laide dun exemple simple le concept de client-serveur en
prcisant les rles respectifs des machines client, serveur, et
ventuellement serveur de donnes (architecture trois-tiers)
Remarque : Les exemples dillustration de bases de donnes seront de
prfrence choisis au sein des autres disciplines scientifiques tudies.

E.II Partie V: Algorithmique et programmation 2


La partie V du programme est la dernire partie de cet enseignement, elle
sera dispense durant la deuxime priode de la 2me anne

E.II.a/ Comptences vises


Le but de cette partie est dintroduire certaines notions avances
dalgorithmique et quelques complments qui nont pas t abords en 1re anne.
Ainsi la fin de cette partie, llve doit tre capable de :
* Evaluer la "qualit" d'un algorithme en mesurant sa complexit ;

Mars 2015 Page 15


* Rsoudre des problmes en utilisant les algorithmes rcursifs ;
* Comprendre les avantages et les inconvnients des approches itrative
et rcursive ;
* Reprsenter des donnes dans un arbre binaire et le parcourir;
* Utiliser les expressions rgulires
* Apprhender les notions de base de la thorie des graphes
( reprsentation matricielle, parcours, recherche du plus court chemin
(Dijkstra, )

E.II.b/ Outils utiliss


Aprs chaque sance thorique, un ensemble dexercices et de travaux
pratiques seront proposs aux lves pour illustrer et vrifier les notions vues en
cours.
Remarque: Le langage de programmation utilis est le mme que celui
adopt en 1re anne.

E.II.c/ Contenu
E.II.c.1/ Algorithmes de tri
* Rappels des algorithmes de tri standard (slection, insertion, bulles) ;
* Algorithmes de tri rapides (tri rapide, tri fusion) ;
E.II.c.2/ Initiation la complexit algorithmique
* Notion de complexit algorithmique (Complexit en temps et en
espace ) ;
* Algorithmes de complexit constante, logarithmique,
linaire) ( exemple : diviser pour rgner);
* Comparaison de la complexit temporelle dun algorithme de tri
standard et un algorithme de tri rapide ;

E.II.c.3/ Gestion de la mmoire


* Copie profonde ;
* Copie superficielle;
* Exemple (copie de listes)
E.II.c.4/ Initiation aux algorithmes des arbres
* Dfinition dun arbre binaire (notion de nud, racine, feuille) ;
* Parcours dun arbre binaire ;
* Parcours dun arbre n-aire ;
* Exemple du tri Maximier ( tri en utilisant un arbre binaire) ;
E.II.c.5/ Introduction la thorie des graphes
* Structure dun graphe
* Reprsentation matricielle
* Parcours de graphe
* Recherche du plus cout chemin (Dijkstra,)
* Cycle Hamilthonien et Eulrien

Mars 2015 Page 16


E.II.d/ Exemples dexercices et dapplications pratiques
* Evaluer la complexit dun algorithme simple de complexit constante
(recherche squentielle dun lment dans une liste ) ;
* Implmenter un algorithme de tri standard ( tri par slection) et un
algorithme de tri rapide (Quick Sort) puis dterminer et comparer leurs
complexits dans le pire et le meilleur des cas ;
* Dvelopper des algorithmes rcursifs (factorielle, puissances entires,
suites rcurrentes (Fibonacci,, pgcd,) ;
* Reprsenter des donnes sous forme dun arbre binaire exemple : arbre
gnalogique ) et rechercher une information en parcourant larbre ;
* Comprendre le principe du tri par arbre (tri Maximier);
* Dcouvrir la programmation oriente objet au travers dapplications
simples
* Appliquer les expressions rgulires (validit d'une adresse e-mail, )
*Implmenter des exemples mettant en uvre les parcours eulrien ou
hamilthonien

E.III Partie VI: Ingnierie numrique et simulation (partie 2)

E.III.a/ Comptences vises


Savoir dterminer la complexit d'un calcul en vue d'en dterminer si le
calcul est ralisable dans un temps acceptable.

E.III.b/ Outils utiliss


Aprs chaque sance thorique, un ensemble dexercices et de travaux
pratiques seront proposs aux lves pour illustrer et vrifier les notions vues en
cours.
E.III.c/ Contenu

E.III.c.1/ Problmes dynamiques une dimension


* Rsolution approche d'une quation diffrentielle
* Mthode d'Euler

E.III.c.2/ Problmes discrets multidimensionnels linaires


* Rsolution d'un systme linaire inversible l'aide de la mthode de
Gauss
* Calcul de complexit pour dterminer un temps d'excution afin de
savoir si le calcul est envisageable.

Mars 2015 Page 17