Anteprima
Vedrai una selezione di 12 pagine su 51
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 1 Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 2
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 6
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 11
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 16
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 21
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 26
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 31
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 36
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 41
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 46
Anteprima di 12 pagg. su 51.
Scarica il documento per vederlo tutto.
Paniere svolto di Linguaggi di programmazione (2025) - Risposte aperte  Pag. 51
1 su 51
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ESTATE

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

Con i valori numerici usiamo quasi sempre i tipi primitivi, questi non sono

oggetti pero sono istanze di classi. In alcuni casi, però, bisogna usare oggetti

in luogo dei tipi primitivi. Quindi Java offre una classe wrapper per ogni tipo

di dato primitivo che inglobano il dato primitivo in un oggetto.

Principalmente le classi wrapper numeriche sono delle sotto classi della

classe astratta Number.

Esistono anche altre classi wrapper che non sono numeriche e sono Char e

Boolean.

Quindi le classi wrapper numeriche sono delle sotto classi di Number e

vengono chiamate con il tipo primitivo e con la prima lettera maiuscola

(tranne Integer che è wrapper di int). Le classi numeriche si usano

principalmente perché molte collezioni lavorano sugli oggetti e non sui tipi

primitivi.

Le classi wrapper definiscono anche diversi metodi statici, che convertono i

valori da e verso i tipi primitivi, da e verso le stringhe e per la conversione

tra diversi tipi numerici.

Integer

x,y;

x=12;

y=15;

System.out.println(x+y);

7. Con riferimento al Java, si introducano gli eventi

I bottoni che utilizziamo nella programmazione (i controlli), generano

degli eventi quando vengono attivati. Dobbiamo predisporre un event handler

che gestisce l'evento e lo associa al controllo. Così, ogni volta che l'utente di

un programma scrive qualcosa e seleziona con il mouse un controllo del

programma, viene generato un evento. Ogni evento ha un event source

(sorgente) che rappresenta il controllo che lo ha generato. Nell'oggetto

possono essere registrati uno o già eventi listener (ascoltatori), oggetti che

sono in grado di intraprendere le azioni necessarie a gestire l'evento.

Event Listener, viene associato ad ogni event source, così quando si verifica

l'evento tutti gli ascoltatori vengono attivati in modo sequenziale nell'ordine

in cui sono stati registrati. Poi, l'event listener può essere associati a diversi

event source, e permette di riusare comportamenti analoghi in diverse

situazioni. Ogni evento viene rappresentato da un oggetto contenete

informazioni relative all'oggetto stesso. Questo oggetto viene passato a

parametro ai metodi dell'event listener. Java definisce diversi tipi di eventi,

ai quasi corrispondono altri tipi di event listener. Il package java.awt.event

include:

- ActionEvent

- WindowEvent

- MouseEvent

- MouseMotionEvent

- ComponentEvent

- FocusEvent

- ListSelectionEvent

8. Con riferimento al Java, si introduca ActionListener

In Java esiste un'apposita classe per definire event listener, questa classe

implementa un determinato insieme di metodi (interface). L'event listener

diventa istanza di una classe che implementa l'interfaccia ActionListener,

quando la sorgente dell'evento è un bottone. L'interfaccia ActionListener si

trova nel pacchetto java.awt.event ed ha solo il metodo actionPerformed() ,

chiunque implementi ActionListern dovrà definire il metodo

actionPerformed().

LEZIONE 12

8. Si introducano le enità principali che fanno parte del Java

Collections Framework

La Java Collection Framework è un'architettura unificata che

rappresenta le collezioni ed effettua le manipolazioni su di esse. Il JCF

contiene le interfacce, le implementazioni e gli algoritmi.

Le entità di questa architettura sono ArrayList, HashSet, HashMap.

Per utilizzare ArrayList java.util.ArrayList<E> e viene implementato un

array di dimensioni variabili, ossia è in grado di crescere e decrescere

automaticamente secondo le necessità. ArrayList implementa l'interfaccia

List, la collezione viene manipolata come se fosse una lista, si possono

effettuare inserimenti o rimozioni in qualsiasi posizione usando l'Iterator. La

classe riceve il tipo dell'elemento a parametro.

La classe HashSet<E> java.util.HashSet<E> , implementiamo un insieme di

riferimenti agli oggetti. Questo insieme ha dimensioni variabili ed è in grado

di crescere e decrescere automaticamente in base alle necessità. HashSet non

ammette duplicati, e la posizione di un dato elemento non è importante, la

collezione non mantiene l'ordinamento degli elementi. HashSet implementa

anche Set e contiene i metodi per inserimento e rimozione. Include anche la

visita con l'Iteratore. HashSet usa all'interno un has table.

La classe HashMap<K,V>, java.util.HashMap<K,V> implementa hash table

di riferimenti ad oggetti. Le tabelle Hash hanno dimensioni variabili e

crescono e decrescono automaticamente secondo le necessità. La collezione

è costituita da elementi che sono coppie <chiave,valore> e sono entrambe

tipi reference. Non ammette duplicati, ogni chiave può mappare un solo

valore. HashMap non mantiene l'ordinamento, implementa l'interfaccia Map

e quindi prevede metodi per la rimozione e l'inserimento, estrazione degli

insiemi delle chiavi e dei valori, include anche la ricerca di una chiave o di

un valore. La capacità iniziale ed il fattore di carico sono i parametri che

regolano le prestazioni di un HashMap. Quando il numero di elementi

supera la capacità della collezione per il fattore di carico, la tabella viene

automaticamente riallocata raddoppiando la capacità.

9. Cosa è il Java Collections Framework (JCF) ?

La Java Collection Framework è un'architettura unificata che

rappresenta le collezioni ed effettua le manipolazioni su di esse. Il JCF

contiene le interfacce, le implementazioni e gli algoritmi. Le entità di questa

architettura sono ArrayList, HashSet, HashMap.

10. Con riferimento al Java, si introducano le "collezioni"

La collezione è un oggetto che raggruppa elementi multipli in una

singola unità. Usiamo le collezioni per memorizzare , manipolare ,

recuperare e comunicare dati aggregati. Le collezioni rappresentano dati che

formano un gruppo naturalmente. Le collezioni sono dette anche container.

11. cosa è il tipo di dato astratto Mappa? A cosa serve?

Map<K,V> è usata quando vogliamo rappresentare una collezione di

coppie <chiave, valore>. Non si ammettono i duplicati nell'insieme delle

chiavi, ogni chiave può mappare al massimo un valore. La chiave ed il valore

sono tipi reference. L'ordinamento di map si definisce come l'ordine con cui

gli iteratori ritornano gli elementi. Alcune implementazioni garantiscono

l'ordinamento naturale delle chiave o dei valori. HashMap implementa Map,

e non mantiene l'ordinamento dei suoi elementi.

LEZIONE 13

02. Descrivere a parole come avviene la ricerca in una lista

Per verificare se un elemento fa parte di una sequenza di elementi oppure

se non è presente, la scansione avviene usando un indice. Nel caso in cui la

ricerca non è ordinata a priori, bisogna eseguire una ricerca lineare o

sequenziale. Se la sequenza è ordinata, allora si esegue una ricerca binaria.

Intanto gli elementi dell'array vengono analizzati in sequenza e vengono

confrontati con l'elemento da ricercare per determinare se almeno un

elemento della sequenza è uguale alla chiave (elemento che stiamo

cercando). Quando trova un elemento uguale alla chiave, la ricerca termina.

In questo tipo di ricerca gli elementi dell'array vengono scanditi

sequenzialmente uno dopo l'altro.

Questo algoritmo richiede che al più tutti gli elementi dell'array vengano

confrontati con la chiave, perché la sequenza non è ordinata. Se la

sequenza fosse ordinata, allora si può usare un algoritmo di ricerca più

efficiente che cerca la chiave sfruttando il fatto che gli elementi della

sequenza sono già disposti in ordine.

L'algoritmo di ricerca binaria invece, cerca l'elemento in una sequenza

ordinata in modo crescente: confronta la chiave con l'elemento centrale della

sequenza, se la chiave è uguale all'elemento centrale la ricerca termina

positivamente. Se la chiave è maggiore dell'elemento centrale, si effettua la

ricerca solo sulla sottosequenza destra, se la chiave è minore dell'elemento

centrale, si effettua la ricerca solo sulla sotto sequenza sinistra. Se arriva alla

fine e non si può più

dividere in sottosequenze, allora la chiave non si è ancora trovata ed il metodo

terminerà comunque.

LEZIONE 14

06. cosa si intende per metodi generici in Java? Si faccia un esempio di

utilizzo

Con i metodi generici, i costruttori ed i metodi introducono i propri tipi

parametrici. Lo scope del metodo parametrico è limitato al metodo stesso e

non si estende all'intera classe.

Esempio:

class Util{

static <T> boolean confronta(Box<T> box1, Box<T>

box2){

T v1=box1.get();

T v2=box2.get();

return

v1.equals(v2);

}

}

T è il tipo del parametro e può corrispondere a qualsiasi tipo non primitivo.

LEZIONE 16

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

Per lanciare le eccezioni in Java, viene usata una clausola, una parola

chiave: throw. In un metodo, quando si verifica un errore, viene creato un

oggetto detto exception object, quest'ultimo contiene informazioni

sull'errore e sullo stato del programma. Exception object viene passato al

run-time system. Questo meccanismo si chiama throwing an exception ,

ossia lanciare un eccezione.

13. come si specifica un exception handler in Java?

Un exception handler si specifica prima del blocco catch. Il run-time

system procede a ritroso nel call stack, ricerca un metodo che contenga un

blocco di codice capace di gestire l'eccezione. Si inizia la ricerca dal metodo

più recente, che è quello che ha causato l'eccezione. Poi procede lungo lo

stack (coda LIFO

- last in first out) nell'ordine inverso a quello in cui i metodi sono stati

chiamati. Il sistema, quando trova un handler appropriato , gli passa

l'eccezione. Un handler si definisce appropriato se il tipo di exception object

che ha generato dall'errore, corrisponde al tipo gestito dallo handler.

L'exception handler scelto cattura l'eccezione.

14. cosa è un exception handler?

Il run-time system procede a ritroso nel call stack per cercare un metodo

che contenga il blocco di codice capace di gestire l'eccezione. Si inizia la

ricerca dal metodo più recente, che è quello che ha causato l'eccezione. Poi

procede lungo lo stack (coda LIFO - last in first out) nell'ordine inverso a

quello in cui i metodi sono stati chiamati. Il sistema, quando trova un handler

appropriato , gli passa l'eccezione. Un handler si definisce appropriato se il

tipo di e

Dettagli
Publisher
A.A. 2025-2026
51 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher dominikks 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.