Les fonctions permettent de structurer le code en blocs réutilisables. Une fonction correspond à un bloc de code nommé, avec ou sans paramètres. Une procédure correspond a une fonction qui ne retourne pas de valeur (selon le langage).

Syntaxe :

Déclaration d’une procédure

procédure nom_procédure (liste arguments)
Déclaration
    variables locales
Début
    traitement
Fin nom_procédure

Appel d’une procédure :

nom_procédure (liste parametres effectifs)

Déclaration d’une fonction :

fonction nom_fonction (liste arguments) : type
Déclaration
    variables locales
Début
    traitement
    retourner expression
Fin nom_fonction

Appel de la fonction :

nom_variable <- nom_fonction(liste parametres effectifs)

Déclaration en C :

void nom_procedure (liste arguments){
variables locales
traitement
}

----------------------------------------

type nom_fonction(liste arguments){
variables locales
traitement
return expression;
}

Déclaration en PHP :

function nom_procedure (liste arguments){
traitement
}

----------------------------------------

function nom_fonction (liste arguments){
traitement
return expression;
}

Exercice

A vous de jouer !

Consigne : Ecrire une procédure (algo, C, PHP) qui permet de recevoir deux limites entières et affiche la somme des nombres compris entre les limites.

Procédure somme (lim1, lim2 : entier)
Déclaration 
	i : entier 
	som : entier
Début 
	som <- 0 
	Pour i allant de lim1 à lim2 faire 
		som <- som + i
	Fin pour 
	Afficher ("La somme des nombres est de :" ,som)
Fin somme 

Algo : utilisation_somme 
Déclaration 
	a, b : entier 
Début 
	Afficher ("Donner la premiere limite :")
	Saisir (a)
	Afficher ("Donner la deuxieme limite :")
	Saisir (b)
	//appel de la procédure somme 
	somme(a,b)
Fin utilisation_somme


<!DOCTYPE html>
<html>
<head>
    <title>Procédures et fonctions</title>
    <meta charset="utf-8">
</head>
    <body>
        <div class="conteneur-principal">
            <h1>Exercice somme</h1>
            <p>Veuillez saisir vos bornes de départ et d’arrivée    afin de calculer la somme des nombres compris entre eux.
            </p>
            <form method="post">
                <label>Borne de départ :</label>
                <input type="text" name="lim1"></br>
                <label>Borne d'arrivée :</label>
                <input type="text" name="lim2"></br>
                <input type="submit" name="calculer" value="calculer">
            </form>
            </div>

            <?php 
            function somme ($lim1,$lim2){
                $som = 0;
                for ($i=$lim1;$i<=$lim2 ;$i++) { 
                    $som += $i;
                }
                printf("la somme des nombres est de:%d", $som);
            }
            if (isset($_POST["calculer"])) {
                $a = (int)$_POST["lim1"];
                $b = (int)$_POST["lim2"];
                if($a<=$b){
                somme($a,$b);
                }else{
                echo "Erreur, borne de départ supérieur à la borne d'arrivée.";
                }
            }

            ?>
    </body>
</html>

Exercice somme

Veuillez saisir vos bornes de départ et d’arrivée afin de calculer la somme des nombres compris entre eux.