3. Algorithmes paramétrés
Un algorithme paramétré se comporte comme une nouvelle instruction qui sera exécutée avec les valeurs de paramètres d'entrée et qui fournira des valeurs de paramètre de sorties. Deux formes possibles :
- la procédure
- la fonction
Procédure
Une procédure est un algorithme paramétré qui, à partir des paramètres d'entrée, fournit un ou plusieurs résultats en sortie.
procédure Id ( Id1, Id2, ... Idn):
instruction 1; ...
instruction n;
FIN;
Id
est l'identificateur de la procédure.
Id1
à Idn
sont
les identificateurs des paramètres formels : on distingues les
paramètres en entrée, en sortie, en entrée/sortie.
Pour appeler la procédure, on fera par exemple Id( P1,
... ,Pn);
Fonction
Une fonction est un algorithme paramétré qui fournit un résultat unique et qui est utilisé dans une expression.
fonction Id ( Id1, Id2, ... Idn):
instruction 1; ...
instruction n; retourner E;
FIN;
E est une expression qui donne sa valeur à l'instruction.
Pour appeler la fonction, on fera par exemple Resultat := Id( P1,
... ,Pn);
EXERCICE: Ecrire sous forme de procédure et de fonction, le minimum de deux valeurs.
EXERCICE: Ecrire l'échange de deux nombres.
4. Les tableaux : un type de struturation des données en mémoire.
Un tableau est une variable structurée qui regroupe sous un même nom plusieurs données "élémentaires".
Notion de structure de données : un ensemble de "cellules" mémoire reliées d'une certaine façon pouvant contenir une valeur (souvent de même type). Au point de vue mémoire, chaque cellule se concrétisera par une ou plusieurs cases mémoire.
Tableau de dimension 1
C'est une structure de données formées de cellules contiguës et d'accès direct.(i.e. qu'il n'est pas nécessaire de connaître les cellules précédantes pour connaître la valeur d'une cellule). C'est une suite de cellules.
Pour définir un tableau, il faut :
- un nom
- le type de données à indicer
- le type d'indice
- le nombre d'éléments
On accède à l'élément i
du tableau
A
par A[i]
ou A(i)
.
Dans les programmes, un tableau est souvent surdimensionné. On choisit pour le tableau une taille suffisante pour contenir les éléments voulus. Une variable supplémentaire est souvet utilisée pour donner la taille réelle/effective du tableau.
EXERCICE : trouver le max d'un tableau d'entier.
EXERCICE : somme des éléments d'un tableau
EXERCICE : addition de 2 tableaux
EXERCICE : Vérifier qu'un tableau est trié
EXERCICE : Rotation droite
EXERCICE : insérer un nouvel élément dans un tableau
EXERCICE : Séparer au sein d'un même tableau les valeurs positives des valeurs négatives.
procédure SEPAR ( T : E/S, MAX : E):
n := 1;
p := MAX;
sortie = FAUX;
REPETER
TANT QUE (T[n]<0) ET (n<=MAX) FAIRE n:=n+1; FAIT;
// on peut se contenter de tester n<=p
TANT QUE (T[p]>=0) ET (p>0) FAIRE p:=p-1; FAIT;
SI (n<p)
ALORS ECHANGE(T[n],T[p]);
SINON sortie = VRAI;
FSI;
JUSQU'A (SORTIE) FAIT;
FIN; Lexique :
T tableau dont on veut séparer les éléments, indicé de 1 à MAX
MAX nombre d'éléments de ce tableau
n indice du premier élément positif s'il existe
p indice du dernier élément négatif s'il existe
sortie : variable booléenne qui vaut VRAI s'il faut arrêter
Tableau à deux dimensions
Le tableau à deux dimensions ou matrice est une structure de données permettant l'implantation d'une suite A doublement indicée par (i,j)
Accès à un élément A[i,j]
ou
A(i,j)
EXERCICE : les calculs sur les matrices ...