Notions d'objets et d'actions
Date de publication : 05/03/2005 ,
Date de mise a jour : 05/03/2005
Par
Selkis (selkis.developpez.com)
Dans le cours qui va suivre, nous allons utiliser un pseudo-langage, comportant toutes les structures de base d'un langage de programmation.
I. Introduction
II. Notion d'objets
II.a. Les types
II.b. Les constantes
II.c. Les variables
II.d. Les tableaux
II.e. Les procédures et fonctions
II.e.1. Les procédures
II.e.2. Les fonctions
III. Notion d'actions
III.a. Les actions d'observation
III.b. Les actions de modification
III.c. Les actions alternatives
III.d. Les actions répétitives
III.d.1. Le TantQue
III.d.2. Le Faire jusqu'à
III.d.3. Le pour
I. Introduction
Un programme est une suite d'instruction exécutées par la machine.
Ces instructions peuvent soit s'enchaîner les unes après les autres, on parle alors de SEQUENCE D'INSTRUCTION,
ou bien s'éxécuter dans certains cas et pas dans d'autres, on parle alors de STRUCTURE ALTERNATIVE; ou se répéter
plusieurs fois, c'est une STRUCTURE REPETITIVE.
L'Algorithme va donc permettre d'exprimer comment résoudre les problèmes, en se centrant sur la nature
du travail, cad, sans soucis des spécificités dues à la machine ou au langage de programmation.
II. Notion d'objets
Les objets forment l'ensemble des éléments manipulés dans un algorithme. Il existe différents types d'objets.
II.a. Les types
Il est obligatoire en algorithmes de classer les objets dans des familles, ces familles s'appellent des types.
un type est défini par un nom et une référence à des types connus.
Il est caractérisé par :
- l'ensemble des valeurs que les objets de ce type peuvent prendre.
- l'ensemble des actions que l'on peut faire sur les objets de ce type.
en conclusion, le rôle d'un type est de permettre de classer les objets dans des familles et de permettre ainsi des manipulations unique entre objets d'une même famille
II.b. Les constantes
Elles sont définies par un identificateur et une valeur. le nom représente la manière de faire référence à la valeur.
La valeur représente le contenu de notre constante qui est invariable.
II.c. Les variables
Elles sont définies par un identificateur pour pourvoir les référencer, par un type pour savoir à quelles familles elles appartiennent, et un contenu.
Son rôle est de stocker les valeurs de certaines informations pour pourvoir les relire, les comparer, les modifier au cours d'un programme.
| Types |
Details |
Declarations |
| ENTIER |
il s'agit de variable destinées à contenir un nombre entier positif ou négatif |
ENTIER variable, variable |
| REEL |
Variables numériques qui ne sont pas des entiers, cad qui comportent des décimales |
REEL variable, variable |
| CARACTERE |
Les variables de type caractère contiennent des caractères alphabétiques ou numériques (de 0 à 9), mais dans ce cas, ils ne sont pas considérés comme étant des nombres et on ne peut pas faire d'opérations dessus. |
CAR variable, variable |
| BOOLEEN |
Variables qui prennant les valeurs VRAI/FAUX ou OUI/NON |
BOOLEEN variable, variable |
II.d. Les tableaux
On peut regrouper plusieurs variables sous un même nom, chacune étant alors repérée par un numéro.
On peut faire un tableau avec n'importe quel type de variable.
Dans tous les cas, le ième élément d'un tableau appelé TAB sera adressé par TAB(i).
Généralement on fait des tableaux à une dimension, mais il existe également des tableaux à deux dimensions , dans ce cas TAB(i,j) représente la Jème colonne et la ième ligne.
déclaration d'un tableau : TABLEAU type variable[longueur]
Exemple de declaration d'un tableau TABLEAU CAR mot[10];
TABLEAU ENTIER liste_nbr[25];
TABLEAU CAR MOTS[10][20]
II.e. Les procédures et fonctions
Ce sont des outils definis par le programmeur qui permettent lorqu'un algorithme devient trop complexe de le découper de manière à ce que chaque partie de code soit plus simple et plus lisible.
De même lorsque qu'une partie de code doit être exécutée plusieurs fois à des endroits différents , ou réutilisée ultérieurement.
II.e.1. Les procédures
Une procédure est une suite d'instruction servant à réaliser uen tâche précise en fonction d'un certain nombre de paramètre.
Les paramètre sont de 2 types :
- le type VAL : qui contient une valeur qui sera utilisée dans la procédure
- le type VAR : qui represente une variable du programme appelant qui pourra être lue et modifiée si nécessaire.
Exemple de déclaration de procédure PROCEDURE nom de la procédure ( VAL type nom, type nom,...VAR type nom, type nom,..)
déclaration de variables locales
DEBUT
actions
FIN
Les variables que l'on déclare localement à la procédure ne sont connues que dans cette procédure.
pour utiliser une procédure dans un programme appelant, on écrit :
L'appel d'une procédure s'ecrit :
Nom de la procédure (variable1, valeur2, ... , variable3, variable4, ...) ;
A chaque paramétre de type VAR on associe un nom de variable connue dans le programme appelant,
A chaque paramétre de type VAL on associe une variable ou une valeur.
II.e.2. Les fonctions
Une fonction est une procédure dont le but est de déterminer une valeur et de la retourner au programme appelant
Exemple de déclaration d'une fonction type FONCTION nom de la fonction (VAL type nom, type nom,... VAR type nom, type nom, ...)
déclarations de variables locales
DEBUT
actions
RETOURNE valeur
FIN
Les même remarques que pour la procédure s'appliquent.
De plus, il faut noter que la fonction retourne une valeur on doit donc à la déclaration indiquer le type de cette valeur.
l'appel d'une fonction s'ecrit :
variable : nom de la fonction (valeur1, valeur2,..)
Une fonction ne peut donc pas retourner un tableau
III. Notion d'actions
III.a. Les actions d'observation
Elles permettent de comparer deux objets de même type. Sont-ils égaux? L'un est il plus grand que l'autre?
III.b. Les actions de modification
elles donnent une valeur à une variable. Cette valeur peut être celle d'une autre variable, d'une constante, le résultat de l'appel d'une fonction, ou le résultat d'opérations entre plusieurs de ces objets.
Variable <-- Valeur
i<--1
Termine <-- Vrai
les opérations arithmétiques courantes, additions, soustractions, multiplication et division s'écrivent ainsi :
variable <-- val1 + val2
variable <-- val1 - val2
variable <-- val1 * val2
variable <-- val1 / val2
III.c. Les actions alternatives
elles permettent d'effectuer des actions (de n'importe quelle catégorie) suivant certaines conditions.
En effet , il est souvent nécessaire lorsque l'on écrit un programme de distinguer plusieurs cas conditionnant l'éxécution de telles ou telles instructions.
Pour ce faire, on utilise une structure alternative : si on est dans tel cas, alors on fait cela sinon on fait ceci.
La syntaxe est la suivante : SI condition Alors actions [ SINON actions] FSI
les crochets indiquent que la partie SINON est falcultative
| Exemple |
| SI (a <--0) ALORS ABS <-- a*(-1) SINON ABS <-- a FSI |
| SI (a <>0) ALORS RES <-- B/a FSI |
On peut combiner des conditions à l'aide des opérateurs logiques suivants :
ET OU NON XOR
Exemple : ((a<2) ET ((b=0) ou (c<>a)) XOR (d=1))
Lorsque l'on écrit de telles conditions , il est recommandé de mettre toutes les parenthèses afin d'éviter les erreurs.
III.d. Les actions répétitives
III.d.1. Le TantQue
TantQue condition
Faire actions
FTQ
Ce qui signifie : tant que la condition est vraie, on exécute les actions.
Exemple : fini <-- faux;
TantQue (NON fini)
Faire
i <--i+1
Si (x/i < epsilon) Alors
fini <-- VRAI
SINON x <-- x/i
FSI
FTQ
III.d.2. Le Faire jusqu'à
FAIRE
actions
JUSQUA condition
Ce qui signifie : que l'on exécute les actions jusqu'a ce que la condition soit vraie
Exemple :
fini <-- faux;
Faire
i <--i+1
Si (x/i < epsilon) Alors
fini <-- VRAI
SINON x <-- x/i
FSI
Jusqua (fini=VRAI)
III.d.3. Le pour
Trés souvent, on utilise une structure répétitive avec un compteur et on s'arrête lorque le compteur a atteint sa valeur finale.
i <-- 1
TantQue (1<10)
Faire
p <-- p*X
i <-- i+1
FTQ
C'est pourquoi la plupart des languages de programmation offrent une structure permettant d'écrire cette répétitive plus simplement, c'est la structure POUR
POUR variable ALLANT DE valeur initiale A valeur finale [PAS valeur du pas]
Faire actions
FinPour
 |
Lorque le PAS est omis, il est supposé égal à +1
|
Exemple :
POUR i ALLAN de 1 A 10
Faire
p <-- p * X
FinPour
|