Procédure et fonction algorithmes
Fermé
PRK
Messages postés
799
Date d'inscription
mardi 4 septembre 2007
Statut
Membre
Dernière intervention
6 décembre 2015
-
3 mai 2008 à 13:42
msarram10 - 31 mars 2010 à 10:07
msarram10 - 31 mars 2010 à 10:07
A voir également:
- Algorithme fonction
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Fonction somme excel - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
7 réponses
Utilisateur anonyme
3 mai 2008 à 13:51
3 mai 2008 à 13:51
Salut oui une procédure peut modifier les arguments si elle les prend par référence en paramètre. En langage pascal c'est en mettant le mot-clé VAR dans les paramètres de procédure. Sinon pour une fonction, bien sûr on peut retourner des tableaux, dans n'importe quel langage de programmation.
Exemple en Delphi :
procedure TFormMain.modif(var n:Integer);
begin
n:=5;
end;
Cette procédure va modifier la valeur de la variable n qui est passée en paramètre.
Exemple en Delphi :
procedure TFormMain.modif(var n:Integer);
begin
n:=5;
end;
Cette procédure va modifier la valeur de la variable n qui est passée en paramètre.
Utilisateur anonyme
3 mai 2008 à 14:11
3 mai 2008 à 14:11
Ah ok, en langage algorithmique le prof ne t'a pas dit comment il veut que tu écrive ça? Je suppose que tu dois écrire ça comme tu l'as fait, en définissant un type de données que tu peux passer en argument pour une procédure. Sinon pour une fonction tu peux bien sûr écrire comme ça :
Un petit exemple, la fonction doit retourner un tableau de 3 éléments, du genre [i+1, i+2, i+3]
type tabEntier : tableau [1...3] : entier
fonction(base : entier): tabEntier
variables temp: tabEntier
debut
temp[1] = base+1
temp[2] = base+2
temp[3] = base+3
retourne temp
fin
Là tu vas retourner un type tabEntier, donc un tableau.
J'espère que tu comprend que j'ai voulu dire, sinon, a voir avec les autres de ta classe et ton prof pour ce qu'il veut comme écriture.
Un petit exemple, la fonction doit retourner un tableau de 3 éléments, du genre [i+1, i+2, i+3]
type tabEntier : tableau [1...3] : entier
fonction(base : entier): tabEntier
variables temp: tabEntier
debut
temp[1] = base+1
temp[2] = base+2
temp[3] = base+3
retourne temp
fin
Là tu vas retourner un type tabEntier, donc un tableau.
J'espère que tu comprend que j'ai voulu dire, sinon, a voir avec les autres de ta classe et ton prof pour ce qu'il veut comme écriture.
PRK
Messages postés
799
Date d'inscription
mardi 4 septembre 2007
Statut
Membre
Dernière intervention
6 décembre 2015
113
4 mai 2008 à 20:54
4 mai 2008 à 20:54
Ce queje ne comprend pas dans ton algo c'est pourquoi avoir utilisé TEMP dans ta fonction et non pas directement "Tableau" et par conséquent proceder comme cela :
tableau[1] (// 1ere cellule) = base + 1
etc....
retourne tableau
C'est bien possible de procéder comme çela ? Ou faut il impérativement créer une variable de type tableau pour faire passer ce tableau dans une procédure ou une fonction ?
tableau[1] (// 1ere cellule) = base + 1
etc....
retourne tableau
C'est bien possible de procéder comme çela ? Ou faut il impérativement créer une variable de type tableau pour faire passer ce tableau dans une procédure ou une fonction ?
Utilisateur anonyme
>
PRK
Messages postés
799
Date d'inscription
mardi 4 septembre 2007
Statut
Membre
Dernière intervention
6 décembre 2015
4 mai 2008 à 21:20
4 mai 2008 à 21:20
Là j'ai pris plutôt le point de vue "réalisation d'un vrai programme" plutôt que code algorithmique. On ne pas modifier une variable passée par valeur.
J'utilise temp parce que le tableau initial est passé en valeur. Pour modifier une variable dans une fonction, il faut la passer par référence (on passe alors l'adresse d'une variable, donc on peut modifier ce qui est contenu à cette adresse, tu comprend?). En langage algo on écrirait :
fonction modif(adresse du tableau) je pense
Ici si j'utilise temp c'est pour renvoyer un nouveau tableau, l'original n'est pas modifié.
J'utilise temp parce que le tableau initial est passé en valeur. Pour modifier une variable dans une fonction, il faut la passer par référence (on passe alors l'adresse d'une variable, donc on peut modifier ce qui est contenu à cette adresse, tu comprend?). En langage algo on écrirait :
fonction modif(adresse du tableau) je pense
Ici si j'utilise temp c'est pour renvoyer un nouveau tableau, l'original n'est pas modifié.
PRK
Messages postés
799
Date d'inscription
mardi 4 septembre 2007
Statut
Membre
Dernière intervention
6 décembre 2015
113
>
Utilisateur anonyme
4 mai 2008 à 21:31
4 mai 2008 à 21:31
Hmm oki !
Moi le probleme c'est que c purement algorithmique et non pas du codage sous VB, C++ C# etc....
donc je cherche la pseudo-syntaxe qui me permettrai d'entrer un tableau en paramètre d'une fonction ou procédure.
a mon avis ca doit pouvoir se faire..
Moi le probleme c'est que c purement algorithmique et non pas du codage sous VB, C++ C# etc....
donc je cherche la pseudo-syntaxe qui me permettrai d'entrer un tableau en paramètre d'une fonction ou procédure.
a mon avis ca doit pouvoir se faire..
D
>
PRK
Messages postés
799
Date d'inscription
mardi 4 septembre 2007
Statut
Membre
Dernière intervention
6 décembre 2015
8 mai 2008 à 18:52
8 mai 2008 à 18:52
PM
soit 4 vecteurs (v1,v2,v3,v4) et deferent de dementio l,m,n,o. ecrie un algo qui lie, trie et affiche les vecteur
je ne c'est pas comment faire l'appele .merci...
je ne c'est pas comment faire l'appele .merci...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
SALUT
s.v.p aidè moi a trouvè la solution
1-dèclarer une fonction s'appelant carre qui calcule et renvoie le carrè d'un nombre entier qui est passè en paramètre
2-utiliser l'identitè n²=(n-1)²+2n-1 pour ècrire une fonction rècursive qui calcule le carrè d'un entier positif ou nul n
MERCI
s.v.p aidè moi a trouvè la solution
1-dèclarer une fonction s'appelant carre qui calcule et renvoie le carrè d'un nombre entier qui est passè en paramètre
2-utiliser l'identitè n²=(n-1)²+2n-1 pour ècrire une fonction rècursive qui calcule le carrè d'un entier positif ou nul n
MERCI
3 mai 2008 à 13:54
Ton message ne m'aide pas vraiment et de plus ne traite pas vraiment mes questions ^^
ma question reside sur le fait de l'utilisation de tableaux en paramètre entrée et sortie lors de procédure et de "retourne" pour les fonctions.
En ce qui concerne les variables simples je n'ai pas de soucis a ce niveau