You are on page 1of 9

Algorithmique

Introduction
Les fondements de linformatique
1. Architecture de Von Neumann
2. La machine de Turing
3. Reprsentation interne des instructions et des donnes
a. Le binaire
b. Les octets et les mots
c. Lhexadcimal

Lalgorithmique
1.
2.
3.
4.

Programmer, cest un art


Dfinition : Lalgorithme est une recette
Pourquoi utiliser un algorithme ?
Le formalisme

a. La reprsentation graphique
b. Lalgorithme sous forme de texte

5. La complexit

Les langages dimplmentation


1. Quel langage?
En shell Unix
En Basic originel
En COBOL
En langage C
En langage C++
En php
En Java
En Visual basic
En Pascal

2. Classifications des langages


a. Haut niveau, bas niveau
b. Diverses classifications
c. Compil ou interprt

3. La machine virtuelle
4. Java

a. Les avantages
b. Un premier programme Java

La variable
1. Principe
2. Dclaration
3. Les types
a. Les nombres
b. Autres types numriques
c. Les caractres
d. Le type boolen

4. Affectation
a. Affectation de valeurs
Dans le programme
Dans la dclaration

b. Affectation de variables

5. Saisie et affichage
6. Les constantes

Oprateurs et Calculs
1. Les affectations
2. Les oprateurs arithmtiques
3. Les oprateurs boolens
4. Les oprateurs de comparaison
a Lgalit
b Infrieur, suprieur

5. Le cas des chanes de caractres

Pour aller plus loin


1. Les nombres ngatifs
2. La reprsentation des nombres rels
3. Les dates

4. Les caractres

Types et langages
1. Langages typs ou non
2. La gestion de la mmoire

Les tests et conditions


1. Principe
2. Que tester ?
3. Tests SI
a. Forme simple
b. Forme complexe

4. Tests imbriqus
5. Choix multiples
6. Des exemples complets
a. Le lendemain dune date
b. La validit dune date
c. Lheure dans n secondes
Le simple est-il meilleur ?
Les tests pour optimiser

Lalgbre boolen
1. Lorigine des tests
2. Petites erreurs, grosses consquences
a. Ariane 5
b. Mars Climate Orbiter

3. George Boole
4. Lalgbre
a. tablir une communication
b. La vrit
c. La loi ET
d. La loi OU
e. Le contraire

f. Les proprits
Lassociativit
La commutativit
La distributivit
Lidempotence
La complmentarit
La priorit
Le thorme de De Morgan

g. Quelques fonctions logiques


Le OU exclusif XOR
Lquivalence EQV
Limplication et linhibition
Trouver lexpression minimale
Application dans lalgorithme

5. Une dernire prcision

Les structures itratives


1. Dfinition
2. Quelques usages simples

Tant Que
1. Structure gnrale
2. Boucles infinies et "break"
3. Des exemples
a. Une table de multiplication
b. Une factorielle
c. x la puissance y
d. Toutes les tables de multiplication
e. Saisie de notes et calcul de moyennes
f. Rendez la monnaie
g. Trois boucles

Rpter Jusqu

1. Diffrences fondamentales
3. Quelques exemples adapts
a. La factorielle
b. Les trois boucles

Pour Fin Pour


1. Une structure pour compter
2. mais pas indispensable
3. Quelle structure choisir ?
4. Un pige viter
5. Quelques exemples
a. De nouveau trois boucles
b. La factorielle
c. Racine carre avec prcision
d. Calcul du nombre PI

Prsentation
1. Principe et dfinition
a.
b.
c.
d.
e.

Simplifier les variables

Les dimensions
Les types
Dclaration

Utilisation

2. Java et les tableaux


a.

Tableaux classiques n dimensions


Une dimension
Rfrences de tableaux
Tableaux n dimensions

3. Reprsentation en mmoire
a.
b.

Reprsentation linaire
Reprsentation par rfrence

Manipulations simples
1. Recherche dun lment
2. Le plus grand/petit, moyenne
3. Le morpion

Algorithmes avancs

1. Les algorithmes des tris


a. Le principe
b. Le tri par cration
c.

Le tri par slection

d. Le tri bulles
e.

Le tri par insertion

f.

Le tri Shell

2. Recherche par dichotomie

Structures et enregistrements
1. Principe
2. Dclaration
a. Type structur
b. Enregistrement

3. Utiliser les enregistrements


a. Utiliser les champs
b. Un enregistrement dans une structure
c. Un tableau dans une structure

4. Les tableaux denregistrements


a. Les tables
b. Une table comme champ

4. Et Java ?

Prsentation
1. Principe
2. Dclaration et dfinition
a. Dans un algorithme
b. En Java

3. Appel
4. Fonctions et procdures

a. Les procdures
b. Les fonctions

5. Variables locales et globales


a. Locales
b. Globales
c. Variables globales et Java

6. Les paramtres
a. Procdures
Passer un enregistrement comme paramtre

b. Les fonctions
c. Paramtres et Java
c.

Petite application fonctionnelle

7. Sous programmes prdfinis


a. Un choix important
b. Quelques exemples
Fonctions sur chanes
Fonctions mathmatiques
Fonctions de conversion
Fonctions prdfinies en Java
Les fonctions mathmatiques

8. Dernier cas : les tableaux

Les sous programmes rcursifs


1. Principe
2. Un premier exemple : la factorielle
3. Un exemple pratique : les tours de Hanoi

Les diffrents fichiers


1.
2.
3.
4.

Prambule
Problmatique
Dfinition
Les formats
a. Types de contenus
b. Le fichier binaire
c. Le fichier texte

d. Fichier binaire

5. Les accs aux fichiers


a. Squentiel
b. Accs direct
c. Index
d. Autre ?

Les enregistrements
1. Les dlimiteurs
2. Largeur fixe
3. Principes daccs
a. tapes de base
b. Identificateurs de fichiers et canaux
c. Les modes douverture

Fichier texte squentiel


1. Ouvrir et fermer un fichier
2. Lire et crire des enregistrements
a. Lecture
b. criture

3. Les enregistrements structurs


4. Exemple en Java

Les pointeurs et rfrences


1. Rappels sur la mmoire et les donnes
a. Structure de la mmoire

2. Le pointeur
a. Principe et dfinition
b. Le C roi des pointeurs
c.
Applications

3. Notation algorithmique
a. Dclarer et utiliser les pointeurs
b. Allocation dynamique

4. Java et les rfrences


a. Diffrences entre le C et Java
b. Les rfrences sur les objets
c. Les types primitifs
d. Rfrences sur structures
e. Le pige en Java
f. La valeur null

Les listes chanes

1. Listes chanes simples


a.
b.
c.
d.
e.

Principe
Cration
Parcours de la liste
Recherche
Ajout dun lment

Ajout en dbut de liste


Ajout en fin de liste
Ajout en milieu de liste
Gnralisation
Simplification

f.

Suppression dun lment


Supprimer le seul lment
Supprimer le premier lment
Supprimer le dernier lment
Supprimer un lment au milieu
Simplification
Gnralisation

g. Supprimer toute la liste


h. Parcours rcursif

You might also like