Algo, tableau : procedure ou fonction?

Fermé
zivodul8 Messages postés 229 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 19 mai 2015 - 8 févr. 2010 à 16:07
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 - 9 févr. 2010 à 07:52
Bonjour,
Ma question est simple mais reste pour moi sans réponse : je dois demander les valeurs d'un tableau à l'utilisateur avec un sous programme, mais je ne sais pas si je dois utiliser une fonction ou une procédure??
Merci de votre aide ;)
A voir également:

3 réponses

garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 406
8 févr. 2010 à 16:18
l'un ou l'autre n'as pas d'importance, ca influ juste sur la facon dont ca va etre écrit
exemple:
avec une fonction:
début
variable
untab:tableau de valeur
untab=demandevalue()

fin
fonction demandevalue() : tableau de valeur
variable:
montab[10] //minimum=1, maxi=10 donc 10 "cellules"
pour i=1 jusqu'a 10
écrire "valeur ?"
lire montab[i]
fin pour
retourner montab
fin fonction

avec une procédure
début
variable:
montab:tableau de valeur
demandevalue(E/S untab)
fin
procédure demandevalue(E/S montab:tableau de valeur) 
variable:
tableau[10] //minimum=1, maxi=10 donc 10 "cellules"
pour i=1 jusqu'a 10
écrire "valeur ?"
lire tableau[i]
fin pour
fin procédure


pour la fonction et la procédure, la boucle peu etre dans celle ci ou bien a l'extérieur (dans ce cas la boucle appellera plusieurs fois la procédure/fonction afin de remplir le tableau, mais alors le montab qui est dans la fonction/procédure ne sera plus un tableau mais une simple variable)

si tu as d'autres question n'hésite pas
2
zivodul8 Messages postés 229 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 19 mai 2015 22
8 févr. 2010 à 16:31
En faite je suis un débutant en algorithme; et je reconnais pas trop ce que tu as ecrit. Et il me faut le "meilleur" algo possible. Je memélange un peu entre paramètres fixes et paramètres modifiables. Dis moi ce que tu en penses:
//declaration
procedure cine FIXE ()
MODIF (var tabcine);
debut
pour l variant de 0 a nbli-1 avec un pas de 1
faire pour c variant de 0 a nbco-1 avec un pas de 1
faire ecrire" saisissez ... : ";
lire tabcine[l][c];
refaire;
fpour;
refaire;
fpour;
fin;


//programme principal
// appel de la procedure
cine ( ) (cine);
0
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 406
9 févr. 2010 à 07:52
déja il faut savoir qu'en algorithme il n'y a pas de ; a la fin des lignes puisque ce n'est pas un language de programmation
mes commentaires sont identifié par /* en début de commentaire et */ en fin de commentaire
//declaration 
procedure cine FIXE ()/*que représente le mot cine ?*/
MODIF (var tabcine);/*que représente la méthode (fonction ou procédure) MODIF ?*/
debut
     pour l variant de 0 a nbli-1 avec un pas de 1 /*a combien est initialisé nbli ?*/
          faire pour c variant de 0 a nbco-1 avec un pas de 1//a combien est initialisé nbco ?
               faire ecrire" saisissez ... : ";/*le faire n'est pas nécessaire puisque le mot écrire désigne l'action d'afficher un message*/
               lire tabcine[l][c];
          refaire;/*ce n'est pas utile d'écrire ca puisque le fpour (donc la fin du pour) incrémente tout seul la variable c*/
          fpour;
     refaire;
     fpour;
fin; 

//programme principal
// appel de la procedure
cine ( ) (cine);/*le cine()(cine) ne veu rien dire*/
0