Règles générales de saisie et de présentation de sources Pascal

Un article de Mangue.org, l'encyclopéde libre.


Le troisième cours introduit les règles générales de saisie et de présentation de vos codes sources.


Sommaire

Les blocs

Pour commencer vous devez savoir qu'en Pascal la casse n'a aucune importance! C'est à dire qu'un mot écrit en miniscules ou en majuscules est interprété de la même manière (comme begin, Begin, bEGiN ou BEGIN)

program Premier_Programme_Modifie;

begin
(* Cette version a ete modifiee *)
  write ('Vive ');
  write ('le Monde de');
  write (' la Programmation !!!');
end.

Chacun de ces blocs regroupe des instructions. Pour le programme celà devient en quelque sorte une instruction unique.
Votre programme au complet est donc une instruction à lui tout seul qui est exécutée d'un trait. La seule différence entre ce que vous voyez ci dessus est que l'écriture de notre chaîne de caractère a été divisée en plusieurs taches "plus simples".
Nous avons rapidement vu dans le [./cours1.htm premier cours] que le ; sert à séparer les différentes instructions au sein d'un programme. Elles sont exécutées les unes après les autres, ce qui implique qu'à la fin du programme nous avons écrit exactement la même chaîne.

En fait ça n'a aucun autre intérêt que de servir d'exemple. Les instructions sont exécutées de la première à la dernière sans aucune interruption ; ceci correspond à ce que l'on appele la séquenece en algorithmie.

Remarque
Les blocs prendront de l'importance lorsque nous écrirons des programmes plus complexes, et notemment avec les structures conditionnelles et itératives.
De plus il est possible d'imbriquer des blocs entre eux ce qui permet d'écrire rapidement des programmes complexes.


Les identificateurs

Bientôt vous en manipulerai sans même vous en rendre compte. Il s'agit en fait des noms d'objets que vous créez dans vos programmes (constantes, variables, unités...)
Ils sont omniprésents et sont en règle générale uniques ! (il existe des règles de portée des identificateurs que nous verrons plus tard, celles-cis permettent d'avoir deux fois le même identificateur pour des choses différentes dans un programme)

Un identificateur est représenté par une suite de caractères (lettres, chiffres et caractère de soulignement _ ) mais doit toujours commencer par une lettre.
De plus vous vous doutez qu'il est plus judicieux de choisir Premier_Programme comme identificateur plutôt que P_P, des noms explicitent vous aideront à vous repérer facilement dans votre code.


Les commentaires

Les commentaires sont là pour vous aider à vous repérer dans vos codes sources en vue d'éventuelles modifications du code ou tout simplement pour y comprendre quelque chose si vous le reprenez au bout de quelques semaines!

program Premier_Programme_Modifie;

(*
 Titre   : Premier programme modifie

 Auteur  : Bgw
 Date    : 26 / 07 / 00
*)

{ uses WinCrt;  (* seulement sous Windows *) }

begin (* debut du programme *)
  write ('Vive ');
  write ('le Monde de');
  write (' la Programmation !!!');
end.  (* fin du programme *)

Tout ce qui est compris entre (* et *) ou { et } est un commentaire. Pour des raisons de lisibilité (surtout sur le Net) nous utiliserons surtout les (* *)
Vous voyez aussi en ligne 10 du source (unit WinCrt;) que nous "imbriquons" les commentaires. Ceci est fortement déconseillé car il est facile de s'y perdre! Je l'ai fait ici simplement pour vous signaler que c'était possible ;o]
Les commentaires peuvent s'étendre sur plusieur lignes, profitez en donc pour mettre des renseignements utiles au début de vos programmes comme dans cet exemple.

Toute séquence de caractères peut être mise en commentaire, c'est donc aussi vrai pour une instruction du programme... Alors essayons de lancer le programme suivant :

program Encore_Modifie;
(* affiche un simple message *)

(* uses WinCrt; *)

begin
   write ('Vive ');
(* write ('le Monde de'); *)
   write (' la Programmation !!!');
end.

Non vous ne révez pas l'instruction est tout simplement ignorée (mise en commentaire). Vous avez donc là une méthode de déboggage fort pratique qui vous évite de sans cesse supprmier des bouts de codes ! Mettez les simplement en commentaire, l'effet produit ne diffèrera pas.


La casse

Comme nous l'avons vu plus haut le PAscal ne fait pas de différences entre majuscules et minuscules...
Pourtant il y a une convention simple que je vous conseille d'adopter afin d'accélérer vos traveaux sur les codes sources ! Ceci consiste à écrire les mots clefs du langage en minuscule, les morceaux de code assembleur (nous n'en utiliserons pas ici) et les commentaires en majuscules et enfin les noms d'identificateurs avec une majuscule en tête et tout le reste en minuscule.
De cette façon vous repérerez plus rapidement les éléments dans vos programmes et vos modifications éventuelles n'en seront que plus rapides. De plus c'est une convention que bon nombre de programmeurs utilisent quelque soit le langage.


L'identitation

En Pascal comme dans la plus part des langages récents (mais pas dans les anciens langages comme le Fortran), il est possible d'insérer des blancs partout où vous le désirez dans vos sources. Ceci permet d'augmenter la lisibilité de vos programmes, mais peut également la réduire si vous ne procédez pas correctement, regardez donc l'exemple suivant :

program

  enFINuNpeTIteXErciCe

;(* uses
                wIncrT
; *) begIN

WritE ('Coucou '); wRItE (
'les amis !!!')
;
   wRitE (' C''est pas trop dur ?'
); enD.

Question
Il s'agit pour vous une fois arrivé à la fin de ce cours de rendre ce bout de code lisible par n'importe qui et facilement exploitable ;)

Une des premières choses à faire est évidemment d'écrire sur la même ligne le nom d'une fonction (ou procédure) et ses arguments éventuels jusqu'à ce qu'on atteigne le ; qui en marque la fin.
Ensuite il semble logique pour des raisons de lisibilité de n'écrire qu'une instruction par ligne et pourquoi pas de respecter notre convention d'écriture (pour la casse).
Ensuite nous allons voir ce qu'est l'identation, chose que vous utilisez peut-être même sans en conaître le nom. Il s'agit tout simplement d'écrire les instructions appartenant au même bloc à un même niveau de retrait.
En fait tous les exemples que nous avons vus jusque là répondent à ces critères mais pas celui que je viens de citer.

Réponse
Une correction possible est la suivante, mais ce n'est pas la seule...
program EnfinUnPetitExercice;

(* uses WinCrt; *)

begin
  write ('Coucou ');
  write ('les amis !!!');
  write (' C''est pas trop dur ?');
(* le '' dans une chaine sert a afficher un ' *)
end.

Outils personels