Vous êtes sur la page 1sur 18

Algorithmique

Tableaux, Procédures et Fonctions

Prof. A. SABOUR

1
Variable

 Une variable est un concept qui permet de stocker et de gérer des

données en mémoire. Chaque variable est caractérisée par un nom, un


type de données, et une valeur (ou une référence à une valeur). Les
variables peuvent être utilisées pour stocker des informations telles que
des nombres, des chaînes de caractères, des objets, etc. Elles sont
déclarées avec un type spécifique et peuvent être modifiées au cours de
l'exécution du programme.
22
Mémoire

 La mémoire d'un ordinateur est organisée en emplacements, chaque

emplacement étant identifié par une adresse. Les variables occupent


un emplacement mémoire et sont associées à une adresse de départ,
une taille qui détermine l'espace mémoire qu'elles occupent, et un type
qui indique comment les données sont stockées et traitées.

33
Accès en lecture et écriture

 Les variables peuvent être lues (consultées) ou écrites (modifiées). Les

accès en lecture permettent de récupérer la valeur d'une variable sans


la modifier, tandis que les accès en écriture permettent de mettre à jour
la valeur de la variable. Certains langages de programmation
permettent de restreindre les accès en écriture, par exemple en
déclarant des constantes dont la valeur ne peut être modifiée après leur
initialisation.
44
Les tableaux

 Un tableau est une structure de données qui permet de stocker une

collection d'éléments du même type, identifiés par un seul nom, et


accessibles à l'aide d'un ou plusieurs indices. Le nombre d'indices
détermine la dimension du tableau. Par exemple, un tableau à une
dimension est une séquence d'éléments, un tableau à deux dimensions
est une matrice, et ainsi de suite.

55
Les tableaux

 Un tableau est un ensemble ordonne contenant un n²ombre


constant d‘éléments d'un même type ;
 Exemple
 un tableau a une dimension de 7 éléments :

un tableau a deux dimensions de 3 * 5 = 15 éléments :


 Un tableau peut avoir n'importe quel nombre de dimensions ; En
général, on manipule surtout :
 I des tableaux a une dimension (= vecteurs) ;
 I des tableaux a deux dimensions (= matrices) ;

6
Construction des tableaux
 Les langages de programmation offrent divers
mécanismes pour construire des tableaux ;
 En pseudocode, on va supposer qu'il existe des
fonctions pour les construire :

Exemple:

TB tab_binaire(n) ; // tableau a n composantes binaires


TE tab_entiers(n) ; // tableau a n composantes entières
TR tab_reels(n) ; // tableau a n composantes réelles
TC tab_caracteres(n) ; // tableau de n caractères
TE2 tab_entiers(l,c) ; // tableau a l*c composantes entières sur
l lignes et c colonnes

7
Propriétés des tableaux
 Il faut également initialiser le tableau !
 I les fonctions qu'on a vues créent des tableaux, mais ils
peuvent contenir n'importe quoi ;
 On ne peut pas mélanger les types dans un tableau ;
 La taille d'un tableau est constante : on ne peut pas donc pas
la modifier ;
 On accède aux éléments d'un tableau grâce a l'operateur [] ;

Exemple (construire un tableau contenant les entiers de 1 a 10)


n  10 ;
T  tab_entiers(n) ;
pour i 1 à n
T[i ]  i ;
fin_pour
8
99
1010
Notions de sous-algorithme
 Définition
 La notion de sous-algorithme est un moyen simple et efficace de structurer les

algorithmes. Elle consiste a associer un nom a un groupe d'instructions qui


peut alors être active par l'appel de cet identifiant. Cette notion possède
plusieurs avantages.
 Intérêt :
Réaliser un découpage d’une tâche en sous-tâche.
Effectuer une seule description d’une tâche commune
Concevoir une application de manière descendante en entrant de plus en plus dans les
détails
Lisibilité
Optimisation
Fiabilité
11
Notions de sous-algorithme
 Lisibilité : Lorsqu'un algorithme est convenablement structuré, il est composé de petites

sections ne dépassant pas une page écran. Il est alors possible de suivre et comprendre le
déroulement d'un traitement. La lisibilité s'en trouve grandement accrue.

 Optimisation : Il arrive que des groupes d'instructions se répètent plusieurs fois dans un

même algorithme. En créant une section regroupant ces instructions il est possible de gagner
du temps en conception et en saisie, de réduire la longueur d'un algorithme et l'espace
alloué aux variables, mais également faciliter les opérations de déboggage et maintenance.

 Fiabilité : Un système est d'autant plus fiable que les liaisons entre ses différents éléments

sont plus étroites et limitées. La décomposition d'un algorithme en différentes sections


accroît de façon notable sa fiabilité. La notion de sous-algorithme, en permettant de définir
des zones mémoires cachées à l'algorithme ou aux autres sous-algorithmes appelants, permet
de limiter cette dispersion de l'information, et de ce fait, d'accroître la fiabilité globale d'un
système.
12
Procédures & Fonctions
 Une procedure est un algorithme paramétré, c.-a-d.
un bloc d'instructions, ayant un début et une fin, et
identifie par un nom (l'identifiant)
 La signature (ou en-tête) d'un sous-algorithme est le
couple < identifiant, paramètres >. L'arite est le
nombre de paramètres d'un sous-algorithme.
 Structure : un sous-algorithme est composé
D’une tête nom sous-algorithme, paramètres(arguments) avec
leur type
D’un corps des déclarations d’objets locaux aux sous-
algorithme, instructions à exécuter

13
Exemple de fonction / fonction

14
Forme d’une Fonction
 Une fonction s'écrit en dehors du programme principal sous la forme

Fonction identificateur (paramètres et leurs types) : type_retour_fonction


debut
Instructions constituant le corps de la fonction
retourne …
Fin

 type de fonction : le type du résultat renvoyé par la fonction


 Identificateur : le nom que l’on a donné à la fonction
 liste de paramètres : la liste des paramètres formels donnés en entrée avec
leurs types
 corps de la fonction : un bloc d’instructions, pouvant comprendre la
déclaration des « variables locales » a la fonctions
Remarque : le corps de la fonction doit comporter une instruction de la forme :
return(expression); où expression est du type du résultat de la fonction

15
Procèdures
 Dans certains cas, on peut avoir besoin de répéter une tache dans plusieurs
endroits du programme, mais que dans cette tache on ne calcule pas de
résultats ou qu'on calcule plusieurs résultats à la fois

 Dans ces cas on ne peut pas utiliser une fonction, on utilise une procédure

 Une procédure est un sous-programme semblable à une fonction mais qui ne


retourne rien

 Une procédure s'écrit en dehors du programme principal sous la forme :

Procédure nom_procédure (paramètres et leurs types)


debut
Instructions constituant le corps de la procédure

Fin
 Remarque : une procédure peut ne pas avoir de paramètres

16
Appel d'une procédure
 L'appel d'une procédure, se fait dans le programme principale ou dans une
autre procédure par une instruction indiquant le nom de la procédure :

Procédure exemple_proc (…)


Début

Fin

Algorithme exepmleAppelProcédure
Début
exemple_proc (…)

Fin

 Remarque : contrairement à l'appel d'une fonction, on ne peut pas affecter la


procédure appelée ou l'utiliser dans une expression. L'appel d'une procédure est
une instruction autonome
17
Paramètres d'une procédure
 Les paramètres servent à échanger des données entre le programme
principale (ou la procédure appelante) et la procédure appelée

 Comme avec les fonctions :


 Les paramètres placés dans la déclaration d'une procédure sont appelés
paramètres formels. Ces paramètres peuvent prendre toutes les valeurs
possibles mais ils sont abstraits (n'existent pas réellement)

 Les paramètres placés dans l'appel d'une procédure sont appelés


paramètres effectifs. ils contiennent les valeurs pour effectuer le
traitement

 Le nombre de paramètres effectifs doit être égal au nombre de paramètres


formels. L'ordre et le type des paramètres doivent correspondre

18

Vous aimerez peut-être aussi