Algoritmi e Strutture Dati
Ingegneria Informatica e dell'Automazione (D.M. 270/04)
Docente: Vecchio Massimo
Indice
- Indice Lezioni ............................................................................................................................... p. 2
- Lezione 002 ........................................................................................................................... p. 4
- Lezione 003 ........................................................................................................................... p. 5
- Lezione 004 ........................................................................................................................... p. 6
- Lezione 005 ........................................................................................................................... p. 7
- Lezione 006 ........................................................................................................................... p. 8
- Lezione 007 ........................................................................................................................... p. 9
- Lezione 008 ........................................................................................................................... p. 10
- Lezione 009 ........................................................................................................................... p. 11
- Lezione 010 ........................................................................................................................... p. 12
- Lezione 011 ........................................................................................................................... p. 13
- Lezione 012 ........................................................................................................................... p. 14
- Lezione 013 ........................................................................................................................... p. 15
- Lezione 014 ........................................................................................................................... p. 16
- Lezione 015 ........................................................................................................................... p. 18
- Lezione 016 ........................................................................................................................... p. 19
- Lezione 017 ........................................................................................................................... p. 21
- Lezione 018 ........................................................................................................................... p. 22
- Lezione 019 ........................................................................................................................... p. 23
- Lezione 020 ........................................................................................................................... p. 24
- Lezione 021 ........................................................................................................................... p. 26
- Lezione 022 ........................................................................................................................... p. 27
- Lezione 023 ........................................................................................................................... p. 28
- Lezione 024 ........................................................................................................................... p. 29
- Lezione 025 ........................................................................................................................... p. 30
- Lezione 026 ........................................................................................................................... p. 31
- Lezione 027 ........................................................................................................................... p. 32
- Lezione 028 ........................................................................................................................... p. 34
- Lezione 029 ........................................................................................................................... p. 38
- Lezione 030 ........................................................................................................................... p. 78
- Lezione 031 ........................................................................................................................... p. 97
- Lezione 032 ........................................................................................................................... p. 98
- Lezione 033 ........................................................................................................................... p. 99
- Lezione 034 ........................................................................................................................... p. 100
- Lezione 035 ........................................................................................................................... p. 101
- Lezione 036 ........................................................................................................................... p. 102
- Lezione 037 ........................................................................................................................... p. 104
- Lezione 038 ........................................................................................................................... p. 105
- Lezione 039 ........................................................................................................................... p. 129
- Lezione 040 ........................................................................................................................... p. 130
- Lezione 041 ........................................................................................................................... p. 131
- Lezione 042 ........................................................................................................................... p. 132
Lezione 002
- Che differenza c'è tra un linguaggio di programmazione interpretato e uno compilato?
Un linguaggio interpretato viene prima tradotto in linguaggio macchina. Un linguaggio compilato viene prima tradotto in linguaggio macchina. Nessuna di queste risposte. Non esistono differenze.
- Cosa è un plugin in Eclipse?
- Cosa è un ambiente di sviluppo integrato (IDE)?
- Che differenza c'è tra un linguaggio di programmazione interpretato e uno compilato?
- Si faccia un esempio minimo di programma Java che possa essere mandato in esecuzione.
Lezione 003
- Cosa si intende per linguaggio intermedio?
Un processo in cui il codice sorgente è trasformato in un linguaggio molto vicino al linguaggio macchina, in modo da poter essere eseguito da una macchina virtuale. Un processo in cui il codice macchina è trasformato in un linguaggio molto ad alto livello, in modo da poter essere letto con facilità dal programmatore. Nessuna di queste risposte. Un processo in cui tutte le variabili di un programma vengono trasferite nello stack di una macchina virtuale per poter essere poi utilizzate.
- Cosa è la Java Virtual Machine?
Una classe principale. Nessuna di queste risposte. Una classe derivata. Una macchina a stati finiti.
- Quali dei seguenti è un principio fondamentale della programmazione ad oggetti?
L'esistenza di un costrutto nativo del linguaggio che realizzi una interfaccia (interface in Java). Nessuna di queste risposte. Il polimorfismo. La possibilità nativa del linguaggio di utilizzare modificatori di accesso (public, private, protected in Java).
- Che tipo di linguaggio di programmazione è Java?
Nessuna di queste risposte. È puramente compilato. È puramente interpretato. È un linguaggio semi-compilato (o anche semi-interpretato).
- Quali sono i principi fondamentali della programmazione ad oggetti?
- Cosa si intende per linguaggio intermedio?
- Che tipo di linguaggio di programmazione è Java?
- Cosa è la Java Virtual Machine?
Lezione 004
- Cosa è un oggetto?
Nessuna di queste risposte. Un oggetto è la realizzazione (istanza) di una classe. Un oggetto non ha membri propri. Un oggetto è la descrizione astratta di un tipo di dato.
- Cosa è una classe?
Una classe è la realizzazione (istanza) di un metodo. Una classe è la descrizione astratta di un tipo di dato. Nessuna di queste risposte. Una classe è un costrutto necessario per definire un metodo in Java.
- Che differenza c'è tra una classe ed un oggetto?
Un oggetto è la descrizione astratta di un tipo di dato; una classe è la realizzazione (istanza) di un oggetto. Nessuna di queste risposte. Oggetti e classi sono sinonimi. Una classe è la descrizione astratta di un tipo di dato; un oggetto è la realizzazione (istanza) di una classe.
- Si faccia un esempio di creazione di un oggetto in Java usando l'operatore appropriato
Integer a = new Integer(3); new a = Integer(3); Nessuna di queste risposte. Integer a = 3;
- Cosa è una classe?
- Cosa è un oggetto?
- Si faccia un esempio di creazione di un oggetto in Java usando l'operatore appropriato
- Che differenza c'è tra una classe ed un oggetto?
Lezione 005
- Come si importano i package in Java?
Si possono importare solo registrando l'opportuno handler. Nessuna di queste risposte. Si possono importare solo da linea di comando. Utilizzando la direttiva import.
- Cosa è un package in Java?
Un package serve per poter istanziare un metodo. Un package si può utilizzare solo dopo averne definito i modificatori di accesso. Un package è uno strumento per raggruppare tipi in qualche modo legati fra di loro. Nessuna di queste risposte.
- Come si importano i package in Java?
- Cosa è un package in Java?
Lezione 006
- Si facciano esempi di espressioni in Java
Nessuna di queste risposte. a+b e (a-b*(1-4)) sono entrambe espressioni in Java. (a-b*(1-4)), ma non a+b. a+b, ma non (a-b*(1-4)).
- Si facciano esempi di operatori in Java
- Quanti tipi di dato primitivi conosci in Java? Quali?
- Si facciano esempi di espressioni in Java
Lezione 007
- In Java, se una variabile di istanza x viene dichiarata private all'interno di una classe Prova, allora:
Il tipo di x deve essere necessariamente primitivo. Solo metodi appartenenti alla classe Prova possono accedere a x. Solo metodi statici appartenenti alla classe Prova possono accedere a x. Nessun metodo dichiarato prima di x può accedere a x.
- Cosa si intende per incapsulamento dei dati?
Nessuna di queste risposte. Si definisce incapsulamento la tecnica di impedire all'utilizzatore il cambio delle variabili membro di una classe, in modo da rendere tali membri costanti duranti tutta l'esecuzione del programma e facilitare la fase di debug. Si definisce incapsulamento la tecnica di nascondere il funzionamento interno (deciso in fase di progetto) di una parte di un programma, in modo da proteggere le altre parti del programma dai cambiamenti che si produrrebbero in esse nel caso che questo funzionamento fosse difettoso, oppure si decidesse di implementarlo in modo diverso. Si definisce incapsulamento la tecnica di nascondere l'interfaccia esposta di una classe (deciso in fase di progetto), in modo da proteggere le altre parti della classe dai cambiamenti che si produrrebbero in esse nel caso che questo funzionamento fosse difettoso, oppure si decidesse di implementarlo in modo diverso.
- Quanti modificatori di accesso conosci in Java? Quali?
- Si faccia un esempio di classe Java che realizzi il principio dell'incapsulamento dei dati
- Cosa sono i metodi di accesso di una classe?
- Cosa si intende per incapsulamento dei dati?
Lezione 008
- Cosa si intende per ereditarietà?
È un meccanismo che permette la definizione di classi (dette classi derivate) a partire da altre già definite (dette classi base). È un meccanismo che consente di fare overloading di metodi pubbici. È un meccanismo che consente di fare overriding di metodi privati. Nessuna di queste risposte.
- Cosa si intende per polimorfismo?
È un meccanismo che permette ad uno stesso oggetto di esibire comportamenti (quindi funzionalità) di volta in volta differenti a run time. Nessuna di queste risposte. È un meccanismo che permette la definizione di classi (dette classi derivate) a partire da altre già definite (dette classi base). È un meccanismo che permette ad uno stesso oggetto di esibire comportamenti (quindi funzionalità) di volta in volta differenti a tempo di compilazione.
- Cosa si intende per ereditarietà?
- Cosa si intende per polimorfismo?
- Si faccia un esempio di classi Java che realizzano il principio dell'ereditarietà
Lezione 009
- Cosa sono le interfacce in Java (costrutto interface)?
Nessuna di queste risposte. Le interfacce non definiscono un tipo. Le interfacce definiscono un tipo. Le interfacce realizzano una classe.
- Si realizzi una interfaccia in Java con almeno 2 metodi
- Cosa sono le interfacce in Java (costrutto interface)?
Lezione 010
- Cosa si intende per metodi generici in Java?
Metodi che non hanno argomenti di ritorno. Nessuna di queste risposte. Metodi in cui il tipo dell'argomento di ritorno non è univoco. Metodi che non hanno argomenti di input.
- Cosa sono i tipi enumerati in Java? Si faccia un esempio di utilizzo
- Cosa si intende per metodi generici in Java? Si faccia un esempio di utilizzo
- Cosa sono le classi numeriche in Java? Si faccia un esempio di utilizzo
- Quanti modi conosci per istanziare una stringa in Java?
Lezione 011
- Facendo esplicito riferimento al linguaggio Java, come si realizza una struttura dati?
Nessuna di queste risposte. Implementando una classe. Implementando un metodo. Importando un package.
- Per definire un tipo di dato astratto dobbiamo
Definire l'insieme dei dati e l'insieme delle operazioni su di essi. Assicurarci che l'insieme dei dati (il dominio) non sia vuoto. Descrivere l'implementazione delle operazioni sui dati (metodi). Descrivere le strutture dati che conterranno i dati stessi.
- Con riferimento al linguaggio di programmazione Java, quale delle seguenti affermazioni è corretta?
Il tipo di dato astratto è indipendente dalla specifica implementazione. Cambiando l'implementazione di un metodo di interfaccia del server, devo andare a modificare anche il codice nel client. Nessuna di queste risposte. Tipo di dato astratto e struttura dati sono sinonimi.
- Quali delle seguenti definizioni rappresenta un tipo di dato astratto?
Un insieme di interi. Un vettore di n numeri con l'operazione di estrazione del massimo valore. Un insieme di interi con l'operazione di estrazione del massimo valore. Nessuna di queste risposte.
- Cosa si intende per tipo di dato astratto?
Un tipo di dato astratto è un modello di struttura dati che specifica le operazioni che possono essere eseguite su tali tipi. Nessuna di queste risposte. Un tipo di dato astratto è un modello di struttura dati che specifica le caratteristiche che gli oggetti di quel tipo avranno. Un tipo di dato astratto è un modello di struttura dati che specifica le caratteristiche che gli oggetti di quel tipo avranno, più le operazioni che possono essere eseguite su tali tipi.
- Che differenze tra tipo di dato astratto e struttura dati? Si faccia riferimento al linguaggio Java
- Cosa si intende per struttura dati?
- Cosa si intende per tipo di dato astratto?
- Si definisca un tipo di dato astratto con almeno 2 metodi
Lezione 012
- Come si accede all'elemento i-esimo di un array vec in Java?
a=int vec[i]; a=vec_i; a= vec(i); a= vec[i];
- Come si crea un nuovo array di 5 elementi in Java?
int[] vec =new int[5]; int vec =new vec[4]; vec= new int[5]; int vec =new vec[5];
- Cosa è un array?
Un contenitore di elementi non omogenei. Nessuna di queste risposte. Un contenitore di elementi (omogenei e non omogenei). Un contenitore di elementi omogenei.
- Quale situazione rappresenta il caso migliore dell'operazione di ricerca in un array di double?
- Come si accede all'elemento i-esimo di un array in Java?
- Come si crea un nuovo array in Java?
- Si faccia un esempio pratico in cui c'è bisogno di utilizzare array non monodimensionali
- Cosa è un array?
- Quale situazione rappresenta il caso medio dell'operazione di ricerca in un array di double?
- Quale situazione rappresenta il caso peggiore dell'operazione di ricerca in un array di double?
Lezione 013
- La ricerca in una lista
Richiede in media tempo lineare. Richiede in media tempo logaritmico. Richiede in ogni caso tempo lineare. Richiede in ogni caso tempo costante.
- Cosa è una lista concatenata semplice (o collegata o semplicemente concatenata)?
Un modo unico per istanziare sequenze di elementi omogenei. Un metodo astratto. Un modo diverso di istanziare un array. Nessuna di queste risposte.
- Come avviene la ricerca di un elemento in una lista?
Con un accesso casuale alla struttura. Con un accesso sequenziale alla struttura. Nessuna di queste risposte. Può avvenire sia con accesso casuale che sequenziale alla struttura.
- Qual è il tempo di esecuzione di una operazione search in una lista collegata di n elementi?
O(sqrt(n) ) O(n2) O(n) O(log n)
- La ricerca in una lista
Richiede in media tempo lineare. Richiede in media tempo logaritmico. Richiede in ogni caso tempo costante. Richiede in ogni caso tempo lineare.
- Come avviene la rimozione di un elemento in una lista?
- Come avviene l'inserzione di un elemento in una lista?
- Descrivere a parole come avviene la ricerca in una lista
- Cosa è una lista concatenata semplice (o collegata o semplicemente concatenata)?
- Qual è il tempo di esecuzione di una operazione search in una lista collegata di n elementi?
- Come avviene la ricerca di un elemento in una lista?
- Quale situazione rappresenta il caso medio dell'operazione di ricerca in una lista?
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Paniere con risposte aperte - Algoritmi e strutture dati (2023/2024)
-
Paniere con risposte chiuse - Algoritmi e strutture dati (2023/2024)
-
Paniere Meccanica delle strutture
-
Paniere Algoritmi e strutture dati - nuovo e completo