Vous êtes sur la page 1sur 3

2

Algorithmes et programmation en Pascal

Edouard Thiel

Table des mati`


eres
I

Les variables en Pascal

1 Premiers programmes
1.1 Le programme bonjour . . . . . . .
1.2 Commentaires dans un programme
1.3 Utilisation dune variable enti`ere . .
1.4 Trace et tableau de sortie . . . . . .
1.5 Lecture au clavier dune valeur . . .
2 Identificateur
3 Types pr
ed
efinis
3.1 Type entier : integer . . . . . . .
3.2 Type reel : real . . . . . . . . . . .
3.3 Type caract`ere : char . . . . . . . .
3.4 Type booleen : boolean . . . . . .
4 D
eclarations
4.1 Constantes . . . . . . . . . . . . . .
4.2 Variables et affectation . . . . . . .
5 Expressions
5.1 Syntaxe . . . . . . . . . . . . . . .
5.2 Type des expressions bien formees .
5.3 R`egles devaluation . . . . . . . . .
6 Nouveaux types
6.1 Type intervalle . . . . . . . . . . .
6.2 Type enumere . . . . . . . . . . . .
6.3 Declarer un type . . . . . . . . . .
6.4 Type enregistrement . . . . . . . .

II

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Proc
edures
1 Proc
edure sans param`
etre
1.1 Principe . . . . . . . . . . . .
1.2 Appels . . . . . . . . . . . . .
1.3 Variables locales . . . . . . . .
1.4 Portee des variables . . . . . .
1.5 Effet de bord . . . . . . . . .
2 Proc
edure param
etr
ee
2.1 Pseudo-passage de param`etres
2.2 Parametrage . . . . . . . . . .
2.3 Comment ca marche . . . . .
2.4 Bons reflexes . . . . . . . . . .

III

.
.
.
.
.

Les instructions en Pascal

6
6
6
6
7
7
7
8
8
8
9
10
11
11
11
12
12
13
13
14
14
15
16
17

18
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

18
18
19
19
20
20
20
20
21
22
23

24

Cours

Deug 1 Mass MA, 1997 a` 2004


1 Instruction compos
ee
2 Les branchements
2.1 Le test booleen if . . . . .
2.2 Selection de cas avec case
3 Les boucles
3.1 La boucle while . . . . . .
3.2 La boucle repeat . . . . .
3.3 La boucle for . . . . . . .
3.4 Choix de la boucle . . . .

IV

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
.
.
.
.

.
.
.
.

.
.
.
.

VI

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Fonctions

24
24
25
26
27
27
28
29
31

32

1 Fonction sans param`


etre
1.1 Principe . . . . . . . . . . . . .
1.2 Appel . . . . . . . . . . . . . .
1.3 Variables locales . . . . . . . . .
2 Fonction avec param`
etres
2.1 Procedure vs fonction . . . . . .
2.2 Passage de types enregistrement
3 Fonction avec plusieurs r
esultats
4 Gestion derreurs

32
. . . . . . . . . . . . . . . . . 32
. . . . . . . . . . . . . . . . . 32
. . . . . . . . . . . . . . . . . 32
33
. . . . . . . . . . . . . . . . . 33
. . . . . . . . . . . . . . . . . 34
34
36

Tableaux

38

1 Le type array
1.1 Principe . . . . . . . . . . . . .
1.2 Controle des bornes . . . . . . .
1.3 Recopie . . . . . . . . . . . . .
2 Super tableaux
2.1 Tableaux a` plusieurs dimensions
2.2 Tableaux de record . . . . . . .
3 Le type string
3.1 Principe . . . . . . . . . . . . .
3.2 Operateurs sur les strings . . . .

38
38
39
40
40
40
41
42
42
43

. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .

Fichiers s
equentiels

44

1 Le clavier et l
ecran
1.1 Affichage avec write
1.2 Lecture avec read . .
2 Fichiers de disque
2.1 Notions generales . .
2.2 Fichiers de texte . . .
2.3 Fichiers delements .
2.4 Gestion des erreurs .

44
44
45
47
47
48
49
50

. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Algorithmes et programmation en Pascal

VII Algorithmes avec des vecteurs


1 Recherche s
equentielle dun
el
ement
1.1 Dans un vecteur non trie . . . . . . .
1.2 Dans un vecteur trie . . . . . . . . .
2 La dichotomie
2.1 Le jeu des 1000 francs . . . . . . . .
2.2 Recherche dichotomique . . . . . . .
3 Tri dun vecteur
3.1 Tri par remplacement . . . . . . . . .
3.2 Tri par permutation . . . . . . . . . .
3.3 Tri a` bulles . . . . . . . . . . . . . .
3.4 Tri par comptage . . . . . . . . . . .
4 Mise `
a jour dun vecteur
4.1 Insertion dans un vecteur non trie . .
4.2 Insertion dans un vecteur trie . . . .
4.3 Suppression dans un vecteur non trie
4.4 Suppression dans un vecteur trie . . .
5 Tri par insertion

Edouard Thiel

52
52
. . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . 53
54
. . . . . . . . . . . . . . 54
. . . . . . . . . . . . . . 55
56
. . . . . . . . . . . . . . 57
. . . . . . . . . . . . . . 58
. . . . . . . . . . . . . . 59
. . . . . . . . . . . . . . 59
60
. . . . . . . . . . . . . . 60
. . . . . . . . . . . . . . 60
. . . . . . . . . . . . . . 60
. . . . . . . . . . . . . . 61
61