Corso di recupero - Fondamenti di Informatica I
AA. 2024- 2025
Dott. Michele Vitale
Prima simulazione
Prima simulazione - Esercizio 1
Si scriva una funzione elimina_duplicati(lista) che prenda in input una lista di numeri interi e restituisca una nuova lista in cui:
Esempio:
Input: [2,3,2,2,3,1,4,6,5,6]
Output: [2,3,1,4,5,6]
Prima simulazione - Esercizio 2
Data una lista di numeri interi, restituire una lista contenente il numero di occorrenze di ogni cifra (0-9) presente in tutti i numeri della lista.
Esempio:
Input: [42,332,12]
Output: [0, 1, 3, 2, 1, 0, 0, 0, 0, 0]
Prima simulazione - Esercizio 3
Dato un intero n, calcolare ricorsivamente il prodotto delle sue cifre.
Esempio:
Input: 1234
Output: 24
Input: 21023121231
Output: 0
Prima simulazione - Esercizio 4
Scrivere una funzione segui_percorso(mappa, partenza) che prende in input:
La funzione deve seguire il percorso indicato dalle direzioni partendo dalla cella partenza, e restituire una lista di tuple che rappresentano le coordinate visitate, nell’ordine in cui sono state percorse, fino a raggiungere una cella con valore 'X'.
Se il percorso esce dalla matrice o entra in un ciclo, la funzione deve restituire la stringa "Meta non raggiungibile".
Seconda simulazione
Simulazione Pretest 05 - Corso di Recupero
su Elearning
Seconda simulazione - Esercizio 1
Scrivi una funzione numeri_filtrati(lista, divisori, soglia) che dati in input una lista di numeri interi, una lista di numeri interi divisori e un numero intero soglia restituisce una lista contenente solo i numeri che sono divisibili per almeno un divisore e sono maggiori della soglia. La lista deve mantenere l’ordine di comparsa dei valori.
Esempio:
Input: lista = [7,4,6,17,15,9] divisori = [2,3] soglia = 8
Output: [15,9]
Seconda simulazione - Esercizio 2
Scrivere una funzione parole_con_prefisso(lista, prefisso) che prende in input una lista di stringhe e una stringa prefisso. La funzione deve restituire una lista contenente solo le parole che iniziano con quel prefisso, ordinate per lunghezza e, a parità, in ordine alfabetico inverso.
Esempio:
Input: ["cane", "casa", "castello", "gatto"], "cas"
Output: [“casa”, “castello”]
Seconda simulazione - Esercizio 3
Scrivere una funzione ricorsiva inverti_parole(frase) che prenda in input una stringa frase composta da parole separate da spazi e restituisca una nuova stringa in cui ogni parola è invertita, ma l’ordine delle parole nella frase resta invariato.
Esempio:
Input: “fondamenti si passa dai”
Output: “itnemadnof is assap iad”
Seconda simulazione - Esercizio 4
Implementare una funzione chiamata percorso_zigzag(mat) che, data una matrice mat di interi di dimensione n x n, calcola la somma dei valori assoluti dei numeri incontrati lungo un percorso che segue queste regole:
Terza simulazione
Simulazione Pretest 06 - Corso di Recupero
su Elearning
Terza simulazione - Esercizio 3
Scrivere una funzione ricorsiva che data una lista di numeri interi e una lista contenente tuple di indici, restituire una lista contenente i prodotti tra gli elementi nella prima lista indicati dalle coppie di indici. In caso di indici più grandi della lunghezza della matrice, considerarli in modo ciclico ripartendo dall'inizio.
Se una delle due liste è vuota, restituire [].
Esempio:
lst = [2,3,4,5,6]
idx = [(1,2), (9,0), (4,1)]
out: [12,12,18]
Terza simulazione - Esercizio 4
Scrivere una funzione percorso_valido(mappa, partenza, direzioni) che prenda in input:
La funzione deve seguire le direzioni iniziando dalla partenza e restituire la somma dei valori delle celle attraversate. Se durante il percorso si esce dalla matrice, la funzione deve rientrare dal lato opposto.
Esempio: se n = 4, dalla posizione (3,1) leggendo “S” si passa in posizione (0,1).
Quarta simulazione
Simulazione Pretest 07 - Corso di Recupero
su Elearning
Quarta simulazione - Esercizio 3
Scrivere una funzione risolvi_operazioni(operazioni, variabile) che data una lista di tuple del tipo
(nomeVariabile, operatore1, operatore2, operazione) restituisca il valore della variabile "out". Le operazioni ammesse sono somma, sottrazione e moltiplicazione.
Si può assumere che una variabile venga utilizzata solo una volta e che la variabile "out" sia sempre presente.
Quarta simulazione - Esercizio 4
Data una matrice nxn con interi liberi in segno e un intero k, scrivere una funzione trova_sottomatrice(n,k) che trova la sottomatrice k x k con somma diagonale massima. La funzione restituisca le coordinate della cella in alto a sinistra della sottomatrice e il valore della somma.