Anteprima
Vedrai una selezione di 10 pagine su 44
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 1 Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 2
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 6
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 11
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 16
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 21
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 26
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 31
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 36
Anteprima di 10 pagg. su 44.
Scarica il documento per vederlo tutto.
Linguaggi di programmazione - domande aperte svolte ed ordinate Pag. 41
1 su 44
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

– {NORD, SUD, EST, OVEST}

I nomi dei valori di un tipo enum sono in lettere maiuscole trattandosi di costanti

un esempio di definizione di un tipo enum può essere:

public enum Giorno {

LUNEDI, MARTEDI, MERCOLEDI, GIOVEDI,

VENERDI, SABATO, DOMENICA }

cosa sono le classi numeriche in Java? Si faccia un esempio di utilizzo 26

cosa sono le espressioni regolari?

cosa sono le interfacce in Java (costrutto interface)

le interfacce definiscono un tipo

Una interfaccia (interface) in Java ha una struttura simile a una classe, ma può contenere SOLO metodi

d'istanza astratti e costanti(quindi non può contenere costruttori, variabili statiche, variabili di

istanza e metodi statici). Si può dichiarare che una classe implementa (implements) una data interfaccia:

in questo caso deve realizzare tutti i suoi metodi astratti, fornendo dei metodi con la stessa intestazione

(e con il corpo, naturalmente). La realizzazione di un metodo deve rispettare la specifica del

corrispondente metodo astratto. Le interfacce possono essere utilizzate:

• per definire Tipi di Dati Astratti

• come contratto tra chi implementa una classe e chi la usa: le due parti possono essere sviluppate

e compilate separatamente;

• per evidenziare funzionalità comuni a più classi, sopperendo alle limitazioni dell'ereditarietà

singola

cosa vuol dire fare flush di uno stream bufferizzato?

cancellare il suo contenuto

Da cosa è costituito un programma Java nella sua forma statica ?

è costituito da un insieme di definizioni di classi

Nella sua forma statica (codice sorgente), un programma Javaè costituito da un insieme di definizioni di

classe 27

Descrivere a parole come avviene la ricerca in una lista

Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure

l’elemento non è presente nella sequenza stessa. In generale una sequenza di elementi si può realizzare

come un array. E la scansione avviene usando un indice. Se la sequenza non è ordinata a priori occorre

eseguire una ricerca lineare o sequenziale. Se la sequenza è ordinata è opportuno eseguire una ricerca

binaria. L’algoritmo di ricerca lineare (o sequenziale) in una sequenza (array) è basato sulla seguente

strategia:

• Gli elementi dell’array vengono analizzati in sequenza, confrontandoli con l’elemento da ricercare

(chiave) per determinare se almeno uno degli elementi è uguale alla chiave.

• Quando si trova un elemento uguale alla chiave la ricerca termina

La ricerca è sequenziale, nel senso che gli elementi dell’array vengono scanditi uno dopo l’altro

sequenzialmente. L’algoritmo prevede che al più tutti gli elementi dell’array vengano confrontati con la

chiave. Se l’elemento viene trovato prima di raggiungere la fine della sequenza non sarà necessario

proseguire la ricerca. L’algoritmo di ricerca lineare richiede che al più tutti gli elementi dell’array vengano

confrontati con la chiave. Questo è necessario perché la sequenza non è ordinata. Se la sequenza su cui

occorre effettuare la ricerca è ordinata si può usare un algoritmo di ricerca molto più efficiente che cerca

la chiave sfruttando il fatto che gli elementi della sequenza sono già disposti in un dato ordine. Esempi di

sequenze ordinate: elenco telefonico, agenda, etc. In questi casi si usa un algoritmo di ricerca binaria che

è più efficiente perché riduce lo spazio di ricerca. L’algoritmo di ricerca binaria cerca un elemento in una

sequenza ordinata in maniera crescente (o non decrescente) eseguendo i passi seguenti finché l’elemento

viene trovato o si è si è completata la ricerca senza trovarlo: 1. Confronta la chiave con l’elemento

centrale della sequenza, 2. Se la chiave è uguale all’elemento centrale, allora la ricerca termina

positivamente, 3. Se invece la chiave è maggiore dell’elemento centrale si effettua la ricerca solo sulla

sottosequenza a destra, 4. Se invece la chiave è minore dell’elemento centrale dello spazio di ricerca, si

effettua la ricerca solo sulla sottosequenza a sinistra.

è possibile utilizzare una struttura dati array per realizzare un tipo di dato astratto Lista? Come?

La conversione di un array in una lista (metodo asList())

la limitazione con array ha una lunghezza fissa, quindi se è piena non è possibile aggiungere altri

elementi ad essa, allo stesso modo se viene rimosso un numero di elementi da esso il consumo di

memoria sarebbe lo stesso in quanto non si riduce. ArrayList può crescere e restringersi

dinamicamente dopo l'aggiunta e la rimozione di elementi. Oltre a questi vantaggi, la classe

ArrayList ci consente di utilizzare metodi predefiniti che rendono facile il nostro compito.

Possiamo creare un ArrayList scrivendo una semplice istruzione come questa: ArrayList alist =

new ArrayList (); allo stesso modo possiamo creare ArrayList che accetta elementi int.

ArrayList list = new ArrayList ().

Per creare un elenco di array in Java, dichiarare una variabile ArrayList e chiamare il costruttore

ArrayList per creare un'istanza di un oggetto e assegnarlo alla variabile: ArrayList friends = new

ArrayList (); è possibile opzionalmente specificare una capacità nel costruttore ArrayList:

ArrayList friends = new ArrayList (100). Si noti che la capacità non è un limite fisso. La classe

ArrayList aumenta automaticamente la capacità della lista ogni volta che è necessario.

Aggiungiamo elementi a un ArrayList usando il metodo add (), questo metodo ha un paio di

varianti, che possiamo usare in base al requisito. Usiamo il metodo remove () per rimuovere

elementi da un ArrayList. Gli elementi ArrayList fanno riferimento all'istanza ArrayList.

In ambito di programmazione Object Oriented, cosa si intende con il termine "costruttore"? Motivare la

risposta

Un costruttore è una componente di codice che viene chiamata automaticamente quando la classe viene

istanziata, e provvede all’inizializzazione dell’oggetto. • Un costruttore è simile a un metodo, ma ne

differisce per due aspetti: – Un costruttore non viene mai chiamato esplicitamente, ma viene attivato dal

sistema in fase di inizializzazione dell’oggetto. – Un costruttore non ritorna alcun valore. 28

In ambito di programmazione Object Oriented, cosa si intende con il termine "interfaccia"? Motivare la

risposta

Un’interfaccia è l’insieme delle dichiarazioni(o signature) dei metodi pubblicidi una classe. La signaturedi

un metodo comprende il nome del metodo, il tipo del valore ritornato, il numero e tipo dei parametri di

chiamata, ma nonil corpo del metodo (implementazione).

In ambito di programmazione Object Oriented, cosa si intende con il termine "metodo"? Motivare la

risposta

Un metodo è una funzione definita all’internodi una classe. Un metodo opera solo sugli oggetti istanze di

tale classe

In ambito di programmazione Object Oriented, cosa si intende con il verbo "istanzare" (un oggetto)?

Motivare la risposta

Istanziare un oggetto di una determinata classe significa allocare dinamicamente spazio di memoria per le

variabili definite in tale classe

in generale cosa si intende per stream di I/O?

un flusso sequenziale di dati che entrano e/o escono da un programma

In Java a cosa si applicano i modificatori di accesso? Motivare la risposta

I modificatori di accesso regolano la possibilità di accedere ad una Classe, ad un metodo o ad un

attributo, da parte di una Classe o di un metodo, esterno od interno alla Classe stessa. In genere,

solo le variabili di Classe, ma non è obbligatorio, hanno un modificatore che ne specifica la

visibilità, le variabili dichiarate all'interno dei metodi non hanno modificatori di visibilità, d'altra

parte esse sono visibili solo all'interno del metodo stesso.

in Java come si generano le eccezioni?

slide 16

in Java cosa è Exception?

una classe

Le Exception modellano errori non fatali. Tipicamente, un programma Java cattura e/o lancia queste

eccezioni. Le eccezioni controllate sono eccezioni derivate da Exception che il compilatore controlla che

siano rilanciate oppure catturate.

In Java quale è la signature corretta del metodo main? Motivare la risposta

Il metodo main() viene automaticamente eseguito all’attivazione del programma, passandogli i parametri

specificati a riga di comando. La signature del metodo è:

public staticvoidmain(Stringargs[]) { …… }Il metodo main() è preceduto dai

modificatori public, static e void.Il modificatore public rende il metodo richiamabile dal codice Java

esterno alla classe; Il modificatore static permette di richiamare un metodo di una classe senza dover

prima creare un oggetto della classe.Il modificatore void indica che il metodo non restituisce nessun

valore. 29

In Java, di cosa necessita una classe affinchè possa diventare un programma eseguibile?

Affinchè una classe possa diventare un programma eseguibile, bisogna definire il metodo main fatto così:

publicstaticvoidmain(Stringargs[]) { … }

Il metodo main() viene automaticamente eseguito all’attivazione del programma, passandogli i parametri

specificati a riga di comando

in Java, quando si parla di standard stream a cosa ci si riferisce?

in Java, se s1 e s2 sono oggetti di tipo String, qual è il risultato di s1+s2? Motivare la risposta

Averndo 2 stringhe s1 e s2 con l’istruzione s1+s2 concateneremo le 2 stringhe, dove la s2 sarà

aggiunta alla fine di s1

In una architettura multi-tier, si introduca il livello client

In una architettura multi-tier, si introduca il livello data 30

In una architettura multi-tier, si introduca il livello intermedio

il livello intermedio, costituito da moduli

software ospitati nel web server: spesso questo

livello si articola in due ulteriori sotto-livelli:

• Il web tier

• Il business tier

vedi risposte successive se vuoi allungare

In una architettura multi-tier, si introduca il sottolivello business

In una architettura multi-tier, si introduca il sottolivello web 31

Nei linguaggi funzionali, cosa sono le funzioni di ordine superiore? Argomentare la risposta

quale è la clausola (parola chiave) per lanciare una eccezione in Java?

In Java per lanciare una eccezione viene utilizzata la clausola (parola chiave) throw

quali sono i principi fondamentali della programmazione ad oggetti?

La programmazione orientata agli oggetti (OOP, Object Oriented Programming) è un paradigma di

programmazione che prevede di raggruppare in un’unica entità (la classe) sia le strutture dati che le

procedure che operano su di esse, creando per l’appunto un “oggetto” software dota

Dettagli
Publisher
A.A. 2019-2020
44 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher desmone di informazioni apprese con la frequenza delle lezioni di Linguaggi di programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università telematica "e-Campus" di Novedrate (CO) o del prof Vecchio Massimo.