Vous êtes sur la page 1sur 16

PROGRAMME ET INSTRUCTIONS

OFFICIELLES
PO U R 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;

Juillet 2014 Page 1

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

SOMMAIRE

A- Contexte de la nouvelle rforme de


linformatique en C.P.G.E

page 4

B- Capacits concernes

page 5

C- Structure, objectifs et didactique


du programme

page 6

D- Programme de la premire anne

page 8

E-

page 15

Programme de la deuxime anne

Juillet 2014 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.

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,
Juillet 2014 Page 3

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).

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 5 parties, comme suit :
- Partie I : Gnralits et algorithmique de base
- Partie II: Algorithmique et programmation
- Partie III : Ingnierie numrique et simulation
- Partie IV : Introduction aux bases de donnes relationnelles
Juillet 2014 Page 4

- Partie V : Algorithmique avanc et programmation


Les trois premires parties (partie I, II et III) seront dispenses durant la
premire anne alors que les deux dernires parties (partie IV et V) 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,

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),

maitrise 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).
Juillet 2014 Page 5

* 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.

Juillet 2014 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 1 re


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
programmation,

traduire un algorithme en programme crit avec un langage


informatique,

avec

la

syntaxe

de

base

dun

langage

de

vrifier la terminaison dune boucle,

tester un programme en lditant et en lexcutant dans un


environnement intgr dun langage de programmation,

appeler quelques
programmation.

fonctions

lmentaires

du

langage

de

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.
Juillet 2014 Page 7

Ces programmes seront dits et tests au cours des travaux pratiques


prvus

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/ Architecture simplifie dun ordinateur
*Composants de base
- ordinateur personnel, tablette, PDA,
- diffrencier les diffrents composants constituant un ordinateur
(mmoire vive, mmoire de masse, unit centrale, priphriques
dentre-sortie, ports de communication)
* Mmoire centrale et reprsentation des donnes
- rle, caractristiques, capacit (notion de bit, de mot mmoire,
dadresse mmoire, ).
* Reprsentation de donnes dans la mmoire
- types de donnes (nombres ou caractres),
- systme binaire,
- 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,)),
- 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.
* 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, ),
-mise en uvre d'un environnement de dveloppement.

Juillet 2014 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/Dfinitions
* algorithme et programme,
*langage de programmation,
*interprteur et compilateur.
b/Elments de base dun algorithme
*variables.
*types simples (entier, flottant, caractre),
*affectation,
*entres / sorties standards et fonctions de la bibliothque.
c/Oprateurs et les expressions
*les oprateurs arithmtiques et logiques,
* les expressions.
d/Structures de contrle
*les instructions de choix (la slection logique),
*les instructions ditration ou de rptition (les boucles).
e/ Dmarche danalyse descendante
*principe de la dmarche,
*affinements successifs,
*exemples.
f) Modlisation.
*analyser une situation,
*spcifier,
*modliser.
g) Vrification du code
*invariants de boucle,
*tests des segments itratifs,
*estimation de la complexit d'un calcul.

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 bissextile).

Juillet 2014 Page 9

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.

D.II Partie II : Algorithmique et programmation


La partieII 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 tableaux, les chanes de caractres, les listes, les piles, ) 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,

maitriser 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.
Juillet 2014 Page 10

D.II.c/Contenu en programmation
* prsentation des diffrents types d'objets,
* objets simples : entier, flottant, complexe, boolen et chaines de
caractres,
* les oprateurs,
* les collections d'objets (les listes, les tuples, les dictionnaires, les
ensembles),
* la logique d'un programme (les oprations conditionnelles, les boucles for
et while),
* 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/Programmation modulaire
a. Dfinition et paramtres de fonction,
b. Variable locale et variable globale,

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


a. Tableaux une dimension (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. Tableaux 2 dimensions (oprations sur les matrices),
e. Squences, : Listes et tuples (dfinition, ajout, suppression, recherche
dans une liste),
f. Dictionnaires : crations et opration
Juillet 2014 Page 11

g. Piles et files.

D.II.e.3/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, ).
- Calcul matriciel (somme, produit, dterminant, transpose).
- 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


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


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.

Savoir dterminer la complexit d'un calcul en vue d'en dterminer si le


calcul est ralisable dans un temps acceptable.

pour

Juillet 2014 Page 12

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.

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.c.3/Problmes dynamiques une dimension


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

D.III.c.4/ 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.

D.III.d/ Exemples dexercices et dapplications pratiques


- 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.

Juillet 2014 Page 13

E. Programme de la deuxime anne ( MP, PSI, TSI)


Le programme de la deuxime anne est divis en 2 parties (partie IV et partie V)

E.I

Partie IV: Introduction aux bases de donnes

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);
* Machine serveur et client;
E.I.c.2/ Modle relationnel
* Prsentation;
* Concepts lmentaires;
* Notions de base (table, relation; attribut; cls; 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
Juillet 2014 Page 14

* 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 ;
* 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.
Juillet 2014 Page 15

E.II.c/ Contenu
E.II.c.1/ Algorithmes de tri
* Rappels des algorithmes de tri standard (slection, insertion, bulles) ;
* Algorithmes de tri rapides (Quick Sort, Merge Sort) ;
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/ Rcursivit
* Principe de la rcursivit simple ;
* Exemples dutilisation de la rcursivit simple (exemple : factoriel,
fibonacci, ) ;
* Terminaison dune fonction rcursive ;
* Rcursivit et Itration (comparaison) ( problme dAckermann)
;
E.II.c.4/ Initiation aux algorithmes des arbres binaires
* Dfinition dun arbre binaire (notion de nud, racine, feuille) ;
* Parcours dun arbre binaire ;
* 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 Eulorien
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 eulerien ou
hamilthonien

Juillet 2014 Page 16

Vous aimerez peut-être aussi