Skip to content
logo9minuti120x48
Menu
  • Home
  • Tutorial
    • Zaini
    • Stampa 3d
    • ebook
    • Informatica
  • Scritti
    • Racconti
    • Articoli
    • Temi
    • Storia
  • Video
  • Progetti
    • Progetto Carcere
    • Progetto Istruzione
    • Progetto Acque pulite
    • Progetto Tecnologia
  • Chi siamo
    • LinkTree
  • Privacy Policy
    • Cookie Policy (EU)
  • Blog
  • Donazioni
Menu

Minivocabolario: i parametri

Posted on 22 Luglio 201929 Agosto 2022 by Alessandro Oppo

In questa breve guida ti spiegherò cosa sono i parametri, in particolar modo applicate alla programmazione del micro controllore Arduino.

Parametri

Vediamo ora i parametri e per farlo ci lanceremo immediatamente con uno sketch d’esempio, le basi ormai dovremmo averle.

Immaginiamo lo sketch precedente che però non sommi ogni volta 1 alla nostra variabile ma che ci lasci la libertà di scegliere di quanto vada ogni volta incrementato.

//Parametri 9minuti.it

int numero = 0;

void aggiungiUno(int incremento){

  numero = numero + incremento;

  Serial.println(numero);

}


void setup() {

  Serial.begin(9600);
}

void loop() {

  aggiungiUno(4);

  delay(1000);      
}

Lo sketch incrementerà ad ogni giro del loop() la variabile numero di 4.

5 – A differenza di prima ora abbiamo un parametro.

Il parametro è a tutti gli effetti una variabile e quindi avrà un tipo e un nome.

7 – Questa riga si può anche scrivere, in forma abbreviata, come

numero += incremento;

21 – Chiamata della funzione e passaggio del parametro 4, avremmo potuto ovviamente scrivere qualsiasi altro numero.

Vediamo uno sketch dove invece che un numero mettiamo come parametro una variabile.

//Parametri 9minuti.it

int numero = 0;
int incr = 10;

void aggiungiUno(int incremento){

  numero = numero + incremento;

  Serial.println(numero);

}


void setup() {

  Serial.begin(9600);
}

void loop() {

  aggiungiUno(incr);

  delay(1000);      
}

La variabile intera incr sarà il parametro che utilizzeremo per la nostra procedura, e di conseguenza avremo un incremento di 10.

Ora vorrei sottoporvi l’ultima ed importantissima cosa a proposito dei parametri. Le variabili dichiarate all’interno di una procedura, di una funzione o di un metodo, sono visibili solo dalla stessa. Cosa succederebbe quindi se noi dichiarassimo una variabile con lo stesso nome più volte ma in procedure diverse? Assolutamente niente, ed è anzi una pratica consentita e molto diffusa.

Prendiamo come esempio il medesimo sketch di sopra ma con il nome di una variabile modificata.

//Parametri 9minuti.it

int numero = 0;
int incremento = 10;

void aggiungiUno(int incremento){

  numero = numero + incremento;

  Serial.println(numero);

}


void setup() {

  Serial.begin(9600);
}

void loop() {

  aggiungiUno(incremento);

  delay(1000);      
}

Come potete vedere esistono due variabili di tipo intere chiamate incremento, una dichiarata ad inizio programma, e quindi globale, e una dichiarata come parametro della nostra procedura.

Il programma funzionerà perfettamente perché la variabile incremento all’interno della procedura non si rifà a quella globale ma a quella dichiarata come parametro.

Possiamo quindi dire che le variabili dichiarate all’interno di una procedura, funzione o metodo, hanno priorità rispetto alle variabili globali.


in aggiornamento

Dammi un 5 virtuale, clicca like e condividi.

  • Fai clic qui per condividere su LinkedIn (Si apre in una nuova finestra)
  • Fai clic per condividere su Facebook (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Twitter (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Reddit (Si apre in una nuova finestra)
  • Fai clic per condividere su WhatsApp (Si apre in una nuova finestra)
  • Fai clic per condividere su Telegram (Si apre in una nuova finestra)
  • Fai clic per inviare un link a un amico via e-mail (Si apre in una nuova finestra)

Related

Cosa ne pensi? Fammelo sapere con un messaggio Annulla risposta

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Scoprici sui social

  • YouTube
  • Telegram
  • Facebook
  • RSS Feed

    Ultimi post

    • Buzzurretto e la scuola – Racconto breve
    • Il mio punto di vista sul progetto scuola
    • Di nuovo nuvole – Racconto breve
    • L’intelligenza artificiale, la forza della logica e la morale – ChatGPT
    • Videogrep, how to extract a certain word from a video (or more)
    • Brucerò tutto non appena è stato scritto – Racconto breve
    • C’è del lavoro da fare – Racconto breve

    Newsletter

    ©2023 9minuti | Design: Newspaperly WordPress Theme
    Manage Cookie Consent
    Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
    Cookie funzionali Sempre attivo
    The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
    Preferences
    The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
    Statistics
    The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
    Marketing
    The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
    Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
    Visualizza preference
    {title} {title} {title}