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.

ODD

Un des manques les plus importants à la bibliothèque C standard, c'est l'absence d'une fonction permettant 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 fonction ODD en langage de programmation C :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int ODD(int value) {
  5.     return (value & 1)==1;
  6. }
  7.  
  8. char* BooleanToString(int value) {
  9.     return value?"TRUE":"FALSE";
  10. }
  11.  
  12. int main()
  13. {
  14.     printf("ODD(-1)=%s\n",BooleanToString(ODD(-1)));
  15.     printf("ODD(0)=%s\n",BooleanToString(ODD(0)));
  16.     printf("ODD(1)=%s\n",BooleanToString(ODD(1)));
  17.     printf("ODD(2)=%s\n",BooleanToString(ODD(2)));
  18.     return 0;
  19. }

on obtiendra le résultat suivant :

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

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 fonction PRED en C équivalente au Pascal :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int PRED(int scalar) {
  5.    return scalar - 1;
  6. }
  7.  
  8. int main() {
  9.     printf("PRED('C')=%c\n",PRED('C'));
  10.     printf("PRED(64)=%i\n",PRED(64));
  11.     return 0;
  12. }

on obtiendra le résultat suivant :

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

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 fonction SUCC en C équivalente au Pascal :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int SUCC(int scalar) {
  5.    return scalar + 1;
  6. }
  7.  
  8. int main() {
  9.     printf("SUCC('C')=%c\n",SUCC('C'));
  10.     printf("SUCC(64)=%i\n",SUCC(64));
  11.     return 0;
  12. }

on obtiendra le résultat suivant :

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


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