Un logiciel polyvalent d'apprentissage de la programmation
Chapitre 1. Introduction
Chapitre 2. Le logiciel en bref
Chapitre 3. Premiers pas en algorithmique
Chapitre 4. Instructions conditionnelles
Chapitre 5. Boucles
Chapitre 6. Sous-programmes
6.1. Fonctions
6.2. Procédures
6.2.1. Présentation
6.2.2. Procédures non paramétrées
6.2.3. Procédures avec paramètres d'entrée
6.2.4. Procédures avec paramètres de sortie
6.2.5. Procédures avec paramètres d'entrée-sortie
6.3. Travaux dirigés
Chapitre 7. Tableaux à une dimension
Chapitre 8. Tableaux à deux dimensions
Chapitre 9. Enregistrements
Annexe : comment tester vos programmes ?
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module

6.2.3. Procédures avec paramètres d'entrée

Dans cette section, le sous-programme "calculer" est une procédure paramétrée calculant et affichant le prix total et la remise :

Procédure calculer Procédure achat
ENTRER prixUnitaire, quantite
  SI (quantite = 1) ALORS
    remise = 0
  SINON
    remise = 0.1
  FINSI
  prixTotal=quantite*prixUnitaire*(1-remise)
  ECRIRE "prix total : ", prixTotal
  ECRIRE "taux de remise : ", remise
RETOURNER
ENTRER
  ECRIRE "quantite : "
  LIRE quantite
  ECRIRE "prix unitaire en euros : "
  LIRE prixUnit
  EXECUTER calculer(prixUnit, quantite)
RETOURNER

L'instruction ENTRER prixUnitaire, quantite précise que la procédure "calculer" dépend de deux paramètres formels (prixUnitaire, quantite), qui sont associés à des paramètres effectifs (prixUnit, quantite) lorsque l'instruction EXECUTER calculer(prixUnit, quantite) est exécutée.

En Javascool, la syntaxe de cet exemple est la suivante :

Procédure calculer Procédure achat
void calculer(double prixUnitaire, int quantite) {
  double prixTotal; double remise;
  if (quantite == 1) {
    remise = 0;
  }
  else {
    remise = 0.1;
  }
  prixTotal=quantite*prixUnitaire*(1-remise);
  print("prix total : "); println(prixTotal);
  print("taux de remise : "); println(remise);
}
void achat() {
  int quantite;
  double prixUnit;
  quantite=readInt("quantite :");
  prixUnit=readDouble("prix :");
  calculer(prixUnit, quantite);
}
Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante Démarrage du logiciel Webographie du module Glossaire du module