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édureAppel 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_fonctionAppel 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;
}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>Veuillez saisir vos bornes de départ et d’arrivée afin de calculer la somme des nombres compris entre eux.