Cosa significa "argomento fittizio"?


8

Cosa significa quando un argomento di una funzione è chiamato argomento fittizio ? Non ho incontrato questo termine al di fuori di Fortran, è un termine generale in informatica? Quali sarebbero esempi di argomenti passati come fittizi e non passati come fittizi?

Ho trovato questa definizione , che non sono sicuro di aver capito, ma sembra che un argomento fittizio sia una variabile che viene passata per riferimento, nel qual caso in Fortran tutte le variabili sono variabili fittizie? (confuso)

Modifica: Ho appena incontrato il seguente saggio che mi ha aiutato a capire meglio l'argomento / funzione di Fortran che chiama teminologia: Dortor Fortran: Sono venuto qui per un argomento


Ho trovato utile questo post sul sito Web di Intel! software.intel.com/en-us/…
user515577

Risposte:


15

"Manichino" come "non utilizzato"

In generale (non in Fortran) un argomento fittizio è un argomento che non verrà utilizzato dal corpo della funzione.

Ad esempio, nella seguente funzione, zè un argomento fittizio ma xe ynon sono.

int f(int x, int y, int z) {
  return (x + y);
}

Possono essere utilizzati per diversi motivi:

  • a seconda di un altro argomento o di una configurazione, l'argomento verrà utilizzato (non fittizio) e talvolta non lo sarà (fittizio) ma l'impostazione di programmazione impone comunque di passare un argomento. In tal caso, di solito è possibile passare qualsiasi cosa alla funzione, ovvero NULLo 0, a seconda dell'impostazione;

  • l'argomento non è più necessario, ma è necessario fornirne uno per motivi di compatibilità con le versioni precedenti;

  • la funzione non accetta alcun argomento (può essere definita una procedura) ma l'impostazione impone di fornire almeno un argomento. Puoi trovarlo in linguaggi di programmazione funzionale non sicuri, ma in generale non è chiamato "fittizio" perché il tipo ( unitin ocaml ) lo suggerisce.

"Manichino" in Fortran e Pascal

In Fortran e Pascal, e probabilmente nel tuo caso, c'è una nozione più oscura di argomento fittizio su oggetti passati che non sono riuscito a comprendere. Ma sembra riguardare più le specifiche che l'attuale procedura di passaggio degli argomenti. (Alcune spiegazioni: collegamento 1 con entrambe le lingue , collegamento 2 in francese ).

Non so se questa nozione sia ancora utilizzata.

"Manichino" come "associato"

Non consiglierei questa terminologia in ogni caso, ma "variabile fittizia" può significare "variabile legata", ma questa nozione è più una cosa matematica e informatica.


La mia comprensione (nota: conosco la semantica del francese e del linguaggio di programmazione ma non Fortran) è che "argomento fittizio", in tutti e 3 i collegamenti nella sezione Fortran / Pascal, significa un argomento che è un nome locale per un oggetto passato per riferimento.
Gilles 'SO- smetti di essere malvagio' il

16

In fortran un argomento fittizio è ciò che altre lingue chiamano argomento formale . Quindi gli argomenti fittizi sono l'elenco degli argomenti nella definizione di funzione (o subroutine).

Gli argomenti effettivi sono l'elenco di argomenti nell'elenco di chiamate, nel punto nel codice sorgente in cui viene chiamata una funzione (ovvero utilizzata).


2
Questa è l'unica risposta corretta qui per quanto riguarda il significato di Fortran.
Vladimir F,

3

Una funzione è ben definita come: relazione tra un insieme di ingressi e un insieme di uscite consentite . Una variabile fittizia sarebbe qualsiasi input che non avesse alcun effetto sull'output.

In "C" la funzione time porta un puntatore a un oggetto time_t come input. Poiché questo puntatore viene utilizzato solo per ottenere l'output, potrebbe essere considerato una "variabile fittizia".


non sarebbe più preciso definirlo una variabile di output? In effetti, in alcune impostazioni (ad es. In C #), in realtà verrebbe data la parola chiave "out" per etichettarla come parametro out.
Joe,

1

Un argomento fittizio è in realtà un argomento in una funzione che non è stato usato nella funzione ma piuttosto viene sostituito nell'espressione della funzione quando viene referenziato


Ciao. Grazie per la risposta, ma quale novità porta in cima alle risposte esistenti? Consulta le nostre FAQ e come ottenere una buona risposta FAQ .
Ran G.,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.