Domanda

Quando parlo verbalmente di metodi, non sono mai sicuro di usare la parola argomento o parametro o qualcos'altro. Ad ogni modo le altre persone sanno cosa intendo, ma cosa è corretto e qual è la storia dei termini?

Sono un programmatore C #, ma mi chiedo anche se le persone usano termini diversi in lingue diverse.

Per la cronaca sono autodidatta senza un background in Informatica. (Per favore, non dirmi di leggere Codice completo perché lo sto chiedendo a beneficio di altre persone che non hanno già una copia di Steve McConnell .

Sommario

Il consenso generale sembra essere che sia OK usare questi termini in modo intercambiabile in un ambiente di squadra. Tranne forse quando stai definendo la terminologia precisa; quindi puoi anche utilizzare " formal argomento / parametro " e " effettivo argomento / parametro " disambiguare.

È stato utile?

Soluzione

Un parametro è una variabile nella definizione di un metodo. Quando viene chiamato un metodo, gli argomenti sono i dati che passi nei parametri del metodo.

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);

Altri suggerimenti

Parametro è variabile nella dichiarazione di funzione.

Argomento è il valore effettivo di questa variabile che viene passata alla funzione.

Esiste già una voce di Wikipedia sull'argomento (vedi Parameter ) che definisce e distingue i termini parametro e argomento . In breve, un parametro fa parte della firma funzione / procedura / metodo e un argomento è il valore effettivo fornito in fase di esecuzione e / o sito di chiamata per il parametro.

L'articolo di Wikipedia afferma anche che i due termini sono spesso usati come sinonimi (specialmente quando si ragiona in modo informale sul codice):

  

Anche se i parametri sono anche comunemente   indicato come argomenti, argomenti   sono più correttamente considerati come   valori effettivi o riferimenti assegnati   alle variabili dei parametri quando il   la subroutine viene chiamata in fase di esecuzione.

Data la seguente funzione di esempio in C che aggiunge due numeri interi, x e y verrebbero indicati come parametri:

int add(int x, int y) {
    return x + y;
}

In un sito di chiamata che utilizza aggiungi , come nell'esempio mostrato di seguito, 123 e 456 verrebbero definiti argomenti della chiamata.

int result = add(123, 456);

Inoltre, alcune specifiche del linguaggio (o documentazione formale) scelgono di usare parametro o argomento e usare aggettivi come formale e effettivo invece di chiarire le ambiguità tra i due casi. Ad esempio, la documentazione C / C ++ spesso fa riferimento alla funzione parametri come argomenti formali e la funzione chiama argomenti come argomenti reali . Per un esempio, vedere " Argomenti formali e reali " in Riferimenti al linguaggio Visual C ++ .

Semplice:

  • P ARAMETRO & # 8594; P LACEHOLDER (Ciò significa che un segnaposto appartiene alla denominazione della funzione e deve essere utilizzato nel corpo della funzione)
  • A RGUMENT & # 8594; A VALORE CTUAL (significa un valore effettivo che viene passato dalla funzione che chiama)

Un parametro è qualcosa che devi compilare quando chiami una funzione. Quello che ci metti è l'argomento.

Semplicemente impostato: l'argomento entra nel parametro, un argomento è il valore del parametro.

Altre informazioni su: http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments

Parametro è variabile nella dichiarazione di funzione.

Argomento è il valore effettivo di questa variabile che viene passata alla funzione. inserisci qui la descrizione dell'immagine

  

L'uso dei termini parametri e argomenti è stato utilizzato in modo improprio   un po 'tra programmatori e persino autori. Quando si tratta di   metodi, il termine parametro viene utilizzato per identificare i segnaposto in   la firma del metodo, mentre il termine argomenti è effettivo   valori che passi al metodo.

MCSD Cerfification Toolkit (Exam 70-483) Programmazione in C # , 1a edizione, Wrox, 2013

Scenario di casi reali

// Define a method with two parameters
int Sum(int num1, int num2)
{
   return num1 + num2;
}

// Call the method using two arguments
var ret = Sum(2, 3);

Nella modifica, sono spesso rimandato a come la gente dimentica: i linguaggi della struttura sono basati sui linguaggi naturali.

In inglese

A " parametro " è un segnaposto. Hanno impostato il formato di risposta, nella lingua parlata. Per definizione, è parte della chiamata, limitando la risposta.

Un " argomento " è una posizione che viene presa in considerazione. Discuti la tua opinione: consideri una discussione.

Differenza principale

Il ruolo tematico di un argomento è l'agente. Il ruolo tematico del parametro è destinatario.

Interazioni

Pensa all'argomento come alla parte maschile, rendendo il parametro la parte femminile. L'argomento entra nel parametro.

Uso

Un parametro è solitamente usato nelle definizioni. Un argomento è solitamente usato nelle invocazioni.

Domande

Termina la frase per renderla meno dissonante.

(A) Parlando di una definizione:

  1. Quale argomento verrà utilizzato []?
  2. Quale [] sarà questo parametro []?

(B) Parlando di un'invocazione:

  1. Quale parametro utilizzerai, []?
  2. Quale [] sarà [] questo parametro?

Le risposte

(A)

  1. on / in / against / con questo parametro
  2. argomento / i ... take

(B)

  1. e quali sono alcuni argomenti di esempio
  2. argomento / i ... usato su / in / against / with

sovrappone

Come puoi immaginare, dopo aver risposto: nella lingua parlata, queste parole a volte producono risposte identiche!

Quindi, di regola:

  • Di solito se qualcuno vuole informazioni sui parametri, vuole saperne di più sul tipo, sul nome della variabile, ecc. Potrebbero confondersi se si danno solo argomenti di esempio.

    • Di solito se qualcuno vuole informazioni sull'argomento, vuole sapere quale valore hai passato a una funzione o ai suoi parametri.

I parametri di una funzione / metodo descrivono i valori che utilizza per calcolare il suo risultato.

Gli argomenti di a sono i valori assegnati a questi parametri durante un particolare richiamo della funzione / metodo.

O potrebbe essere ancora più semplice da ricordare in questo modo, nel caso di argomenti opzionali per un metodo:

public void Method(string parameter = "argument") 
{

}

parametro è il parametro, il suo valore, " argomento " è l'argomento :)

Parametri e argomenti

  

Tutti i diversi termini che hanno a che fare con parametri e argomenti   può essere fonte di confusione. Tuttavia, se tieni a mente alcuni semplici punti,   sarai in grado di gestire facilmente questi termini.

     
      
  1. I parametri formali per una funzione sono elencati nella dichiarazione di funzione e sono usati nel corpo della definizione della funzione. UN   parametro formale (di qualsiasi tipo) è un tipo di spazio vuoto o segnaposto che   viene riempito con qualcosa quando viene chiamata la funzione.
  2.   
  3. Un argomento è qualcosa che viene usato per compilare un parametro formale.   Quando si annota una chiamata di funzione, gli argomenti vengono elencati in   parentesi dopo il nome della funzione. Quando la chiamata di funzione è   eseguiti, gli argomenti vengono inseriti per i parametri formali.
  4.   
  5. I termini call-by-value e call-by-reference si riferiscono al meccanismo   che viene utilizzato nel processo di connessione. Nel metodo call-by-value   viene utilizzato solo il valore dell'argomento. In questo call-by-value   meccanismo, il parametro formale è una variabile locale che è   inizializzato sul valore dell'argomento corrispondente. Nel   meccanismo di chiamata per riferimento l'argomento è una variabile e il   viene utilizzata l'intera variabile. Nel meccanismo di chiamata per riferimento il   la variabile argomento viene sostituita dal parametro formale in modo che   qualsiasi modifica apportata al parametro formale viene effettivamente apportata a   la variabile argomento.
  6.   

Fonte: Absolute C ++, Walter Savitch

Cioè,

 inserisci qui la descrizione dell'immagine

I termini sono in qualche modo intercambiabili. La distinzione descritta in altre risposte è più propriamente espressa con i termini parametro formale per il nome utilizzato all'interno del corpo della funzione e parametro per il valore fornito nel sito di chiamata ( Anche argomento formale e argomento sono comuni).

Nota anche che, in matematica, il termine argomento è molto più comune e parametro di solito significa qualcosa di molto diverso (sebbene il parametro in un'equazione parametrica è essenzialmente l'argomento a due o più funzioni).

Questo esempio potrebbe essere d'aiuto.

int main () {
   int x = 5; 
   int y = 4;

   sum(x, y); // **x and y are arguments**
}

int sum(int one, int two) { // **one and two are parameters**
   return one + two;
}

Diciamo che sei una compagnia aerea. Costruisci un aereo. Vi installate posti. Quindi, riempi l'aereo di passeggeri e lo mandi da qualche parte. I passeggeri (o meglio, qualche versione spazialmente-temporalmente modificata) sbarcano. Il giorno successivo, riutilizzerai lo stesso aereo e gli stessi posti, ma questa volta con passeggeri diversi.

L'aereo è la tua funzione.

I parametri sono i posti.

Gli argomenti sono i passeggeri che vanno in quei posti.

Ricorda sempre che: - Gli argomenti vengono passati mentre i parametri vengono ricevuti.

Un argomento è un'istanza di un parametro.

Sì! Parametri e argomenti hanno significati diversi, che possono essere facilmente spiegati come segue:

Funzione Parametri sono i nomi elencati nella definizione della funzione.

Funzione Argomenti sono i valori reali passati (e ricevuti da) alla funzione.

Spiegazioni semplici senza codice

A " parametro " è una cosa molto generica, ampia, ma un argomento: è una cosa molto specifica, concreta. Questo è meglio illustrato con esempi quotidiani:

Esempio 1: Distributori automatici - Money è il parametro, $ 2,00 è l'argomento

La maggior parte delle macchine accetta un input e restituisce un output. Ad esempio un distributore automatico accetta come input: denaro e restituisce: bevande gassate come output. In quel caso particolare, accetta come parametro: denaro.

Qual è allora l'argomento? Bene, se metto $ 2,00 nella macchina, allora l'argomento è: $ 2,00 - è l'input molto specifico usato.

Esempio 2: Automobili - La benzina è il parametro

Consideriamo un'auto: accettano come input benzina (benzina senza piombo). Si può dire che queste macchine accettano parametri di tipo: benzina. L'argomento sarebbe l'input esatto e concreto che ho messo nella mia macchina. per esempio. Nel mio caso, l'argomento sarebbe: 40 litri di benzina / benzina senza piombo.

Esempio 3 - Elaborazione su argomenti

Un argomento è un esempio particolare e specifico di un input. Supponiamo che la mia macchina prenda una persona come input e la trasformi in qualcuno che non è un bugiardo.

Che cos'è allora un argomento? L'argomento sarà la persona particolare che viene effettivamente inserita nella macchina. per esempio. se Colin Powell viene messo nella macchina, l'argomento sarebbe Colin Powell.

Quindi il parametro sarebbe una persona come concetto astratto, ma l'argomento sarebbe sempre una persona particolare con un nome particolare chi viene inserito nella macchina. L'argomento è specifico e concreto.

Questa è la differenza. Semplice.

Confuso?

Pubblica un commento e riparerò la spiegazione.

O ancora più semplice ...

Argomenti in!

Parametri fuori!

Entrambi non hanno molta differenza nell'uso in C, entrambi i termini sono usati in pratica.     Principalmente gli argomenti sono spesso usati con le funzioni. Il valore passato con l'istruzione chiamante funzione è chiamato argomento, e il parametro sarebbe la variabile che copia il valore nella definizione della funzione (chiamato come parametro formale).

int main ()
{
   /* local variable definition */
   int a = 100;
   int b = 200;
   int ret;

   /* calling a function to get max value */
   ret = max(a, b);

   printf( "Max value is : %d\n", ret );

   return 0;
}

/* function returning the max between two numbers */
int max(int num1, int num2) 
{
   /* local variable declaration */
   int result;

   if (num1 > num2)
      result = num1;
   else
      result = num2;

   return result; 
}

Nel codice precedente num1 e num2 sono parametri formali e a e b sono argomenti reali.

I tutorial Java di Oracle definiscono così questa distinzione: " Parametri si riferisce all'elenco di variabili in una dichiarazione di metodo. Gli argomenti sono i valori effettivi che vengono passati quando viene invocato il metodo. Quando invochi un metodo, gli argomenti utilizzati devono corrispondere ai parametri della dichiarazione per tipo e ordine. & Quot;

Una discussione più dettagliata di parametri e argomenti: https://docs.oracle.com/javase/tutorial/java/javaOO /arguments.html

Parlando logicamente, stiamo effettivamente parlando della stessa cosa. Ma penso che una semplice metafora sarebbe utile per risolvere questo dilemma.

Se le metafore possono essere chiamate vari punti di connessione, possiamo equipararle a punti di presa su una parete. In questo caso possiamo considerare i parametri e gli argomenti come segue;

Parametri sono le prese del plug-point che possono assumere varie forme diverse. Ma solo alcuni tipi di spine si adattano a loro.
Arguments saranno le prese effettive che verrebbero inserite nei punti / prese per attivare determinate apparecchiature.

Quando creiamo il metodo (funzione) in Java, il metodo in questo modo ..

nome del tipo di dati del metodo (nome variabile del tipo di dati)

Tra parentesi, questi sono i parametri e quando chiamiamo il metodo (funzione) passiamo il valore di questo parametro, che sono chiamati argomenti.

Secondo il libro di Joseph Alabahari "C # in breve". (C # 7.0, p. 49):

static void Foo (int x)
{
    x = x + 1; // When you're talking in context of this method x is parameter
    Console.WriteLine (x);
}
static void Main()
{
    Foo (8); // an argument of 8. 
             // When you're talking from the outer scope point of view
}

In alcune lingue umane (afaik italiano, russo) i sinonimi sono ampiamente usati per questi termini.

  • parametro = parametro formale
  • argomento = parametro effettivo

Nella mia università i professori usano entrambi i tipi di nomi.

Il parametro è una variabile in una definizione di funzione
L'argomento è un valore del parametro

<?php

    /* define function */
    function myFunction($parameter1, $parameter2)
    {
        echo "This is value of paramater 1: {$parameter1} <br />";
        echo "This is value of paramater 2: {$parameter2} <br />";
    }

    /* call function with arguments*/
    myFunction(1, 2);

?>

I parametri sono le variabili ricevute da una funzione, quindi sono visibili nella dichiarazione della funzione e contengono il nome della variabile con il loro tipo di dati. Gli argomenti sono valori effettivi che vengono passati a un'altra funzione. ecco perché possiamo vederli nella chiamata di funzione. Sono solo valori senza il loro tipo di dati

I parametri formali per una funzione sono elencati nella dichiarazione della funzione e sono usati nel corpo della definizione della funzione. Un parametro formale (di qualsiasi tipo) è un tipo di spazio vuoto o segnaposto che viene riempito con qualcosa quando viene chiamata la funzione.

Un argomento è qualcosa che viene utilizzato per compilare un parametro formale. Quando si annota una chiamata di funzione, gli argomenti sono elencati tra parentesi dopo il nome della funzione. Quando viene eseguita la chiamata di funzione, vengono inseriti gli argomenti per i parametri formali.

I termini call-by-value e call-by-reference si riferiscono al meccanismo utilizzato nel processo di connessione. Nel metodo call-by-value viene utilizzato solo il valore dell'argomento. In questo meccanismo di chiamata per valore, il parametro formale è una variabile locale inizializzata sul valore dell'argomento corrispondente. Nel meccanismo di chiamata per riferimento l'argomento è una variabile e viene utilizzata l'intera variabile. Nel meccanismo di chiamata per riferimento, la variabile argomento viene sostituita dal parametro formale in modo che qualsiasi modifica apportata al parametro formale venga effettivamente apportata alla variabile argomento.

Parametri sono variabili utilizzate per archiviare i dati passati in una funzione che la funzione può utilizzare. Argomenti sono i dati effettivi passati a una funzione quando viene invocato:

// x and y are parameters in this function declaration
function add(x, y) {
  // function body
  var sum = x + y;
  return sum; // return statement
}

// 1 and 2 are passed into the function as arguments
var sum = add(1, 2);

Ci ho pensato e ho capito che la mia risposta precedente era sbagliata. Ecco una definizione molto migliore

{ Immagina un cartone di uova: un pacchetto di maglie di salsiccia: e una cameriera } Questi rappresentano elementi di una funzione necessaria per la preparazione chiamata: (usa un nome qualsiasi: diciamo che Cooking è il nome di la mia funzione).

Una cameriera è un metodo.

(È necessario __call_ o chiedere questo metodo per preparare la colazione) (L'atto di preparare la colazione è una Funzione chiamata Cucina ) _

Le uova e le salsicce sono parametri:

(perché il numero di uova e il numero di salsicce che vuoi mangiare è __variabile_.) _

La tua decisione è un argomento:

Rappresenta il __Value_ del numero scelto di uova e / o salsicce che stai cucinando ._

{ mnemonico }

_ " Quando chiami la cameriera e le chiedi di fare colazione, __argues_ con te su quante uova e salsicce dovresti mangiare. È preoccupata per il tuo colesterolo " __

(Gli argomenti, quindi, sono i valori per la combinazione di Parametri che hai dichiarato e che hai deciso di passare alla tua Funzione)

È spiegato perfettamente in Parametro (programmazione per computer) - Wikipedia

Liberamente, un parametro è un tipo e un argomento è un'istanza.

Nella definizione della funzione f (x) = x * x la variabile x è un parametro; nella chiamata di funzione f (2) il valore `` 2 è l'argomento della funzione.

E Parametro - Wikipedia

In programmazione per computer , due nozioni di parametro sono comunemente usati e sono chiamati parametri e argomenti & # 8212; o più formalmente come parametro formale e parametro reale .

Ad esempio, nella definizione di una funzione come

y = f (x) = x + 2,

x è il parametro formale (il parametro ) della funzione definita.

Quando la funzione viene valutata per un dato valore, come in

f (3): oppure, y = f (3) = 3 + 2 = 5,

è il parametro effettivo (l ' argomento ) per la valutazione mediante la funzione definita; è un dato valore (valore effettivo) che viene sostituito con il parametro formale della funzione definita. (Nell'uso occasionale i termini parametro e argomento potrebbero inavvertitamente essere scambiati e quindi utilizzati in modo errato.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top