Section courante

A propos

Section administrative du site

Du Pascal en C#

Lorsqu'on apprend d'autres langages comme le Pascal et qu'on bascule au langage de programmation, on cherche d'abord à accroitre la portabilité de nos routines avant de faire un saut complet. Ainsi, voici quelques exemples de fonctions du langage de programmation Pascal en leur équivalent en langage de programmation C# (C Sharp).

ODD

Fidèle descendent du langage de programmation C, dans le langage de programmation C#, aucune méthode permet de de déterminer si un nombre est impaire ou paire, lequel est évidemment présent dans le langage de programmation Pascal. Voici un exemple d'une méthode ODD en langage de programmation C# :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ODD_samples
  7. {
  8.     class Program
  9.     {
  10.         static bool ODD(int value)
  11.         {
  12.             return (value & 1) == 1;
  13.         } 
  14.  
  15.         static void Main(string[] args)
  16.         {
  17.  
  18.             Console.WriteLine("ODD(-1)=" + ODD(-1));
  19.             Console.WriteLine("ODD(0)=" + ODD(0));
  20.             Console.WriteLine("ODD(1)=" + ODD(1));
  21.             Console.WriteLine("ODD(2)=" + ODD(2));
  22.         }
  23.     }
  24. }

on obtiendra le résultat suivant :

ODD(-1)=True
ODD(0)=False
ODD(1)=True
ODD(2)=False

PRED

En langage de programmation Pascal, une fonction permet de retourner la valeur précédente aussi bien des valeurs de caractère que des nombres, lequel est appelé des valeurs scalaires. En langage de programmation C#, l'approche est différente, ainsi, c'est à l'affichage, plutôt qu'au moment du traitement qu'on décide si c'est un caractère ou un nombre. Voici donc, une méthode PRED en C# équivalente au Pascal :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace PRED_samples
  7. {
  8.     class Program
  9.     {
  10.         static int PRED(int input)
  11.         {
  12.             return input - 1;
  13.         }
  14.  
  15.         static char PRED(char input)
  16.         {
  17.             return (char)((int)input - 1);
  18.         }
  19.  
  20.         static bool PRED(bool input)
  21.         {
  22.             return !input;
  23.         }
  24.  
  25.  
  26.         static void Main(string[] args)
  27.         {
  28.             Console.WriteLine("PRED('C')=" + PRED('C'));
  29.             Console.WriteLine("PRED(64)=" + PRED(64));
  30.             Console.WriteLine("PRED(TRUE)=" + PRED(true));
  31.         }
  32.     }
  33. }

on obtiendra le résultat suivant :

PRED('C')=B
PRED(64)=63
PRED(TRUE)=False

SUCC

Suivi le même ordre d'idée que la fonction PRED, il existe une fonction en langage de programmation Pascal permettant de connaitre le successeur d'un scalaire, appelé «SUCC». Voici donc, une méthode SUCC en C# équivalente au Pascal :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace SUCC_samples
  7. {
  8.     class Program
  9.     {
  10.         static int SUCC(int input)
  11.         {
  12.             return input + 1;
  13.         }
  14.  
  15.         static char SUCC(char input)
  16.         {
  17.             return (char)((int)input + 1);
  18.         }
  19.  
  20.         static bool SUCC(bool input)
  21.         {
  22.             return !input;
  23.         }
  24.  
  25.         static void Main(string[] args)
  26.         {
  27.             Console.WriteLine("SUCC('C')=" + SUCC('C'));
  28.             Console.WriteLine("SUCC(64)=" + SUCC(64));
  29.             Console.WriteLine("SUCC(TRUE)=" + SUCC(true));
  30.         }
  31.     }
  32. }

on obtiendra le résultat suivant :

SUCC('C')=D
SUCC(64)=65
SUCC(TRUE)=False


Dernière mise à jour : Mercredi, le 1 novembre 2017