Maturità: Funzioni e passaggio parametri

Ripasso per la maturità sulle funzioni e il passaggio di parametri in programmazione, utile per prepararsi agli esami. Le schede coprono concetti chiave e pratiche comuni richieste durante la prova.

FrancescoG1·28 schede·28 domande
maturitàcomputer_scienceprogramming
0
Lo so
1 / 28
0
Sto imparando
Fronte

Definizione di funzione

Tocca per girare
Retro

Una funzione è un blocco di codice riutilizzabile che esegue un'operazione specifica.

Tocca per girare
Lo so
Sto imparando

Quiz(28 domande)

Domanda 1 di 28

1. Qual è la definizione corretta di una funzione in programmazione?

Termini in questo set(28)

Concetti di Funzioni(12)

Definizione di funzione

Una funzione è un blocco di codice riutilizzabile che esegue un'operazione specifica.

Sintassi per dichiarare una funzione

Esempio: ```python def nome_funzione(parametri): # corpo della funzione ```

Funzione vs Procedura

Una funzione restituisce un valore; una procedura esegue operazioni senza restituire nulla.

Qual è il valore di ritorno di una funzione?

Il valore restituito dalla funzione, utilizzando la parola chiave `return`.

Compila il codice: def f(x): return ...

x * 2 Questo restituisce il doppio di x.

Funzioni annidate

Funzioni definite all'interno di altre funzioni. Possono accedere alle variabili locali della funzione esterna.

Quando usare le funzioni?

Per evitare la duplicazione del codice, migliorare la leggibilità e facilitare il riutilizzo.

Vero o falso: un nome di funzione può iniziare con un numero.

Falso. Un nome di funzione deve iniziare con una lettera o un underscore.

Esempio di chiamata a funzione

Esempio: ```python risultato = nome_funzione(argomenti) ```

Scopo delle funzioni

Organizzare il codice in moduli, migliorare manutenzione e testabilità.

Quali tipi di funzioni esistono?

Funzioni built-in e funzioni definite dall'utente.

Elenca i parametri delle funzioni.

- Posizionali - Keyword - Variabili - Default

Passaggio di Parametri(16)

Passaggio per valore

Il valore di una variabile viene copiato nella funzione. Modifiche non influenzano l'originale.

Passaggio per riferimento

Viene passato un riferimento alla variabile. Le modifiche influenzano l'originale.

Vero o falso: Passaggio per valore altera l'originale.

Falso. Passare per valore non modifica l'originale.

Esempio di passaggio per valore

Funzione: `def incrementa(x)`: `x += 1`. Chiamata: `incrementa(5)` restituisce 5.

Esempio di passaggio per riferimento

Funzione: `def modifica_lista(lista)`: `lista.append(1)`. Chiamata: `modifica_lista([0])` diventa [0, 1].

Differenza principale tra i due metodi

Passaggio per valore copia i dati; passaggio per riferimento usa l'indirizzo di memoria.

Quale metodo è più sicuro?

Passaggio per valore, poiché non modifica l'originale.

Quando usare passaggio per riferimento?

Quando è necessario modificare l'oggetto passato o per migliorare le prestazioni.

Fattori che influenzano la scelta del metodo

Dimensione dei dati, necessità di modifica, prestazioni.

Passaggio per valore in Python

Python utilizza principalmente il passaggio per riferimento per oggetti mutabili e immutabili.

Fill the blank: Java usa passaggio per ______.

valore per tipi primitivi e riferimento per oggetti.

True or False: Passare grandi strutture dati per valore è efficiente.

Falso. Potrebbe causare un sovraccarico di memoria e lentezza.

Esempio di funzione con parametri per valore e riferimento

```python def funzione(a, b): a += 1 b.append(2) ```

Effetto di passaggio per riferimento in una funzione

Permette a funzioni di modificare direttamente l'oggetto senza restituirlo.

Passaggio per riferimento in C++

Utilizza `&` per passare variabili per riferimento: `void func(int &n)`.

Vantaggio del passaggio per valore

Isola la funzione dalle modifiche esterne, garantendo integrità dei dati.

Domande in questo set(28)

1. Qual è la definizione corretta di una funzione in programmazione?

A.Un blocco di codice riutilizzabile che esegue un'operazione specifica.
B.Un insieme di variabili che memorizzano dati.
C.Un comando che esegue operazioni senza fornire un risultato.
D.Una struttura dati per organizzare informazioni.

2. Qual è la definizione di passaggio per valore?

A.Il valore di una variabile viene copiato nella funzione.
B.Una variabile viene modificata direttamente.
C.Un oggetto viene passato senza modificarne il contenuto.
D.Il puntatore della variabile viene passato.

3. Qual è la sintassi corretta per dichiarare una funzione in Python?

A.def nome_funzione(parametri): # corpo della funzione
B.funzione nome_funzione(parametri) { // corpo della funzione }
C.function nome_funzione(parametri): # corpo della funzione
D.def(nome_funzione, parametri): # corpo della funzione

4. Quale dei seguenti rappresenta un esempio di passaggio per riferimento?

A.def incrementa(x): x += 1
B.def modifica_lista(lista): lista.append(1)
C.def somma(a, b): return a + b
D.def moltiplica(x): return x * 2

5. Qual è la principale differenza tra una funzione e una procedura?

A.Una funzione restituisce un valore, una procedura no.
B.Una procedura può essere annidata, una funzione no.
C.Una funzione può modificare variabili globali, una procedura no.
D.Le procedure non possono ricevere parametri, le funzioni sì.

6. Vero o falso: Passare per valore altera l'oggetto originale.

A.Vero
B.Falso
C.Solo a volte
D.Dipende dal linguaggio

7. Cosa restituisce la seguente funzione in Python: `def f(x): return x + 3`?

A.Restituisce x aumentato di 3.
B.Restituisce solo il valore di x.
C.Restituisce 3.
D.Restituisce sempre zero.

8. Quando è utile utilizzare il passaggio per riferimento?

A.Quando non si vuole modificare l'oggetto.
B.Quando si desidera migliorare le prestazioni.
C.Quando si deve copiare grandi oggetti.
D.Quando si lavora solo con dati immutabili.

9. Cosa si intende per funzioni annidate?

A.Funzioni definite all'interno di altre funzioni.
B.Funzioni che non restituiscono alcun valore.
C.Funzioni che possono essere chiamate in modo ricorsivo.
D.Funzioni che non accettano parametri.

10. Qual è la principale differenza tra passaggio per valore e passaggio per riferimento?

A.Il primo copia i dati, il secondo utilizza l'indirizzo di memoria.
B.Il primo è sempre più veloce.
C.Il secondo non può modificare l'oggetto.
D.Non ci sono differenze significative.

11. Quando è consigliato usare le funzioni?

A.Quando si desidera evitare la duplicazione del codice.
B.Quando si scrive codice per la prima volta.
C.Quando non si conoscono le variabili da usare.
D.Quando si desidera complicare il codice.

12. Quale metodo è generalmente considerato più sicuro?

A.Passaggio per valore.
B.Passaggio per riferimento.
C.Entrambi sono ugualmente sicuri.
D.Nessuno dei due.

13. Un nome di funzione può iniziare con un numero?

A.Falso
B.Vero
C.Solo in alcuni linguaggi di programmazione
D.Dipende dal contesto

14. Quale di queste affermazioni è vera riguardo al passaggio per valore in Python?

A.Python utilizza sempre il passaggio per valore.
B.Python utilizza principalmente il passaggio per riferimento.
C.Python non supporta il passaggio per valore.
D.Python usa passaggio per valore solo per oggetti immutabili.

15. Qual è un esempio di chiamata a funzione in Python?

A.risultato = nome_funzione(argomenti)
B.nome_funzione = risultato(argomenti)
C.chiamata(nome_funzione, argomenti)
D.esegui(nome_funzione, argomenti)

16. Qual è il principale svantaggio del passaggio per valore per strutture dati grandi?

A.Utilizza più memoria e può essere più lento.
B.Non permette modifiche.
C.Richiede meno codice.
D.È più facile da comprendere.

17. Qual è lo scopo principale delle funzioni in programmazione?

A.Organizzare il codice in moduli.
B.Aumentare il numero di righe di codice.
C.Costruire interfacce utente.
D.Eseguire operazioni matematiche.

18. Quale linguaggio utilizza il simbolo '&' per il passaggio per riferimento?

A.Java
B.Python
C.C++
D.JavaScript

19. Quali tipi di funzioni esistono generalmente?

A.Funzioni built-in e funzioni definite dall'utente.
B.Solo funzioni built-in.
C.Solo funzioni definite dall'utente.
D.Funzioni anonime e funzioni globali.

20. Qual è un esempio di funzione che utilizza sia parametri per valore che per riferimento?

A.def funzione(a, b): a += 1 b.append(2)
B.def funzione(x): return x + 1
C.def funzione(lista): return lista[0]
D.def funzione(y): y = y + 1

21. Quali sono i parametri delle funzioni?

A.Posizionali, Keyword, Variabili, Default.
B.Solo Posizionali e Keyword.
C.Solo Variabili e Default.
D.Nessuno.

22. Quale metodo di passaggio è più adatto per garantire l'integrità dei dati?

A.Passaggio per riferimento.
B.Passaggio per valore.
C.Entrambi.
D.Nessuno.

23. Quale delle seguenti affermazioni descrive meglio il valore di ritorno di una funzione?

A.Il valore che una funzione restituisce quando viene chiamata.
B.Il numero di volte che una funzione deve essere eseguita.
C.Il nome della funzione stessa.
D.La somma dei parametri passati alla funzione.

24. Cosa accade se si passa una lista a una funzione utilizzando il passaggio per riferimento?

A.La lista rimane invariata.
B.La funzione può modificare la lista originale.
C.Viene creata una copia della lista.
D.La lista è distrutta.

25. Qual è un fattore che influenza la scelta del metodo di passaggio dei parametri?

A.La dimensione dei dati.
B.Il nome della funzione.
C.Il tipo di variabile.
D.Il numero di argomenti.

26. Java utilizza passaggio per ______ per tipi primitivi.

A.valore
B.riferimento
C.entrambi
D.nessuno

27. Quale delle seguenti affermazioni è falsa riguardo al passaggio per valore?

A.Non modifica l'oggetto originale.
B.Può essere meno efficiente per oggetti grandi.
C.Utilizza sempre più memoria.
D.È semplice da implementare.

28. Quale delle seguenti affermazioni riguardo al passaggio per riferimento è corretta?

A.Le modifiche all'oggetto passato influenzano l'originale.
B.Le modifiche non hanno effetto sull'oggetto originale.
C.Passare per riferimento copia i dati nella funzione.
D.È utilizzato esclusivamente per tipi primitivi.

Set correlati

Crea il tuo set di studio

Carica un PDF, incolla le tue note o descrivi un argomento – l'IA genera schede, quiz e altro in pochi secondi.