Module: Sous-programmes : procédures et fonctions - 2


Problem

1/10

fonction de sous-programme

Theory Click to read/hide

Une fonction est une sous-routine qui renvoie un résultat (nombre, chaîne de caractères, etc.)

Imaginez que vous ayez commandé un produit dans une boutique en ligne. D'un point de vue programmation, vous avez appelé un certain sous-programme, et contrairement à une procédure, ce sous-programme doit renvoyer un résultat - livrer le produit que vous avez commandé. Ces sous-programmes sont appelés fonctions.
Une fonction est formatée de la même manière qu'une procédure : fonction <nom de la fonction> (liste des paramètres sous forme de <nom de variable> :<son type> séparés par des points-virgules) : <type de valeur de retour> ; commencer <corps de fonction> fin;
La différence entre une fonction et une procédure est qu'une fonction doit retourner une valeur. Pour ce faire, vous devez utiliser le nom de la fonction comme variable ou la variable spéciale Résultat : fonction Somme(a, b:entier) : entier ; commencer Somme := a + b; fin; ou fonction Somme(a, b:entier) : entier ; commencer Résultat := a + b; fin;
Une fonction qui renvoie la moyenne arithmétique de deux entiers ressemblerait à ceci : fonction moyenne(a, b : entier) : réel ; commencer   moyenne := (a + b) / 2; fin; Reste à comprendre comment appeler cette fonction dans le programme principal :
Vous ne devez pas appeler une fonction de la même manière que vous appelez une procédure : moyenne(10, 5); La valeur retournée par la fonction sera perdue. C'est comme si les produits de la boutique en ligne n'étaient donnés à personne, mais jetés. Il est peu probable que le client l'aime.

Il est plus correct de sauvegarder le résultat dans une variable (ou de l'afficher à l'écran) : a := moyenne(10, 5);

ou

writeln(moyenne(10, 5));

Problem

Écrivez une fonction qui calcule la somme des chiffres d'un nombre naturel.
En utilisant cette fonction, écrivez un programme qui, parmi 5 nombres naturels entrés, trouve le nombre avec la somme maximale de chiffres. S'il y a plusieurs numéros de ce type, écrivez le numéro le plus grand
 
Exemples
# Entrée Sortie
1 15
234
11
9
111112
234