diff --git a/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/carta_identita.js b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/carta_identita.js new file mode 100644 index 0000000..a59c22c --- /dev/null +++ b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/carta_identita.js @@ -0,0 +1,18 @@ +/** + * Esercizio: Carta d'Identità Digitale + * + * DESCRIZIONE: + * Devi creare un piccolo script che simula i dati di una carta d'identità. + * + * 1. Dichiara variabili (usando `let` o `const` in modo appropriato) per: + * - Nome + * - Cognome + * - Età + * - Città di residenza + * + * 2. Genera una singola stringa finale (descrizione) che unisca tutti questi dati in una frase di senso compiuto. + * 3. Stampa la descrizione in console. + * OUTPUT desiderato: "Mi chiamo [Nome] [Cognome], ho [Età] anni e vivo a [Città di residenza]." + */ + + diff --git a/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/convertitore_valuta.js b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/convertitore_valuta.js new file mode 100644 index 0000000..62d3e01 --- /dev/null +++ b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/convertitore_valuta.js @@ -0,0 +1,16 @@ +/** + * Esercizio: Il Convertitore di Valuta + * + * DESCRIZIONE: + * Immagina di dover convertire dei dollari in euro. + * + * 1. Crea una costante `TASSO_CAMBIO` e assegnale il valore 0.92 (1 Dollaro = 0.92 Euro). + * 2. Crea una variabile `dollari` e assegnale 100 (sarebbero 100 dollari). + * 3. Calcola l'equivalente in euro e salvalo in una variabile chiamata `euro`. + * (Formula: dollari * tasso di cambio). + * + * 4. Stampa il risultato in modo chiaro. + * OUTPUT desiderato: "100 dollari valgono 92 euro". + */ + + diff --git a/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/debug_nomi_variabili.js b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/debug_nomi_variabili.js new file mode 100644 index 0000000..8158cef --- /dev/null +++ b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/debug_nomi_variabili.js @@ -0,0 +1,27 @@ +/** + * Esercizio: Debugging Nomi e Sintassi (FIX ME) + * + * DESCRIZIONE: + * Il codice qui sotto contiene 4 errori di sintassi relativi a come vengono + * dichiarate e usate le variabili. + * Il tuo compito è trovare gli errori, correggerli e far eseguire lo script senza errori. + * + * REGOLE DA RICORDARE: + * 1. I nomi delle variabili non possono iniziare con numeri. + * 2. I nomi delle variabili non possono contenere spazi. + * 3. Non si può riassegnare un valore a una variabile `const`. + * 4. Le variabili devono essere dichiarate prima di essere usate. + */ + +let 1numero = 10; + +const valore fisso = 50; + +valore fisso = 60; + +console.log(risultatoFinale); + +let risultatoFinale = 1numero + valore fisso; + +// OUTPUT ATTESO: 3000 +console.log(risultatoFinale); diff --git a/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/debug_tipi_dati.js b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/debug_tipi_dati.js new file mode 100644 index 0000000..0204286 --- /dev/null +++ b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/debug_tipi_dati.js @@ -0,0 +1,27 @@ +/** + * Esercizio Extra: Debugging Coercizione Tipi (FIX ME) + * + * DESCRIZIONE: + * Un programmatore ha scritto un codice per sommare due prezzi, + * ma il risultato è bizzarro. Invece di fare la somma matematica, i numeri si "incollano". + * + * OBIETTIVO: + * 1. Esegui il codice e osserva l'errore logico (non di sintassi). + * 2. Correggi il tipo di dato delle variabili in modo che la somma sia matematica (45.50). + * 3. Nota anche che c'è un errore nel calcolo della media finale. + * + * OUTPUT ATTESO: + * Totale: 45.5 + * Media: 22.75 + */ + +let prezzoOggetto1 = "20.50"; +let prezzoOggetto2 = "25.00"; + +let sommaTotale = prezzoOggetto1 + prezzoOggetto2; + +console.log("Totale: " + sommaTotale); // Ora stampa 20.5025.00 (Sbagliato!) + +let media = sommaTotale / 4; + +console.log("Media: " + media); diff --git a/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/scambio_valori.js b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/scambio_valori.js new file mode 100644 index 0000000..388c14e --- /dev/null +++ b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/scambio_valori.js @@ -0,0 +1,33 @@ +/** + * Esercizio Extra: Lo Scambio Magico (Swap) + * + * DESCRIZIONE: + * Hai due variabili: + * let bicchiereRosso = "Acqua"; + * let bicchiereBlu = "Vino"; + * + * Il tuo compito è scambiare i contenuti, in modo che alla fine: + * bicchiereRosso contenga "Vino" + * bicchiereBlu contenga "Acqua" + * + * REGOLE: + * 1. NON puoi riassegnare manualmente i valori: + * NON vale scrivere bicchiereRosso = "Vino" e bicchiereBlu = "Acqua". + * 2. Devi usare il codice per scambiare i valori esistenti. + * + * SUGGERIMENTO: + * Nella realtà, se hai due bicchieri pieni e vuoi scambiarne il contenuto, cosa faresti? + * Per scambiare i liquidi senza buttarli, useresti un terzo bicchiere vuoto (una variabile temporanea)? + * + * Stampa i valori finali per verificare il successo. + */ + +let bicchiereRosso = "Acqua"; +let bicchiereBlu = "Vino"; + +// Scrivi la logica di scambio qui sotto: + + +// Verifica finale +console.log("Rosso:", bicchiereRosso); // Deve essere Vino +console.log("Blu:", bicchiereBlu); // Deve essere Acqua diff --git a/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/scontrino_automatico.js b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/scontrino_automatico.js new file mode 100644 index 0000000..761b261 --- /dev/null +++ b/JS_Esercizi/JS_Esercizi 01 - Base/esercizi/extra/scontrino_automatico.js @@ -0,0 +1,21 @@ +/** + * Esercizio Extra: Generatore di Scontrino + * + * DESCRIZIONE: + * Sei alla cassa di un negozio e devi calcolare il totale di uno scontrino che ha 3 articoli. + * + * 1. Dichiara 3 variabili per i prezzi di tre prodotti diversi (es. `prezzoPane`, `prezzoLatte`, `prezzoCaffe`). + * Assegna valori decimali (es. 1.50, 3.99). + * 2. Calcola la somma dei prodotti (il Subtotale) e salvala in una variabile. + * 3. Il negozio applica una tassa (IVA) del 22% sul totale. + * Dichiara una costante `IVA` col valore 0.22. + * 4. Calcola l'ammontare della tassa (Subtotale * IVA) e salvalo in una variabile. + * 5. Calcola il Totale Finale (Subtotale + Tassa). + * 6. Stampa uno scontrino formattato simile a questo: + * --- SCONTRINO --- + * Subtotale: ... + * Iva (22%): ... + * TOTALE: ... + */ + + diff --git a/JS_Esercizi/JS_Esercizi 01 - Base/tutorial_interattivo.js b/JS_Esercizi/JS_Esercizi 01 - Base/tutorial_interattivo.js new file mode 100644 index 0000000..80881d8 --- /dev/null +++ b/JS_Esercizi/JS_Esercizi 01 - Base/tutorial_interattivo.js @@ -0,0 +1,112 @@ +/** + * ISTRUZIONI: + * 1. Leggi attentamente i commenti numerati (Step). + * 2. Scrivi il codice richiesto sotto il commento `// TODO:`. + * 3. Esegui il file (es. con Node.js o nel browser) e controlla se l'output coincide. + */ + +/** + * =========================================== + * --- STEP 1: Il tuo primo comando --- + * + * In JavaScript, usiamo `console.log()` per stampare messaggi sullo schermo. + * Le frasi di testo (Stringhe) devono essere racchiuse tra virgolette ("...") o apici ('...'). + */ + +// TODO: Scrivi un comando per stampare la frase "Benvenuto nel corso JavaScript!" +// OUTPUT ATTESO: Benvenuto nel corso JavaScript! + + +/** + * =========================================== + * --- STEP 2: Le Variabili (let) --- + * + * Una variabile è come una scatola dove possiamo salvare un'informazione. + * Usiamo la parola chiave `let` per creare una variabile che può cambiare valore nel tempo. + * Esempio: let nome = 'Mario'; + */ + +// TODO: 1. Crea una variabile chiamata `corsista` e assegnale il tuo nome. +// TODO: 2. Stampa la variabile `corsista` usando console.log. +// OUTPUT ATTESO: (Il tuo nome) + + +/** + * =========================================== + * --- STEP 3: Le Costanti (const) --- + * + * Se sai che un valore non cambierà MAI, usa `const` invece di `let`. + * È una buona abitudine usare `const` per valori fissi. + */ + +// TODO: 1. Crea una costante chiamata `ANNO_CORRENTE` e assegnale il valore 2026 (o l'anno attuale). +// TODO: 2. Stampa la costante. +// OUTPUT ATTESO: 2026 + + +/** + * =========================================== + * --- STEP 4: I Numeri (Numbers) --- + * + * JavaScript gestisce i numeri (interi o con la virgola) senza bisogno di virgolette. + * Possiamo fare operazioni matematiche: + (somma), - (sottrazione), * (moltiplicazione), / (divisione). + */ + +// TODO: 1. Crea una variabile `eta` con la tua età. +// TODO: 2. Crea una variabile `etaProssimoAnno` che sia uguale a `eta + 1`. +// TODO: 3. Stampa `etaProssimoAnno`. +// OUTPUT ATTESO: (La tua età + 1) + + +/** + * =========================================== + * --- STEP 5: Unire le Stringhe (Concatenazione) --- + * + * Possiamo unire testo e variabili usando il simbolo `+`. + * Esempio: console.log("Ciao " + nome); + */ + +let linguaggio = "JavaScript"; + +// TODO: Usa console.log per stampare la frase: "Sto imparando JavaScript" +// Devi costruire la frase unendo la stringa "Sto imparando " e la variabile `linguaggio`. +// OUTPUT ATTESO: Sto imparando JavaScript + + +/** + * =========================================== + * --- STEP 6: I Booleani (Boolean) --- + * + * Un booleano può avere solo due valori: `true` (vero) o `false` (falso). + * Servono per la logica del programma (es. utente è loggato? è maggiorenne?). + */ + +// TODO: 1. Crea una variabile `stoImparando` e impostala su `true`. +// TODO: 2. Stampa la variabile. +// OUTPUT ATTESO: true + + +/** + * =========================================== + * --- STEP 7: Controllare il Tipo (typeof) --- + * + * A volte non sappiamo che tipo di dato contiene una variabile. + * L'operatore `typeof` ci dice se è una stringa, un numero, ecc. + */ + +let numeroMisterioso = 42; +let testoMisterioso = "42"; +let veroOFalso = false; +let variabileVuota = null; +let variabileSconosciuta; + +// TODO: Stampa il TIPO di ogni variabile usando `typeof`. +// Esempio: console.log(typeof numeroMisterioso); +// OUTPUT ATTESO: +// number +// string +// boolean +// object +// undefined + +