Algorithmes et Programmation structurée.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.
Il se défini en quatre axes :
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 :
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.
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]
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 :
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
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'actionsIII.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.
les opérations arithmétiques courantes, additions, soustractions, multiplication et division s'écrivent ainsi :
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
Pour exprimer ces conditions on utilise les opérateurs conditionnels suivant :
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.
Les actions qui suivent le sinon ou le ALORS peuvent être
III.d. Les actions répétitivesIII.d.1. Le TantQue
TantQue condition Faire actions FTQ Ce qui signifie : tant que la condition est vraie, on exécute les actions.
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
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
|