Qu'est-ce que cela signifie lorsqu'un argument d'une fonction est appelé un argument factice ? Je n'ai pas rencontré ce terme en dehors de Fortran, est-ce un terme général en informatique? Quels seraient des exemples d'arguments passés comme factices et non passés comme factices?
J'ai trouvé cette définition , que je ne suis pas sûr de comprendre, mais cela ressemble à un argument fictif est une variable qui est passée par référence, auquel cas dans Fortran toutes les variables sont des variables fictives? (confus)
Edit: Je viens de rencontrer l'essai suivant qui m'a aidé à mieux comprendre l'argument / la fonction de Fortran appelant la téminologie: Dortor Fortran: Je suis venu ici pour un argument
Réponses:
"Dummy" comme "inutilisé"
En général (pas dans Fortran), un argument factice est un argument qui ne sera pas utilisé par le corps de la fonction.
Par exemple, dans la fonction suivante,
z
est un argument factice maisx
ety
ne sont pas.Ils peuvent être utilisés pour plusieurs raisons:
en fonction d'un autre argument ou d'une configuration, l'argument sera utilisé (pas factice) et parfois il ne le sera pas (factice) mais le paramètre de programmation impose de passer un argument de toute façon. Dans ce cas, vous pouvez généralement transmettre n'importe quoi à la fonction, c'est-à-dire
NULL
ou0
, selon le paramètre;l'argument n'est plus nécessaire, mais vous devez en donner un pour des raisons de compatibilité descendante;
la fonction ne prend aucun argument (on peut l'appeler une procédure) mais le paramètre impose de donner au moins un argument. Vous pouvez trouver cela dans des langages de programmation fonctionnels impurs, mais en général, il n'est pas appelé "factice" car le type (
unit
en ocaml ) le suggère."Dummy" dans Fortran et Pascal
Dans Fortran et Pascal, et probablement dans votre cas, il y a une notion plus obscure d' argument factice d'objet passé que je n'ai pas compris. Mais cela semble concerner plus la spécification que la procédure de passage d'argument proprement dite. (Quelques explications: lien 1 avec les deux langues , lien 2 en français ).
Je ne sais pas si cette notion est toujours utilisée.
"Dummy" comme "lié"
Je ne conseillerais pas cette terminologie dans tous les cas, mais "variable fictive" peut signifier "variable liée", mais cette notion relève davantage des mathématiques et de l'informatique.
la source
Dans fortran, un argument factice est ce que les autres langages appellent un argument formel . Ainsi, les arguments factices sont la liste des arguments dans la définition de la fonction (ou du sous-programme).
Les arguments réels sont la liste des arguments de la liste des appels, au point du code source où une fonction est appelée (c'est-à-dire utilisée).
la source
Une fonction est bien définie comme: relation entre un ensemble d'entrées et un ensemble de sorties autorisées . Une variable fictive serait toute entrée n'ayant aucun effet sur la sortie.
En "C", la fonction temporelle prend en entrée un pointeur sur un objet time_t. Comme ce pointeur n'est utilisé que pour obtenir une sortie, il pourrait être considéré comme une "variable fictive".
la source
Un argument factice est en fait un argument dans une fonction qui n'est pas utilisé dans la fonction, mais il est plutôt substitué dans l'expression de fonction quand il est référencé
la source