Questo articolo presenta una raccolta di esercizi sulle funzioni in C++ progettati per sfidare gli studenti e consolidare le loro conoscenze di programmazione. Gli esercizi, disponibili sul marketplace di WeTambara, sono etichettati con il tag “funzioni“ per una facile ricerca. Questo articolo integra un precedente contributo sulle funzioni C++, offrendo nuovi strumenti ai docenti di informatica.
- Funzione per controllare se ci sono almeno 4 vocali diverse nella parola
Scrivi una funzione che verifica se una parola contiene almeno quattro vocali diverse (a, e, i, o, u). La funzione restituisce true se la condizione è soddisfatta, false altrimenti.
Esempio: Per “educazione” restituisce true, per “porta” restituisce false.
Obiettivo didattico: Rafforzare l’uso di array e stringhe per manipolare dati testuali. - Traduzione in rövarspråket
Raddoppia le consonanti e inserisci una “o” tra di esse.
Esempio: Input: “casa”. Output: “cocasosa”.
Obiettivo didattico: Sviluppare algoritmi creativi per la manipolazione di stringhe. - Ricerca di un elemento in una lista e identificazione dell’indice
Scrivi una funzione che verifica se un elemento è presente in un array. Se presente, restituisce l’indice; altrimenti, -1.
Esempio: Input: lista [1, 2, 3, 4, 5], elemento 3. Output: “Elemento trovato all’indice 2”.
Obiettivo didattico: Comprendere il funzionamento di array e algoritmi di ricerca. - Funzione per la compressione di stringhe
Implementa la compressione di stringhe con l’algoritmo run-length encoding.
Esempio: Input: “AAAABBBCCDAA”, Output: “4A3B2C1D2A”.
Obiettivo didattico: Approfondire gli algoritmi di compressione e la manipolazione avanzata delle stringhe. - Cifre danzerine
Scrivi una funzione che controlla se un numero è “danzerino” (cifre alternate crescenti e decrescenti).
Esempio: Input: 1324, Output: true. Input: 1234, Output: false.
Obiettivo didattico: Applicare logica condizionale e gestione di numeri. - Numero mistico
Identifica il numero più frequente in una lista. In caso di pareggio, seleziona quello più vicino alla media.
Esempio: Input: [3, 7, 3, 9, 6, 7], Output: 7.
Obiettivo didattico: Sviluppare algoritmi basati su statistiche. - Scambio fruttato
Simula uno scambio di frutta tra due contenitori con capacità limitata.
Esempio: Contenitore A: 8/10, Contenitore B: 2/6. Output: A: 4, B: 6.
Obiettivo didattico: Gestire stati e condizioni con classi e funzioni. - Chiave dell’armonia
Trova se un numero è armonioso (somma delle cifre divisibile per 3 e prodotto pari).
Obiettivo didattico: Integrare matematica e programmazione. - Algoritmo di ordinamento per un array
Implementa un algoritmo per ordinare un array in ordine crescente.
Obiettivo didattico: Approfondire algoritmi di ordinamento e gestione degli array. - Il codice ribelle
Rimuovi lettere consecutive uguali in una stringa.
Esempio: Input: “abbacddc”, Output: “ac”.
Obiettivo didattico: Manipolazione avanzata delle stringhe. - Funzione “Anagramma”
Verifica se due parole sono anagrammi.
Esempio: Input: “listen”, “silent”. Output: “Anagramma”.
Obiettivo didattico: Approfondire il confronto di stringhe. - Trova la parola più lunga in una lista di parole
Trova la parola più lunga in una lista. Se ci sono più parole di pari lunghezza, restituisci la prima.
Esempio: Input: {“cane”, “elefante”, “giraffa”, “orso”}. Output: “elefante”.
Obiettivo didattico: Applicare algoritmi su array di stringhe. - Conversione di un carattere al codice ASCII
Restituisci il codice ASCII di un carattere dato.
Esempio: Input: ‘A’, Output: 65. Input: ‘z’, Output: 122.
Obiettivo didattico: Approfondire i tipi di dato e la rappresentazione interna. - Verifica di un numero perfetto
Determina se un numero è perfetto (somma divisori = numero).
Esempio: Input: 28, Output: “Perfetto”. Input: 12, Output: “Non perfetto”.
Obiettivo didattico: Rafforzare i concetti matematici di base. - Funzione per il calcolo della potenza con esponente negativo
Implementa una funzione per calcolare la potenza di un numero con esponente, incluso negativo.
Esempio: Base: 3, esponente: -3. Output: 0.125.
Obiettivo didattico: Gestire input opzionali e concetti matematici. - Funzione di elevamento reciproco tra due numeri
Consegna: Calcola due potenze: a^b e b^a senza funzioni predefinite.
Esempio: Input: 2, 3. Output: 8, 9.
Obiettivo didattico: Implementare algoritmi personalizzati. - Trova il valore ripetuto tra tre numeri
Restituisci il numero ripetuto tra tre interi, o -1 se non ci sono ripetizioni.
Esempio: Input: 5, 3, 5. Output: 5.
Obiettivo didattico: Gestire condizioni logiche complesse. - Calcolo della cifra più significativa
Determina la cifra più a sinistra di un numero intero.
Esempio: Input: 4567. Output: 4.
Obiettivo didattico: Lavorare con operazioni matematiche avanzate. - Equilibrio delle finanze di Robin Hood
Equilibra il denaro tra due persone, restituendo la somma trasferita.
Esempio: Input: x=100, y=50. Output: “Ho spostato 25 e ora entrambi hanno 75”.
Obiettivo didattico: Simulare un problema reale con funzioni. - Calcolo dei divisori di un numero
Conta i divisori di un numero intero.
Esempio: Input: 12. Output: 6 (divisori: 1, 2, 3, 4, 6, 12).
Obiettivo didattico: Applicare algoritmi matematici. - Calcolo della differenza tra massimo e minimo
Calcola la differenza tra il numero più grande e il più piccolo tra tre numeri.
Esempio: Input: 5, 2, 8. Output: 6.
Obiettivo didattico: Approfondire la gestione di numeri. - Funzione per convertire il tempo in secondi
Converte ore, minuti e secondi in secondi totali.
Esempio: Input: 1 ora, 30 minuti, 45 secondi. Output: 5445 secondi.
Obiettivo didattico: Applicare i concetti di conversione delle unità. - Confronto tra moduli di due numeri
Determina quale dei due numeri ha il modulo maggiore.
Esempio: Input: 7, -10. Output: -10.
Obiettivo didattico: Gestire numeri con segni e moduli. - Funzione per il valore assoluto
Restituisci il valore assoluto di un numero intero.
Esempio: Input: -5. Output: 5.
Obiettivo didattico: Introduzione ai concetti di base di funzioni matematiche.




