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]
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.
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
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.
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
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
POUR i ALLAN de 1 A 10
Faire
p <-- p * X
FinPour