Algo et programme en pascal
Documents Gratuits : Algo et programme en pascal. Rechercher de 53 000+ Dissertation Gratuites et Mémoirest de bord . . . . . . . . . 2 Proc´dure param´tr´e e e e 2.1 Pseudo-passage de param`tres e 2.2 Param´trage . . . . . . . . . . e 2.3 Comment ca marche . . . . . ¸ 2.4 Bons r´flexes . . . . . . . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
18 18 19 19 20 20 20 20 21 22 23
III
Les instructions en Pascal
24
Cours
Deug 1 Mass MA, 1997 a 2004 ` 1 Instruction compos´e e 2 Les branchements 2.1 Le test bool´en if . . . . . e 2.2 S´lection de cas avec case e 3 Les boucles 3.1 La boucle while . . . . . . 3.2 La boucle repeat . . . . . 3.3 La boucle for . . . . . . . 3.4 Choix de la boucle . . . .
3 24 24 25 26 27 27 28 29 31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IV
Fonctions
1 Fonction sans param`tre e 1.1 Principe . . . . . . . . . . . . . 1.2 Appel . . . . . . . . . . . . . . 1.3 Variables locales . . . . . . . . . 2 Fonction avec param`tres e 2.1 Proc´dure vs fonction . . . . . . e 2.2 Passage de types enregistrement 3 Fonction avec plusieurs r´sultats e 4 Gestion d’erreurs
32
32 . . . . . . . . . . . . . . . . . 32 . . . . . . . . . . . . . . . . . 32 . . . . . . . . . . . . . . . . . 32 33 . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . . 34 34 36
V
Tableaux
1 Le type array 1.1 Principe . . . . . . . . . . . . . 1.2 Contrˆle des bornes . . . . . . . o 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 Op´rateurs sur les strings . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
38 38 39 40 40 40 41 42 42 43
VI
Fichiers s´quentiels e
1 Le clavier et l’´cran e 1.1 Affichage avec write 1.2 Lecture avec read . . 2 Fichiers de disque 2.1 Notions g´n´rales . . e e 2.2 Fichiers de texte . . . 2.3 Fichiers d’´lements . e 2.4 Gestion des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
44 44 45 47 47 48 49 50
4
Algorithmes et programmation en Pascal
Edouard Thiel
VII Algorithmes avec des vecteurs
1 Recherche s´quentielle d’un ´l´ment e ee 1.1 Dans un vecteur non tri´ . . . . . . . e 1.2 Dans un vecteur tri´ . . . . . . . . . e 2 La dichotomie 2.1 Le jeu des 1000 francs . . . . . . . . 2.2 Recherche dichotomique . . . . . . . 3 Tri d’un vecteur 3.1 Tri par remplacement . . . . . . . . . 3.2 Tri par permutation . . . . . . . . . . 3.3 Tri a bulles . . . . . . . . . . . . . . ` 3.4 Tri par comptage . . . . . . . . . . . 4 Mise ` jour d’un vecteur a 4.1 Insertion dans un vecteur non tri´ . . e 4.2 Insertion dans un vecteur tri´ . . . . e 4.3 Suppression dans un vecteur non tri´ e 4.4 Suppression dans un vecteur tri´ . . . e 5 Tri par insertion
52
52 . . . . . . . . . . . . . . 52 . . . . . . . . . . . . . . 53 54 . . . . . . . . . . . . . . 54 . . . . . . . . . . . . . . 55 56 . . . . . . . . . . . . . . 57 . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . 59 . . . . . . . . . . . . . . 59 60 . . . . . . . . . . . . . . 60 . . . . . . . . . . . . . . 60 . . . . . . . . . . . . . . 60 . . . . . . . . . . . . . . 61 61
Cours
Deug 1 Mass MA, 1997 a 2004 `
5
6
Algorithmes et programmation en Pascal
Edouard Thiel
I. Les variables en Pascal 1
1.1
Premiers programmes
Le programme bonjour
Un programme est une suite d’instructions, certaines ´tant des mots cl´s. e e Ce programme affiche la chaˆ de caract`res « Bonjour » a l’´cran : ıne e ` e
PROGRAM bonjour; BEGIN writeln (’Bonjour’); END.
Le compilateur est un logiciel qui lit (analyse) un programme et le traduit en code machine, directement ex´cutable par le processeur de l’ordinateur. e
1.2
Commentaires dans un programme
On place un {commentaire} dans un programme au-dessus ou a cot´ d’une ins` e truction. Le commentaire n’est pas pris en compte a la compilation. Il sert a rendre le ` ` programme plus clair a la lecture, a noter des remarques, etc : ` `
{ Edouard Thiel - 21/01/2003 } PROGRAM bonjour; BEGIN { Affiche Bonjour a l’´cran } ` e writeln (’Bonjour’); END.
1.3
Utilisation d’une variable enti`re e
Une variable est une zone dans la m´moire vive de l’ordinateur, dot´e d’un nom et e e d’un type. Le nom de la variable permet d’acc´der au contenu de la zone m´moire ; e e le type sp´cifie la nature de ce qui peut ˆtre stock´ dans la zone m´moire (entier, e e e e r´el, caract`re, etc). e e On a coutume de repr´senter une variable par une boˆ ; dessous on met le nom, e ıte au dessus le type, et dans la boˆ le contenu. ıte Exemple avec une variable de nom a et de type entier :
PROGRAM var_entiere; VAR a : integer; BEGIN a := 5; writeln (’valeur de a = ’, a); END. { D´claration } e { Affectation } { Affichage : a = 5 }
Cours
Deug 1 Mass MA, 1997 a 2004 `
7
La structure de ce programme est en 3 parties : le nom du programme, la partie d´clarations, et le corps du programme, qui est une suite d’instructions. e La partie d´claration cr´e les variables (les boˆ e e ıtes) ; leur contenu est ind´termin´ e e (on met un ’ ?’ dans chaque boˆ ıte). La taille de la zone m´moire de chaque variable e est adapt´e au type (par exemple 1 octet pour un caract`re, 4 octets pour un entier, e e etc).
1.4
Trace et tableau de sortie
La trace d’un programme est obtenue en pla¸ant des writeln pour que le proc gramme affiche les valeurs des variables a l’ex´cution. Cela sert pour mettre au point ` e un programme en TP. Le tableau de sortie d’un programme est un tableau avec une colonne par variable, o` l’on ´crit l’´volution des variables pendant le d´roulement du programme. u e e e Demand´ en TD et examen. e
1.5
Lecture au clavier d’une valeur
PROGRAM lit_ecrit; VAR a : integer; BEGIN write (’Entrez un entier : ’); readln (a); writeln (’valeur de a = ’, a); END.
{ pas de retour chariot } { Lecture }
2
Identificateur
Sert a donner un nom a un objet. ` `
Syntaxe On appelle lettre un caract`re de ’a’..’z’ ou ’A’..’Z’ ou ’_’. e On appelle digit un caract`re de ’0’..’9’. e Un identificateur Pascal est une suite de lettres ou de digit accol´s, commen¸ant e c par une lettre. Exemples x, y1, jour, mois, annee, NbCouleurs, longueur_ligne. Remarques Il n’y a pas de diff´rence entre minuscules et majuscules. e On n’a pas le droit de mettre d’accents, ni de caract`res de ponctuation. e Un identificateur doit ˆtre diff´rent des mots cl´s (begin, write, real, . . .) e e e On se sert des identificateurs pour : le nom du programme, les noms de variables, les noms de constantes, les noms de types.
8
Algorithmes
...