Notions d'objets et d'actions

selkis

Dans le cours qui va suivre, nous allons utiliser un pseudo-langage, comportant toutes les structures de base d'un langage de programmation.

- Titre : Notions d'objets et d'actions

- Auteur : selkis

- Parution : 5 mars 2005

- Mise à jour : 7 mars 2013

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2013 selkis. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 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.

- Définition des objets que l'on va manipuler (declaration)

- Utilisation des objets définis (actions)

- Présentation des Algorithmes (commentaires et indentation)

- Esprit dans lequel l'algorithme est construit.

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 déclaration 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 définis par le programmeur qui permettent lorsqu'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 une 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 représente 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'écrit : Nom de la procédure (variable1, valeur2, ... , variable3, variable4, ...) ;
À chaque paramètre de type VAR on associe un nom de variable connue dans le programme appelant,
À chaque paramétré 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'écrit :
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

Pour exprimer ces conditions on utilise les opérateurs conditionnels suivant :

- = Egal

- <= Inférieur ou églal

- < Inférieur

- >= Supérieur ou égal

- > Supérieur

- <> Différent

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.

- Une simple instruction

- Une suite d'instructions séparées par des ";"

- Une autre alternative

- Une répétitive

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'à 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