PROCEDURES NON PARAMETREES
Les procédures sont utilisées pour exécuter diverses tâches comme afficher des menus pour l'utilisateur. La procédure (module) se compose d'un ensemble d'instructions, regroupées grâce aux mots-clés begin et end. Chaque procédure a un nom, semblable au titre qui est donné au module principal.

Toutes les variables utilisées par la procédure doivent être déclarées avant le mot-clé begin.


	PROCEDURE  DISPLAY_MENU;
	begin
	     writeln('Le Menu est');
	     writeln(' 1: Editer le fichier');
	     writeln(' 2: Afficher le fichier');
	     writeln(' 3: Sauver le fichier');
	     writeln(' 4: Copier le fichier');
	     writeln(' 5: Imprimer le fichier')
	end;

La procédure ci-dessus appelée DISPLAY_MENU, exécute chacune des instructions à tour de rôle. Pour s'en servir dans un programme, on écrit le nom de la procédure, par exemple,

	program PROC1 (output);
	
	PROCEDURE  DISPLAY_MENU;
	begin
	     writeln('Le Menu est');
	     writeln(' 1: Editer le fichier');
	     writeln(' 2: Afficher le fichier');
	     writeln(' 3: Sauver le fichier');
	     writeln(' 4: Copier le fichier');
	     writeln(' 5: Imprimer le fichier')
	end;

	begin
		writeln('Comment faire pour appeler la procedure');
		DISPLAY_MENU;
		writeln('On est sorti de la procedure')
	end.

Dans la partie principale du programme, on exécute l'instruction

		writeln('Comment faire pour appeler la procedure');
ensuite on appelle la procédure DISPLAY_MENU. Toutes les instructions de cette procédure sont exécutées; on passe ensuite à l'instructions qui suit l'appel de la procédure dans la section principale:

		writeln('On est sorti de la procédure')
Le résultat du programme est
        Comment faire pour appeler la procedure
        Le Menu est
	 1: Editer le fichier
	 2: Afficher le fichier
	 3: Sauver le fichier
	 4: Copier le fichier
	 5: Imprimer le fichier
        On est sorti de la procedure


TESTEZ-VOUS
Qu'affiche ce programme?

	program  SIMPLE_PROCEDURES (input,output);
	var      time, distance, speed : real;

	procedure display_title;
	begin
	     writeln('Ce programmme calcule la distance parcourue a partir');
	     writeln('de deux variables entrees au clavier, speed et');
	     writeln('time.')
	end;

	procedure get_choice;
	begin
	      writeln('Entrez la vitesse MPH');
	      readln( speed );
	      writeln('Entrez le temps en heures');
	      readln( time )
	end;

	procedure calculate_distance;
	begin
	      distance := speed * time
	end;

	procedure display_answer;
	begin
	      writeln('La distance parcourue est ', distance:5:2,' miles.')
	end;

	begin      {Ceci est le debut effectif du programme}
	      display_title;
	      get_choice;
	      calculate_distance;
	      display_answer
	end.

Cliquez ici pour la réponse

Remarquez que les trois variables, time, speed et distance, sont disponibles pour toutes les procédures. Elles peuvent être mises à jour par n'importe quelle procédure, et sont appelées des variables GLOBALES.

Les variables qui sont déclarées en dehors des procédures sont accessibles partout dans le programme. L'emploi de variables globales est à éviter car dans de grands programmes, il est difficile de déterminer quelle procédure met à jour la valeur de variables globales.


PROGRAMME QUINZE
Transformez le programme calculette (programme 12), en un programme qui utilise des procédures non paramètrées, afin de réaliser les différents calculs. Employez des variables globales pour number1, operator et number2.

Cliquez ici pour la réponse


Copyright B Brown/P Henry/CIT, 1988-1995. Tous droits réservés.
Copyright UCL/INGI, 1995. Tous droits réservés
URL: http://candix1.fsa.ucl.ac.be/langages/Pascal/tutoriel/pas041.htm