Algoritmi - Esame
  • 1. Gli algoritmi sono procedure o formule passo-passo per la risoluzione di problemi. Sono un insieme di istruzioni che descrivono come eseguire un compito o risolvere un problema in modo efficace. Gli algoritmi sono utilizzati in vari campi come l'informatica, la matematica, l'ingegneria e altri ancora. Aiutano a organizzare i dati, a prendere decisioni e ad automatizzare i processi. Progettando algoritmi efficienti, possiamo ottimizzare l'uso delle risorse, migliorare le prestazioni e risolvere problemi complessi in modo sistematico.

    Quale algoritmo di ordinamento ha una complessità temporale nel caso peggiore di O(n2)?
A) Ordinamento a mucchio
B) Ordinamento rapido
C) Ordinamento a bolle
D) Ordinamento per unione
  • 2. Quale struttura di dati viene tipicamente utilizzata in un algoritmo di Depth-First Search (DFS)?
A) Coda
B) Albero binario
C) Pila
D) Array
  • 3. Quale algoritmo viene comunemente utilizzato per trovare il percorso più breve in un grafo con pesi dei bordi non negativi?
A) Algoritmo di Dijkstra
B) Algoritmo di Prim
C) Algoritmo di Bellman-Ford
D) Algoritmo di ricerca A*
  • 4. Che cosa significa "ricorsione" nel contesto degli algoritmi?
A) Una funzione che itera su un insieme di elementi.
B) Una funzione che genera numeri casuali.
C) Una funzione che richiama se stessa in un processo di risoluzione dei problemi.
D) Una funzione senza dichiarazione di ritorno.
  • 5. Quale algoritmo viene utilizzato per trovare la chiusura transitiva di un grafo diretto?
A) Algoritmo di Tarjan
B) Algoritmo di Kosaraju
C) Algoritmo di Warshall
D) Algoritmo di Floyd
  • 6. Qual è il principale vantaggio dell'algoritmo breadth-first search (BFS) rispetto al depth-first search (DFS)?
A) Il DFS utilizza meno spazio in memoria.
B) DFS trova il percorso più rapidamente.
C) BFS garantisce il percorso più breve verso l'obiettivo.
D) Il BFS è più facile da implementare.
  • 7. Quale algoritmo viene utilizzato per trovare la sottosequenza comune più lunga tra due sequenze?
A) Selezione Ordinamento
B) Ordinamento a mucchio
C) Algoritmo della sequenza comune più lunga
D) Ordinamento Radix
  • 8. Qual è l'obiettivo principale dell'algoritmo di Floyd-Warshall?
A) Per ordinare gli elementi in ordine crescente.
B) Determinare la componente connessa più grande in un grafo non diretto.
C) Per calcolare il flusso massimo in una rete di flusso.
D) Trovare i percorsi più brevi tra tutte le coppie di vertici di un grafo ponderato.
  • 9. Quale dei seguenti è un algoritmo divide et impera?
A) Ordinamento per unione
B) Ordinamento dell'inserimento
C) Ordinamento a bolle
D) Selezione Ordinamento
  • 10. Qual è il termine che indica la misura del livello di dettaglio delle istruzioni di un algoritmo?
A) Complessità
B) Efficienza
C) Scalabilità
D) Granularità
  • 11. Quale struttura di dati viene tipicamente utilizzata in un algoritmo di Breadth-First Search?
A) Coda
B) Elenco collegato
C) Pila
D) Ammasso
  • 12. Come si chiama il processo che accorcia una sequenza ripetitiva utilizzando le occorrenze precedenti?
A) Trasformazione di Burrows-Wheeler
B) Codifica Huffman
C) Codifica della lunghezza di esecuzione
D) Codifica differenziale
  • 13. Quale algoritmo può essere utilizzato per trovare il flusso massimo in una rete di flussi?
A) Algoritmo di ricerca binaria
B) Ordinamento a bolle
C) Ricerca Depth-First
D) Algoritmo Ford-Fulkerson
  • 14. Qual è la complessità temporale del caso peggiore dell'algoritmo Quick Sort?
A) O(n2)
B) O(log n)
C) O(n log n)
D) O(n)
  • 15. Chi era lo scienziato e intellettuale persiano che scrisse sugli algoritmi nell'825 d.C.?
A) Muḥammad ibn Mūsā al-Khwārizmī
B) Geoffrey Chaucer
C) Adelardo di Bath
D) Giovanni di Siviglia
  • 16. Qual è la forma latinizzata del nome di Al-Khwarizmi utilizzata nelle prime traduzioni?
A) algoritmi
B) augrym
C) aritmos
D) Algorismo
  • 17. In quale contesto i sistemi di raccomandazione dei social media vengono spesso erroneamente chiamati 'algoritmi'?
A) Forniscono risultati corretti e ben definiti per tutti gli utenti.
B) Utilizzano processi deterministici per generare raccomandazioni.
C) Sono basati su sequenze finite di istruzioni.
D) Questi sistemi si basano su euristiche, non su veri e propri algoritmi.
  • 18. Qual è il ruolo delle istruzioni condizionali negli algoritmi avanzati?
A) Garantiscono che l'algoritmo termini sempre.
B) Queste istruzioni deviano l'esecuzione del codice attraverso percorsi diversi.
C) Prevengono il ragionamento automatico.
D) Eliminano la casualità dall'algoritmo.
  • 19. Cosa si intende per "ragionamento automatico" nel contesto degli algoritmi?
A) Seguire una sequenza fissa di operazioni.
B) Generare output casuali senza input.
C) Trarre conclusioni valide attraverso l'esecuzione del codice.
D) Utilizzare euristiche per risolvere problemi.
  • 20. Qual è il significato delle 'pietre augrym' menzionate da Geoffrey Chaucer?
A) Rappresentavano metodi euristici.
B) Venivano utilizzate per i calcoli posizionali.
C) Erano dei primi computer.
D) Erano una forma di programmazione algoritmica.
  • 21. In quale antica civiltà sono stati documentati i primi algoritmi di divisione?
A) Matematica cinese
B) Matematica babilonese
C) Matematica egizia
D) Matematica greca
  • 22. A quale dinastia sono associate le tavolette di argilla babilonesi che descrivono algoritmi per il calcolo di formule?
A) Dinastia neobabilonese
B) Dinastia assira
C) Dinastia di Hammurabi
D) Dinastia accadica
  • 23. A quale antica civiltà è associato il papiro matematico di Rhind?
A) Matematica babilonese
B) Matematica greca
C) Matematica indiana
D) Matematica egizia
  • 24. Chi ha sviluppato il primo algoritmo crittografico per decifrare codici cifrati?
A) Nicomaco
B) Euclide
C) Al-Kindi
D) Muḥammad ibn Mūsā al-Khwārizmī
  • 25. Quale metodo ha descritto Al-Kindi per la crittanalisi?
A) Analisi della frequenza
B) Cifra di Cesare
C) Cifra di sostituzione
D) Cifra di trasposizione
  • 26. In quale antico testo è stato descritto per la prima volta l'algoritmo euclideo?
A) Algebra di Al-Khwarizmi
B) Introduzione all'aritmetica di Nicomaco
C) Sulba Sutras
D) Gli Elementi di Euclide
  • 27. A chi è attribuito il merito di aver progettato il primo algoritmo destinato a un computer?
A) Charles Babbage
B) George Stibitz
C) Ada Lovelace
D) Herman Hollerith
  • 28. Quale meccanismo è stato fondamentale per l'invenzione degli orologi a pendolo nel Medioevo?
A) Meccanismo a pendolo
B) Meccanismo di scappamento a verga
C) Meccanismo a rotore (o bilanciere)
D) Oscillatore al quarzo
  • 29. Quale dispositivo è considerato il primo vero computer in grado di eseguire qualsiasi algoritmo?
A) Lo Z3
B) L'ENIAC
C) La macchina analitica di Babbage
D) La macchina differenziale
  • 30. Qual era l'uso principale della carta a nastro sviluppata negli anni '70 dell'Ottocento?
A) Trasmissione di dati
B) Messaggistica testuale
C) Stampa di immagini
D) Registrazione audio
  • 31. Quale invenzione ha portato allo sviluppo delle schede perforate?
A) Telaio Jacquard
B) Rete di commutazione telefonica
C) Motore analitico
D) Telegrafo
  • 32. Chi ha inventato il dispositivo digitale di calcolo nel 1937?
A) John von Neumann
B) George Stibitz
C) Alan Turing
D) Konrad Zuse
  • 33. In quale secolo si è iniziato a utilizzare macchinari automatici precisi, portando allo sviluppo di automi meccanici?
A) XVII secolo
B) XV secolo
C) XIII secolo
D) XIX secolo
  • 34. Quale invenzione del 1835 ha portato allo sviluppo delle reti di commutazione telefonica?
A) Relè elettromeccanici
B) Telegrafo
C) Macchina differenziale
D) Schede perforate
  • 35. Quale invenzione era utilizzata a livello mondiale a metà del XIX secolo?
A) Telefono
B) Radio
C) Televisione
D) Telegrafo
  • 36. Qual è stato un importante sviluppo nell'ambito dell'archiviazione e della trasmissione dei dati intorno al 1890?
A) Dischi rigidi
B) Dischetti flessibili
C) Nastri magnetici
D) Schede perforate
  • 37. Chi ha iniziato i tentativi di risolvere il problema di Entscheidungsproblem di David Hilbert nel 1928?
A) Alonzo Church
B) Emil Post
C) David Hilbert
D) Alan Turing
  • 38. Quale formalizzazione è associata ad Alonzo Church ed è stata introdotta nel 1936?
A) Formulazione 1
B) Funzioni ricorsive
C) Macchine di Turing
D) Calcolo lambda
  • 39. Quale sviluppo nell'intelligenza artificiale ha invertito la sequenza tradizionale dell'evoluzione degli algoritmi, passando dalle euristiche agli algoritmi formali?
A) Calcolo quantistico
B) Standard di crittografia NIST
C) Intelligenza artificiale basata su architetture Transformer
D) Programma SAINT
  • 40. Quali aggiornamenti ha apportato il NIST nel 2024 in relazione al calcolo quantistico?
A) Standard di crittografia post-quantistica
B) Programma SAINT
C) Macchine di Turing
D) Calcolo lambda
  • 41. Quale delle seguenti opzioni non è una rappresentazione strutturata di algoritmi che evita le ambiguità comuni del linguaggio naturale?
A) Diagrammi di flusso
B) Pseudocodice
C) Linguaggi naturali
D) Diagrammi Drakon
  • 42. Quale rappresentazione fornisce la tabella degli stati esatta e l'elenco delle transizioni per una macchina di Turing?
A) Tabelle di controllo
B) Descrizione di alto livello
C) Descrizione dell'implementazione
D) Descrizione formale
  • 43. Quale simbolo principale in un diagramma di flusso rappresenta le decisioni?
A) Rombi
B) Rettangoli
C) Punti
D) Frecce
  • 44. Quale algoritmo di ricerca è più efficiente per le liste ordinate in termini di complessità temporale?
A) Ricerca binaria
B) Ricerca sequenziale
C) Ricerca lineare
D) Ordinamento a bolle
  • 45. Nella rappresentazione a diagramma di flusso, cosa simboleggia una freccia?
A) Punto di decisione
B) Annidamento di sottostrutture
C) Flusso del programma
D) Output
  • 46. Cosa rappresenta tipicamente il pseudocodice nell'analisi degli algoritmi?
A) Una rappresentazione semplice e generale.
B) Una guida dettagliata all'implementazione.
C) Un codice ottimizzato per hardware specifico.
D) Un ausilio grafico, come un diagramma di flusso.
  • 47. Quale di queste NON è una struttura standard estesa da Tausworthe?
A) MENTRE-FAI
B) SEQUENZA
C) RECURSIONE
D) SE-ALORA-ALTRIMENTI
  • 48. Quale tecnica di risoluzione dei problemi prevede di richiamare se stessa ripetutamente?
A) Iterazione
B) Esecuzione sequenziale
C) Elaborazione parallela
D) Ricorsione
  • 49. Quale approccio di progettazione prevede la suddivisione di un problema in sottoproblemi più piccoli?
A) Divide et impera
B) Pattern del metodo template
C) Pattern del decoratore
D) Programmazione dinamica
  • 50. Quali tipi di algoritmi sono intrinsecamente sequenziali e non possono essere parallelizzati?
A) Algoritmi distribuiti
B) Problemi intrinsecamente sequenziali
C) Algoritmi parallelizzabili
D) Algoritmi non deterministici
  • 51. Quale modello di progettazione algoritmica prevede la definizione di una struttura di base per un algoritmo all'interno di un metodo?
A) Divide et impera
B) Modello del metodo template
C) Modello del decoratore
D) Programmazione dinamica
  • 52. Quale approccio prevede la creazione di soluzioni multiple in modo incrementale e l'abbandono di quelle che non possono portare a una soluzione completa valida?
A) Riduzione della complessità
B) Ricorsione con backtracking
C) Divide et impera
D) Ricerca esaustiva o a forza bruta
  • 53. Qual è la questione aperta, nota anche come, che riguarda se gli algoritmi probabilistici con complessità temporale polinomiale possono essere i più veloci per alcuni problemi?
A) Problema di Monte Carlo
B) Problema della riduzione della complessità
C) Problema di Las Vegas
D) Problema P contro NP
  • 54. Qual è la sottoclasse degli algoritmi di Monte Carlo che ha una complessità temporale polinomiale?
A) NP
B) RP
C) ZPP
D) P
  • 55. Quale tipo di programmazione prevede la ricerca di soluzioni ottimali per una funzione lineare soggetta a vincoli?
A) Metodo greedy (o avido)
B) Programmazione lineare
C) Metodo euristico
D) Programmazione dinamica
  • 56. Qual è un'applicazione comune degli algoritmi greedy nella teoria dei grafi?
A) Simulare processi di ricottura.
B) Ottimizzare funzioni lineari con vincoli.
C) Risolvere problemi di programmazione intera.
D) Trovare alberi di copertura minimi.
  • 57. Quale algoritmo euristico è non deterministico?
A) Ricerca tabù
B) Algoritmo di Floyd-Warshall
C) Ricottura simulata
D) Algoritmo di Prim
  • 58. Quali tipi di problemi possono essere risolti utilizzando il metodo greedy per gli alberi di copertura minimi?
A) Problemi con vincoli interi.
B) Problemi di programmazione dinamica.
C) Problemi di programmazione lineare.
D) Grafi senza cicli negativi.
  • 59. Quale sistema di intelligenza artificiale ha scoperto algoritmi di ordinamento e hashing migliorati?
A) DeepMind
B) AlphaZero
C) AlphaEvolve
D) AlphaDev
  • 60. In quale anno Google DeepMind ha introdotto AlphaDev?
A) 2020
B) 2025
C) 2019
D) 2023
  • 61. Con cosa utilizza AlphaEvolve per proporre modifiche al codice?
A) Modelli linguistici
B) Apprendimento per rinforzo
C) Programmatori umani
D) Valutatori automatizzati
  • 62. Quale libreria ha integrato i piccoli algoritmi di ordinamento sviluppati da AlphaDev?
A) System.Linq in C#
B) Framework di collezioni di Java
C) Libreria standard C++ per l'ordinamento (LLVM)
D) Funzione di ordinamento integrata in Python
Creato con That Quiz — un sito di test di matematica per studenti di tutti i livelli.