Setup Menus in Admin Panel

2. Notions de programmation

On a besoin d’un formalisme minimum pour décrire un algorithme dans un langage présentant moins de contrainte et de spécificités qu’un langage de programmation (Java, C, Pascal, etc.).

Dans la littérature, les algorithmes sont décrits dans un pseudo langage qui ressemble à un langage de programmation, tout en étant plus flexible (on reste souple tant qu’il n’y a pas d’ambiguïté). En cas de besoin, les instructions simples sont séquencées par un « ; ».

Tous les pseudo langages recouvrent les mêmes concepts.

 

Les variables

Elles sont déclarées avec l’indication de leur type.

Exemple :

Booléen b, Entier n, Réel x, Caractère c, Chaîne s, etc.

Ou encore

Bool b, Int n, Float x, Char c, String s, etc.

 

Une variable peut être globale (visible dans tout l’algorithme) ou locale (visible uniquement dans le bloc dans lequel elle a été créée).

 

Les affectations

On pourra représenter l’affectation de la valeur 5 à une variable a de plusieurs manières :

  • a = 5
  • 5      →       a
  • a      <-    5

 

Les structures de contrôle

Les blocs d’instructions sont entourés par

  • { … }

ou

  • début … fin

 

Exemples

  • SI

SI (condition) {

instruction1;

instruction2 ;

} SINON {

Instruction3;

}

 

  • POUR

POUR i ALLANT DE min A max {

Instruction1 ;

}

 

  • TANT QUE

TANT QUE (condition) {

instruction1 ;

}

 

FAIRE {

instruction1 ;

} TANT QUE (condition)

 

Les fonctions et procédures

Lorsqu’un algorithme a une certaine longueur, il y’a une forte probabilité de devoir procéder aux mêmes traitements, ou à des traitements similaires, à plusieurs endroits de son déroulement.

La manière la plus évidente de gérer cette situation est de répéter le code correspondant autant de fois que nécessaire. Cette solution, bien qu’elle semble plus simple, pose beaucoup de problèmes.

  • Les répétitions rendent l’algorithme touffu et difficilement lisible, ce qui est un problème important lorsque plusieurs personnes doivent pouvoir le comprendre et/ou le modifier
  • Une telle structure pose des problèmes considérables de maintenance. En effet, en cas de besoin de modification d’un code, il faut traquer toutes les apparitions plus ou moins identiques de ce code, avec les risques d’oubli et d’erreur que cela comporte.

Les procédures et les fonctions sont une solution à ce type de problème. Elles permettent un découpage de l’algorithme en « sous-programmes » pour rendre sa compréhension et son développement plus faciles, en regroupant les instructions d’un traitement dans un module séparé qui peut être ensuite appelé chaque fois que l’on en a besoin.

 

Tandis qu’une fonction renvoie une valeur au programme qui l’a appelée, une procédure n’en renvoie pas. Par exemple, on utilisera une procédure pour regrouper des instructions permettant d’effacer l’écran, d’afficher un message, etc.

 

Lorsqu’on appelle la fonction, on doit lui préciser quelle(s) variable(s) (représentant des informations) elle doit prendre en entrée pour pouvoir produire le résultat attendu. Ces informations sont appelées des paramètres ou des arguments. Ces arguments peuvent être passés :

  • Par valeur (toute modification de cette valeur n’est valable qu’à l’intérieur de la fonction)
  • Par référence (la variable est manipulée en utilisant sa référence et les modifications faites à l’intérieur de la fonction restent valables après la sortie de la fonction).

Par défaut et sauf précision expresse, les arguments sont passés par valeur.

L’ensemble du nom d’une fonction ou d’une procédure et de ses paramètres est appelé son prototype.

 

Exemple :

Fonction periode(Date dateDebut, Date dateFin) renvoie Entier

Procedure afficheMessage(Chaine msg)

 

Structures de données

Les structures de données sont utilisées pour stocker des données qui ne sont pas atomiques.

Exemple :

  • Les tableaux : Si A est un tableau, A[i] est le ième élément du tableau
  • Structure personnalisées : Si P est une structure modélisant un point et x un champ de cette structure représentant l’abscisse du point, P.x est l’abscisse de P
SEE ALL Add a note
YOU
Add your Comment

Related Courses Widget

Course

GetReady
BP : 13832 Nkolfoulou Yaoundé
Tel: 00237 655 214 000
Email: contact@lets-getready.org

top
© GetReady. Tous droits réservés.
X