Revit C# – Les bases pour la programmation procédurale

La syntaxe générale

Commençons par une bonne nouvelle : comme C# est un langage compilé, l’éditeur va vous aider dans le respect de la syntaxe.

Le compilateur

Quand on parle de langage de programmation, on parle de langage pour l’humain. Vous écrivez un code dans un langage que vous pouvez relire ou qu’un autre peu relire. Par contre, un ordinateur ne comprend que le langage machine, le langage binaire (1001111011110100111000…). Pour passer de l’un a l’autre, la conversion se fait soit au moment de l’exécution du code (langage interprété), soit avant (langage compilé). Ainsi, il faut d\’abord compiler le code avant de l’exécuter. Cela représente une étape de plus, mais apporte beaucoup d’avantage. Le principale avantage est que le compilateur détecte les erreurs de syntaxe.

Tout d’abord, il faut préciser que un caractère majuscule est différent d’un caractère minuscule.
HauteurMur, hauteurmur, hauteurMur ne représente pas la même chose.

Le code est composé de ligne. La fin d’une ligne est marquée par un point-virgule ( ; ). Le saut de ligne n’a donc pas d’influence. Les caractères espace ne sont utiles que pour lever une ambiguïté.
Les deux lignes suivantes sont équivalentes :

double a = HauteurMur ( b ) ;
double a=HauteurMur(b);

Par contre, cette ligne est erronée :

 doublea=HauteurMur(b);

les caractères { et } délimitent les portions de code.
Ces caractères délimitent par exemple le code d’une fonction :

double HauteurMur( double valeur) { return valeur * 2.0 ; }
double a = HauteurMur(2.5); // maintenant a vaut 5 !

Les variables

Les variables doivent être initialiser avant d’être utiliser, et ne doivent être initialisées qu\’une fois. Ainsi, il ne faut pas écrire : a = 2 ; b = a + 5 ; mais int a = 2 ; int b = a + 5 ; Les types de donnée de base que l’on va principalement utiliser sont :

  • Les valeurs décimales (double).

Ce type de données permet de travailler avec des nombres à virgule avec une grande précision. Exemple : double hauteurFenetre = 2.155 ; // la hauteur de la fenêtre en mètre

  • Les entiers (int).

Ce type de données est utile pour travailler avec des nombres que ne devrait pas avoir de décimale. Exemple : int nombreOuverture = 2 ; // le nombre d\’ouverture dans une fenêtre

  • Les chaines de caractères (string).

Ce type de données s\’apparente au texte. Il a besoin d’être écrit entre guillemet (\” \”) afin de bien définir le début et la fin. Exemple : string nomFenetre = “alu 90×215 blanc” :

  • Les booléens (bool).

Ce type de données est utile pour définir un état qui ne peut prendre que 2 valeurs : vrai ou faux (true ou false). Exemple : bool estDisponible = true;

Les fonctions

une fonction est une portion de code appelée ailleurs dans le code. C’est la base de la programmation procédurale. Elle a un nom, éventuellement des arguments, éventuellement une valeur de retour. Le nom est libre et n’amène aucune remarque ici. Les arguments doivent avoir un type. Ils précisent les valeurs d’entrée de la fonction. La valeur de retour doit également avoir une valeur de retour.
Exemple de fonction :
Calcul de la surface selon la largeur et la hauteur.
La fonction accepte deux valeurs décimales en entrée et renvoi une valeur décimale.

double Surface(double largeur, double hauteur) { return largeur * hauteur; }

Exemple d\’utilisation de la fonction :

double largeurFenetre = 0.9;
double hauteurFenetre = 2.15;
double surfaceFenetre = Surface(largeurFenetre, hauteurFenetre);
surfaceFenetre = Surface(1, 1.5);

La condition simple.

on utilise le mot clé ‘if’ pour définir une condition simple, comme dans beaucoup de langage.

Exemple :

if (hauteurFenetre > 2.4)
{ // la fenetre est peut etre trop grande }

En C#, on utilise plutôt la programmation objet. Ainsi, toutes les fonctions doivent être dans une classe, et une portée doit être précisée.

public class MesFonctions {
  public double Surface(double largeur, double hauteur)
  { 
    return largeur * hauteur; 
  }
}
Fermer le menu