Esercizio 5
This commit is contained in:
115
JS_Esercizi/JS_Esercizi 05 - Funzioni/tutorial_interattivo.js
Normal file
115
JS_Esercizi/JS_Esercizi 05 - Funzioni/tutorial_interattivo.js
Normal file
@@ -0,0 +1,115 @@
|
||||
/**
|
||||
* ===========================================
|
||||
* === 1. Dichiarazione e Chiamata ===
|
||||
* Una funzione è un blocco di codice riutilizzabile.
|
||||
* Si dichiara con la parola chiave 'function'.
|
||||
* Il codice dentro la funzione non viene eseguito finché non la "chiami".
|
||||
*/
|
||||
|
||||
// Esempio:
|
||||
function saluta() {
|
||||
console.log("Ciao mondo!");
|
||||
}
|
||||
// Per eseguirla:
|
||||
saluta();
|
||||
|
||||
// TODO: Dichiara una funzione chiamata 'stampaBenvenuto' che stampi "Benvenuto al corso!".
|
||||
// Poi chiama la funzione.
|
||||
|
||||
// OUTPUT ATTESO:
|
||||
// Benvenuto al corso!
|
||||
|
||||
|
||||
/**
|
||||
* ===========================================
|
||||
* === 2. I Parametri ===
|
||||
* Le funzioni possono ricevere dati in ingresso chiamati "parametri".
|
||||
* I parametri agiscono come variabili locali dentro la funzione.
|
||||
*/
|
||||
|
||||
function salutaPersona(nome) {
|
||||
console.log("Ciao " + nome);
|
||||
}
|
||||
|
||||
// TODO: Chiama la funzione 'salutaPersona' due volte:
|
||||
// 1. Passando il nome "Mario".
|
||||
// 2. Passando il nome "Luigi".
|
||||
|
||||
// OUTPUT ATTESO:
|
||||
// Ciao Mario
|
||||
// Ciao Luigi
|
||||
|
||||
|
||||
/**
|
||||
* ===========================================
|
||||
* === 3. Parametri Multipli ===
|
||||
* Puoi passare più parametri separandoli da virgola.
|
||||
* L'ordine è importante!
|
||||
*/
|
||||
|
||||
// TODO: Scrivi una funzione 'descriviPersona' che accetta due parametri: 'nome' e 'età'.
|
||||
// La funzione deve stampare: nome + " ha " + età + " anni."
|
||||
// Poi chiamala con "Anna" e 25.
|
||||
|
||||
// OUTPUT ATTESO:
|
||||
// Anna ha 25 anni.
|
||||
|
||||
|
||||
/**
|
||||
* ===========================================
|
||||
* === 4. Il Valore di Ritorno (Return) ===
|
||||
* Una funzione può "restituire" un risultato al codice che l'ha chiamata.
|
||||
* Si usa la parola chiave 'return'.
|
||||
*/
|
||||
|
||||
function somma(a, b) {
|
||||
let risultato = a + b;
|
||||
return risultato;
|
||||
}
|
||||
|
||||
let x = somma(5, 3); // x ora vale 8. Nulla viene stampato qui.
|
||||
console.log("Il risultato è: " + x);
|
||||
|
||||
// TODO: Scrivi una funzione 'moltiplica' che accetta due numeri e RESTITUISCE (return) il loro prodotto.
|
||||
// Poi salva il risultato di moltiplica(4, 5) in una variabile e stampalo.
|
||||
|
||||
// OUTPUT ATTESO:
|
||||
// 20
|
||||
|
||||
|
||||
/**
|
||||
* ===========================================
|
||||
* === 5. Usare le Funzioni nella Logica ===
|
||||
* Possiamo usare il valore restituito da una funzione direttamente dentro un 'if'.
|
||||
*/
|
||||
|
||||
// TODO: Scrivi una funzione 'èMaggiorenne' che accetta un numero (età).
|
||||
// Se età >= 18 restituisce true, altrimenti false.
|
||||
// Poi scrivi un if che usa questa funzione per stampare "Sei maggiorenne" o "Sei minorenne".
|
||||
|
||||
// OUTPUT ATTESO (provando con 20):
|
||||
// Sei maggiorenne
|
||||
|
||||
|
||||
/**
|
||||
* ===========================================
|
||||
* === 6. Scope (Visibilità) ===
|
||||
* Le variabili definite dentro una funzione (con let) NON esistono fuori di essa.
|
||||
* Stessa cosa vale per i parametri, che sono visibili SOLO dentro la funzione.
|
||||
* È chiamato "scope" (ambito) della variabile.
|
||||
*/
|
||||
|
||||
function testScope(variabileLocale) {
|
||||
let segreto = "Codice123" + variabileLocale;
|
||||
return segreto;
|
||||
}
|
||||
|
||||
// TODO: Prova a decommentare la riga sotto e osserva l'errore.
|
||||
// console.log(segreto);
|
||||
// console.log(variabileLocale);
|
||||
|
||||
// TODO: Correggi l'errore: crea una variabile 'codiceEsterno' e assegnale il risultato della chiamata a 'testScope("456")'.
|
||||
// Poi stampa 'codiceEsterno'.
|
||||
|
||||
// OUTPUT ATTESO:
|
||||
// Codice123456
|
||||
Reference in New Issue
Block a user