import java.io.*; System.out.print("\tInserire il tasso di spesa: ");

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "import java.io.*; System.out.print("\tInserire il tasso di spesa: ");"

Transcript

1 Una famiglia, alla fine di ogni mese, percepisce un reddito di X euro. Nell ipotesi che ogni mese spenda un importo pari a T% del reddito totale (compresi i risparmi dei mesi precedenti) e che per tutto l anno guadagni sempre lo stesso importo, determinare quanto ha effettivamente speso la famiglia dopo n mesi. Risolvi il problema mediante un applicazione console che accetti come dati d ingresso il reddito X, il tasso di spesa T, il numero dei mesi n. import java.io.*; public class E3_29 { public static void main(string args[]) throws IOException { String stringainput = new String(); InputStreamReader flusso = new InputStreamReader(System.in); BufferedReader tastiera = new BufferedReader(flusso); double redditomensile = 0.0, tassospesamensile = 0.0; int numeromesi = 0; boolean condizione = true; System.out.print("\n\n\n\n\n\tQuesto programma permette di calcolare la spesa totale di una famiglia dopo n mesi, inserendo come dati d\'ingresso:\n\til reddito iniziale mensile, il tasso di spesa (in %), tenendo conto che la famiglia il mese successivo spende sempre la stessa quota del reddito,\n\tcompresi i risparmi dei mesi precedenti.\n"); // Inizio del ciclo per la verifica del valore inserito dall'utente come reddito mensile. condizione = true; System.out.print("\tInserire il reddito mensile: "); stringainput = tastiera.readline(); if (stringainput.length()==0) System.out.print("\tATTENZIONE: non hai nserito alcun valore!\n"); else if (trovanumerodecimale(stringainput)==false) System.out.print("\tATTENZIONE: hai inserito un valore non valido!\n"); else { stringainput = eliminaspazi(stringainput); redditomensile = Double.parseDouble(stringaInput); if (redditomensile<=0) System.out.print("\tATTENZIONE: hai inserito un valore non valido!\n"); else condizione = false; while (condizione==true); redditomensile = (double) Math.round(redditoMensile*100.0)/100.0; // Inizio del ciclo per la verifica del valore inserito dall'utente come tasso di spesa. condizione = false; System.out.print("\tInserire il tasso di spesa: "); stringainput = tastiera.readline(); if (stringainput.length()==0) System.out.print("\tATTENZIONE: non hai inserito alcun valore!"); else if (trovanumerodecimale(stringainput)==false) System.out.print("\tATTENZIONE: hai inserito un valore non valido!\n"); else { stringainput = eliminaspazi(stringainput); tassospesamensile = Double.parseDouble(stringaInput); condizione = false; Pag. 1 di 8

2 while (condizione==true); tassospesamensile = (double) Math.round(tassoSpesaMensile*100.0)/100.0; tassospesamensile /= 100.0; // Inizio del ciclo per la verifica del valore inserito dall'utente per il numero dei mesi. condizione = true; System.out.print("\tInserire il numero dei mesi: "); stringainput = tastiera.readline(); if (stringainput.length()==0) System.out.print("\tATTENZIONE: non hai inserito alcun valore!\n"); else if (trovanumerointero(stringainput)==false) System.out.print("\tATTENZIONE: hai inserito un valore non valido!\n"); else { stringainput = eliminaspazi(stringainput); numeromesi = Integer.parseInt(stringaInput); condizione = false; while (condizione==true); // Stampa dei risultati in output richiamando i metodi statici "spesaiterativatotale" e "spesaricorsivatotale". System.out.print("\tLa spesa totale dopo " + numeromesi + " mesi, calcolata col metodo iterativo, è pari a " + spesaiterativatotale(redditomensile, tassospesamensile, numeromesi) + " "); System.out.print("\n\tLa spesa totale dopo " + numeromesi + " mesi, calcolata col metodo ricorsivo, è pari a " + spesaricorsivatotale(redditomensile, tassospesamensile, numeromesi) + " \n\n\n\n\n"); // Metodo statico iterativo per la determinazione della spesa totale. Accetta come parametri d'ingresso: il reddito mensile, il tasso di spesa mensile e il numero dei mesi. public static double spesaiterativatotale(double redditomensile, double tassospesamensile, int numeromesi) { double spesamensile = 0.0, spesatotale = 0.0, redditototale = 0.0; for (int i = 1; i<=numeromesi; i++) { redditototale = redditototale+redditomensile; spesamensile = redditototale*tassospesamensile; spesatotale = spesatotale+spesamensile; redditototale = redditototale-spesamensile; return (double) Math.round(spesaTotale*100.0)/100.0; // Metodo statico ricorsivo per la determinazione della spesa totale. Accetta come parametri d'ingresso: il reddito mensile, il tasso di spesa mensile e il numero dei mesi. public static double spesaricorsivatotale(double redditomensile, double tassospesamensile, int numeromesi) { double spesatotale = 0.0; if (numeromesi==1) { spesatotale = redditomensile*tassospesamensile; else { Pag. 2 di 8

3 spesatotale = (spesaricorsivatotale(redditomensile, tassospesamensile, numeromesi- 1)+(redditoMensile+calcoloRicorsivoRedditoResiduoDopoNMesi(redditoMensile, (double) Math.round((1.0-tassoSpesaMensile)*100.0)/100.0, numeromesi- 1))*tassoSpesaMensile); return (double) Math.round(spesaTotale*100.0)/100.0; // Metodo statico ricorsivo per il calcolo del reddito residuo (al netto delle spese) dopo un certo numero di mesi, tenendo presente che il residuo del mese precedente va ad sggiungersi al reddito del mese seguente per il calcolo delle spese e del residuo del mese seguente. public static double calcoloricorsivoredditoresiduodoponmesi(double redditomensile, double tassoperilcalcolodelcreditoresiduo, int numeromesi) { double redditoresiduodoponmesi = 0.0; if (numeromesi==1) redditoresiduodoponmesi = redditomensile*tassoperilcalcolodelcreditoresiduo; else redditoresiduodoponmesi = (redditomensile+calcoloricorsivoredditoresiduodoponmesi(redditomensile, tassoperilcalcolodelcreditoresiduo, numeromesi-1))*tassoperilcalcolodelcreditoresiduo; return (double) Math.round(redditoResiduoDopoNMesi*100.0)/100.0; // Metodo statico per il calcolo della media aritmetica. public static double calcolomediaaritmetica(int vettore[]) { double mediaaritmetica = 0.0; mediaaritmetica += (double) vettore[i]; mediaaritmetica = (double) Math.round((mediaAritmetica/vettore.length)*10.0)/10.0; return mediaaritmetica; public static double calcolomediaaritmetica(double vettore[]) { double mediaaritmetica = 0.0; mediaaritmetica += vettore[i]; mediaaritmetica = (double) Math.round((mediaAritmetica/vettore.length)*10.0)/10.0; return mediaaritmetica; // Metodo statico per il calcolo dello scarto quadratico medio. public static double calcoloscartoquadraticomediocampionario(int vettore[]) { double mediacampionaria = 0.0, sommatoria = 0.0, scartoquadraticomediocampionario = 0.0; mediacampionaria += (double) vettore[i]; mediacampionaria /= vettore.length; sommatoria += Math.pow((vettore[i]-mediaCampionaria), 2); scartoquadraticomediocampionario = Math.sqrt(sommatoria/(vettore.length-1)); scartoquadraticomediocampionario = (double) Math.round(scartoQuadraticoMedioCampionario*10.0)/10.0; return scartoquadraticomediocampionario; Pag. 3 di 8

4 public static double calcoloscartoquadraticomediocampionario(double vettore[]) { double mediacampionaria = 0.0, sommatoria = 0.0, scartoquadraticomediocampionario = 0.0; mediacampionaria += vettore[i]; mediacampionaria /= vettore.length; sommatoria += Math.pow((vettore[i]-mediaCampionaria), 2); scartoquadraticomediocampionario = Math.sqrt(sommatoria/(vettore.length-1)); scartoquadraticomediocampionario = (double) Math.round(scartoQuadraticoMedioCampionario*10.0)/10.0; return scartoquadraticomediocampionario; // Metodo statico per l'eliminazione degli spazi in una stringa. public static String eliminaspazi(string stringa) { boolean trovatocarattere = false; trovatocarattere = false; for (int i = 0; i<stringa.length(); i++) { if (stringa.charat(i)==' ') { stringa = stringa.substring(0, i) + stringa.substring((i+1), stringa.length()); trovatocarattere = true; while (trovatocarattere==true); return stringa; // Metodo statico per la ricerca di un solo numero intero in una stringa di testo dove sono presenti spazi. public static boolean trovanumerointero (String stringa) { int j = 0; boolean trovatounnumerointero = false; boolean trovatouncaratterenonvalido = false; boolean trovatospazioa = false; boolean trovatospaziob = false; boolean trovataunacifra = false; boolean trovatounprimocaratterevalido = false; boolean trovatounospaziodopouncaratterevalido = false; trovatospazioa = false; trovatospaziob = false; for (int i = 0; i<stringa.length(); i++) { // Questa condizione verifica che non vengano mai inseriti caratteri non validi (diversi dalla cifre da 0 a 9, dal segno meno e dai caratteri di spaziatura) if ((trovatounospaziodopouncaratterevalido==false&&trovatounprimocaratterevalido==false)&&(stringa.charat(i)!=' '&&stringa.charat(i)!='- Pag. 4 di 8

5 '&&stringa.charat(i)!='0'&&stringa.charat(i)!='1'&&stringa.charat(i)!='2'&&stringa.charat(i)!='3'&&stringa.charat(i)!='4'&&stringa.charat(i)!='5'&&stringa.charat(i)!='6'&&stringa.charat(i)!='7'&&stringa.charat(i)!='8'&&stringa.charat(i)!='9')) { trovatounnumerointero = false; // Questa condizione verifica che non vengano inseriti altri segni meno (-) dopo il primo carattere valido. In caso contrario, il programma restituisce un valore booleano FALSE per la variabile trovatounnumerointero e termina il ciclo iterativo FOR. else if ((trovatounospaziodopouncaratterevalido==false&&trovatounprimocaratterevalido==true)&&(stringa.charat(i)!=' '&&stringa.charat(i)!='0'&&stringa.charat(i)!='1'&&stringa.charat(i)!='2'&&stringa.charat(i)!='3'&&stringa.charat(i)!='4'&&stringa.charat(i)!='5'&&stringa.charat(i)!='6'&&stringa.charat(i)!='7'&&stringa.charat(i)!='8'&&stringa.charat(i)!='9')) { trovatounnumerointero = false; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come primo carattere valido un segno meno (-). else if (trovatounospaziodopouncaratterevalido==false&&trovatounprimocaratterevalido==false&&stringa.charat(i)=='-') { // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come carattere valido una cifra da 0 a 9. Questo ramo della selezione serve per verificare che nella stringa vi sia almeno un cifra. else if ((trovatounospaziodopouncaratterevalido==false&&trovataunacifra==false)&&(stringa.charat(i)=='0' stringa.charat(i)=='1' stringa.charat(i)=='2' stringa.charat(i)= ='3' stringa.charat(i)=='4' stringa.charat(i)=='5' stringa.charat(i)=='6' stringa.charat(i)=='7' stringa.charat(i)=='8' stringa.charat(i)=='9')) { trovataunacifra = true; trovatounnumerointero = true; // Questa condizione si verifica eventualmente tutte le volte che viene trovato un carattere di spaziatura prima di un carattere valido e lo elimina. else if (stringa.charat(i)==' '&&trovatounprimocaratterevalido==false) { stringa = stringa.substring(0, i) + stringa.substring(i+1, stringa.length()); trovatospazioa = true; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato un carattere di spaziatura dopo un carattere valido e lo elimina. Viene settata la variabile j = i e la variabile trovatounospaziodopouncaratterevalido = TRUE per bypassare l'elaborazione dei primi 2 rami di selezione del metodo. else if (stringa.charat(i)==' '&&j==0) { stringa = stringa.substring(0, i) + stringa.substring(i+1, stringa.length()); trovatospaziob = true; trovatounospaziodopouncaratterevalido = true; j = i; // Questa condizione si verifica eventualmente tutte le volte che viene trovato un secondo carattere di spaziatura dopo un carattere valido ed elimina tutti gli spazi dopo il numero intero. else if (stringa.charat(i)==' '&&i==j) { stringa = stringa.substring(0, i) + stringa.substring(i+1, stringa.length()); trovatospaziob = true; // Questa condizione si verifica quando viene trovato un carattere diverso da quello di spaziatura dopo il numero intero. Il programma restituisce un valore booleano FALSE per la variabile trovatounnumerodecimale e in terrompe il ciclo iterativo FOR. else if (stringa.charat(i)!=' '&&i==j) { trovatounnumerointero = false; Pag. 5 di 8

6 // Questa condizione si verifica se viene trovata almeno una cifra nella stringa di testo. In caso contrario il programma restituisce un valore booleano FALSE per la variabile trovatounnumerodecimale e interrompe il ciclo iterativo FOR. else if (trovataunacifra!=true) { trovatounnumerointero = false; while ((trovatouncaratterenonvalido==false)&&((trovatospazioa==true) (trovatospaziob==true))); return trovatounnumerointero; // Metodo statico per la ricerca di un numero decimale in una stringa di testo dove sono presenti degli spazi. public static boolean trovanumerodecimale(string stringa) { int j = 0; boolean boolean trovatouncaratterenonvalido = false; boolean trovatospazioa = false; boolean trovatospaziob = false; boolean trovatounpuntoradice = false; boolean trovataunacifra = false; boolean trovatounprimocaratterevalido = false; boolean trovatounospaziodopouncaratterevalido = false; trovatospazioa = false; trovatospaziob = false; for (int i = 0; i<stringa.length(); i++) { // Questa condizione verifica che non vengano inseriti caratteri non validi (diversi dalle cifre da 0 a 9, dal segno negativo (-) e dal punto radice (.). if ((trovatounospaziodopouncaratterevalido==false&&trovatounprimocaratterevalido==false)&&(stringa.charat(i)!=' '&&stringa.charat(i)!='- '&&stringa.charat(i)!='.'&&stringa.charat(i)!='0'&&stringa.charat(i)!='1'&&stringa.charat(i)!='2'&&stringa.charat(i)!='3'&&stringa.charat(i)!='4'&&stringa.charat(i)!='5'&&stringa.charat(i)!='6'&&stringa.charat(i)!='7'&&stringa.charat(i)!='8'&&stringa.charat(i)!='9')) { // Questa condizione si verifica quando viene trovato un segno meno (-) dopo un primo carattere valido; il programma restituisce un valore booleano FALSE per la variabile trovatounnumerodecimale, interrompendo il ciclo FOR. else if ((trovatounospaziodopouncaratterevalido==false&&trovatounprimocaratterevalido==true)&&(stringa.charat(i)!=' '&&stringa.charat(i)!='.'&&stringa.charat(i)!='0'&&stringa.charat(i)!='1'&&stringa.charat(i)!='2'&&stringa.charat(i)!='3'&&stringa.charat(i)!='4'&&stringa.charat(i)!='5'&&stringa.charat(i)!='6'&&stringa.charat(i)!='7'&&stringa.charat(i)!='8'&&stringa.charat(i)!='9')) { // Questa condizione si verifica quando viene trovato un secondo punto radice nel numero decimale; il programma restituisce un valore booleano FALSE per la variabile trovatounnumerodecimale, interrompendo il ciclo FOR. else if ((trovatounospaziodopouncaratterevalido==false&&trovatounprimocaratterevalido==true&&trovatounpuntoradice==true)&&(stringa.charat(i)!=' '&&stringa.charat(i)!='0'&&stringa.charat(i)!='1'&&stringa.charat(i)!='2'&&stringa.charat(i)!='3'&&stringa.charat(i)!='4'&&stringa.charat(i)!='5'&&stringa.charat(i)!='6'&&stringa.charat(i)!='7'&&stringa.charat(i)!='8'&&stringa.charat(i)!='9')) { Pag. 6 di 8

7 // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come primo carattere valido un segno meno (-). else if (trovatounospaziodopouncaratterevalido==false&&trovatounprimocaratterevalido==false&&stringa.charat(i)=='-') { // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come primo carattere valido un punto radice (.). else if (trovatounospaziodopouncaratterevalido==false&&trovatounpuntoradice==false&&stringa.charat(i)=='.') { trovatounpuntoradice = true; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato come carattere valido una cifra da 0 a 9. Questo ramo della selezione serve per verificare che nella stringa vi sia almeno un cifra. else if ((trovatounospaziodopouncaratterevalido==false&&trovataunacifra==false)&&(stringa.charat(i)=='0' stringa.charat(i)=='1' stringa.charat(i)=='2' stringa.charat(i)= ='3' stringa.charat(i)=='4' stringa.charat(i)=='5' stringa.charat(i)=='6' stringa.charat(i)=='7' stringa.charat(i)=='8' stringa.charat(i)=='9')) { trovataunacifra = true; trovatounnumerodecimale = true; // Questa condizione si verifica eventualmente tutte le volte che viene trovato un carattere di spaziatura prima di un carattere valido e lo elimina. else if (stringa.charat(i)==' '&&trovatounprimocaratterevalido==false) { stringa = stringa.substring(i+1, stringa.length()); trovatospazioa = true; // Questa condizione si verifica eventualmente solo una volta, appena viene trovato un carattere di spaziatura dopo un carattere valido e lo elimina. Viene settata la variabile j = i e la variabile trovatounospaziodopouncaratterevalido = TRUE per bypassare l'elaborazione dei primi 6 rami di selezione del metodo. else if (stringa.charat(i)==' '&&j==0) { stringa = stringa.substring(0, i) + stringa.substring(i+1, stringa.length()); trovatospaziob = true; trovatounospaziodopouncaratterevalido = true; j = i; // Questa condizione si verifica eventualmente tutte le volte che viene trovato un secondo carattere di spaziatura dopo un carattere valido ed elimina tutti gli spazi dopo il numero decimale. else if (stringa.charat(i)==' '&&i==j) { stringa = stringa.substring(0, i) + stringa.substring(i+1,stringa.length()); trovatospaziob = true; // Questa condizione si verifica quando viene trovato un carattere diverso da quello di spaziatura dopo il numero decimale. Il programma restituisce un valore booleano FALSE per la variabile trovatounnumerodecimale e in terrompe il ciclo iterativo FOR. else if (stringa.charat(i)!=' '&&i==j) { // Questa condizione si verifica se viene trovata almeno una cifra nella stringa di testo. In caso contrario il programma restituisce un valore booleano FALSE per la variabile trovatounnumerodecimale e interrompe il ciclo iterativo FOR. else if (trovataunacifra!=true) { while (trovatouncaratterenonvalido==false&&(trovatospazioa==true trovatospaziob==true)); Pag. 7 di 8

8 return trovatounnumerodecimale; Pag. 8 di 8

import java.io.*; System.out.print("\tInserire l\'altezza (in CM) delle piastrelle: "); stringainput = tastiera.readline();

import java.io.*; System.out.print(\tInserire l\'altezza (in CM) delle piastrelle: ); stringainput = tastiera.readline(); Si vogliono inserire, su un terreno all interno di un giardino, delle mattonelle che è possibile ritagliare in varie dimensioni. Le mattonelle devono essere rettangolari, con la condizione che ogni mattonella,

Dettagli

import java.io.*; System.out.print("\tInserire il valore (in OHM) della resistenza \"R1\": ");

import java.io.*; System.out.print(\tInserire il valore (in OHM) della resistenza \R1\: ); Un circuito elettrico è formato da una batteria, di tensione E, che alimenta due resistori R 1 e R 2 in serie. Calcolare la corrente I erogata dalla batteria. Risolvere il problema mediante un applicazione

Dettagli

import java.io.*; char sceltautente = '_'; boolean condizionesn = true; boolean condizionedowhile = true; boolean condizioneprogramma = true;

import java.io.*; char sceltautente = '_'; boolean condizionesn = true; boolean condizionedowhile = true; boolean condizioneprogramma = true; Un imposta sul reddito viene applicata in base alle seguenti fasce: fino a 35.000 euro 23% e oltre 35.000 euro 33%. Progettare un software, basato su un applicazione console, che, dato un certo reddito,

Dettagli

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io. Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.*; public class M1_13 { public static void main(string args[]) throws

Dettagli

import java.io.*; boolean condizioneciclo = true;

import java.io.*; boolean condizioneciclo = true; Un azienda agricola produce un tipo di frutta che vende a un grossista a 3 diversi prezzi al kilogrammo (X, Y e Z), che dipendono dalla pezzatura in grammi del frutto stesso (piccolo, medio e super). Dati

Dettagli

System.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");

System.out.print(\tATTENZIONE: hi inserito un valore non valido!\n); Creare un applicazione console che dato l indice della borsa di Milano nel giorno precedente, calcola la variazione percentuale rispetto al valore dell indice del giorno corrente. import java.io.*; public

Dettagli

import java.io.*; double massa = 0.0; double velocità = 0.0; double coefficienteattrito = 0.0; int numeroveicoli = 0;

import java.io.*; double massa = 0.0; double velocità = 0.0; double coefficienteattrito = 0.0; int numeroveicoli = 0; import java.io.*; public class Veicolo { private String nomeveicolo = ""; private final double g = 9.8; private double massa; private double velocità; private double coefficienteattrito; public static

Dettagli

import java.io.*; public class EU4_23 { private double prezzoacquisto; private double percentualeguadagno;

import java.io.*; public class EU4_23 { private double prezzoacquisto; private double percentualeguadagno; Un dettagliante acquista un prodotto a 200 euro. Considerando che, per avere un sufficiente guadagno e recuperare le proprie spese, deve aumentare il costo del 70%, determinare il prezzo a cui dovrebbe

Dettagli

// Variabile utilizzata per eseguire una nuova elaborazione del programma senza riavviarlo.

// Variabile utilizzata per eseguire una nuova elaborazione del programma senza riavviarlo. Un azienda vende 3 prodotti a 56 euro ciascuno e i successivi 8 prodotti a 66 euro. Determinare il prezzo medio di un singolo prodotto. Basare la soluzione del problema su un applet. import java.io.*;

Dettagli

// Dichiarare le variabili d'istanza e i metodi di lettura e scrittura delle stesse utilizzando il reference predefinito THIS. //... //... //... //...

// Dichiarare le variabili d'istanza e i metodi di lettura e scrittura delle stesse utilizzando il reference predefinito THIS. //... //... //... //... import java.io.*; public class This_EquazioneSecondoGra // Dichiarare le variabili d'istanza e i metodi di lettura e scrittura delle stesse utilizzando il reference predefinito THIS. //... //... //...

Dettagli

import java.io.*; public class EU4_24 { private int stimaoreesecuzionelavori;

import java.io.*; public class EU4_24 { private int stimaoreesecuzionelavori; In un giardino quadrato di lato 56 metri deve essere sostituita la recinzione. Il preventivo presentato da un azienda di manutenzione prevede una spesa di 35 euro al metro di materiale e, inoltre, un costo

Dettagli

import java.io.*; private double pagaoraria; private double pagacomplessivamensile;

import java.io.*; private double pagaoraria; private double pagacomplessivamensile; Un lavoratore dipendente lavora 7 ore al giorno per 5 giorni la settimana, data la retribuzione complessiva mensile di 1227 euro, determinare la retribuzione oraria nell ipotesi che abbia lavorato complessivamente

Dettagli

// Variabile utilizzata per eseguire una nuova elaborazione del programma senza riavviarlo.

// Variabile utilizzata per eseguire una nuova elaborazione del programma senza riavviarlo. Un appartamento viene valutato 176.000 euro e dispone di 72 metri quadrati. Determinare il prezzo a metro quadrato impiegando un applicazione console. import java.io.*; public class EU4_16 { private int

Dettagli

// Variabile utilizzata esclusivamente nei cicli DO... WHILE per la verifica dei dati. Pag. 1 di 12

// Variabile utilizzata esclusivamente nei cicli DO... WHILE per la verifica dei dati. Pag. 1 di 12 import java.io.*; public class PosizionePunto { private double x; private double y; public void x(double valore_x) { this.x = valore_x; public void y(double valore_y) { this.y = valore_y; public double

Dettagli

import java.io.*; public class EU4_25 { private String prodottoalimentare = new String();

import java.io.*; public class EU4_25 { private String prodottoalimentare = new String(); Di 3 prodotti si conosce la quantità di grassi e proteine contenuti (in grammi) e anche le calorie (per 100 grammi di prodotto). Determinare: il prodotto meno grasso, il prodotto che ha una percentuale

Dettagli

Pag. 1 di 5. private Color C0 = new Color(255, 0, 0);

Pag. 1 di 5. private Color C0 = new Color(255, 0, 0); Un manuale è formato da 250 pagine, In 210 di essi sono presenti 40 righe di testo, mentre nelle restanti solo 36. Determinare il numero complessivo di righe di testo del manuale. Risolvere il problema

Dettagli

import public static boolean int boolean false boolean false boolean false boolean false true false

import  public static boolean int boolean false boolean false boolean false boolean false true false import java.util.arraylist; * Classe pubblica con metodi statici di utilità generale per: * la ricerca delle parole "EXIT" o "ESCI" o delle lettere "EE", scritte in maiuscolo o minuscolo, in una stringa

Dettagli

import java.io.*; Pag. 1 di 15

import java.io.*; Pag. 1 di 15 8 studenti di 5 classi quinte hanno partecipato alle olimpiadi della matematica. Stampare l elenco degli studenti in ordine decrescente di punteggio ottenuto e la rispettiva classe di appartenenza. Realizzare

Dettagli

import java.io.*; class Quadrato implements FigureGeometrichePiane { private double lato;

import java.io.*; class Quadrato implements FigureGeometrichePiane { private double lato; Un giardino condominiale è formato da un quadrato di lato 30 metri inscritto in un cerchio. Si vogliono inserire nel quadrato delle piastrelle, anch esse quadrate, di lato 10 centimetri e dal costo di

Dettagli

Pag. 1 di 7. import java.io.*;

Pag. 1 di 7. import java.io.*; Un azienda di CAD 2D deve realizzare un software per elaborare rettangoli, quadrati e triangoli. Delle tre figure geometriche si deve calcolare il perimetro e l area. Realizzare un software, il cui modulo

Dettagli

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false; Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i

Dettagli

Iterazioni. L istruzione while. while (condition) istruzione

Iterazioni. L istruzione while. while (condition) istruzione Iterazioni L istruzione while while (condition) istruzione Ripete l esecuzione di istruzione fino a che la condizione resta vera while (balance < targetbalance) year++; double interest = balance * rate

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Anno Accademico 2003/04. Docente modulo 1: Annalisa De Bonis. Ripete l esecuzione di statement fino a che la condizione e` verificata

Anno Accademico 2003/04. Docente modulo 1: Annalisa De Bonis. Ripete l esecuzione di statement fino a che la condizione e` verificata Iterazioni Anno Accademico 2003/04 Docente modulo 1: Lo statement while while (condition) statement; Ripete l esecuzione di statement fino a che la condizione e` verificata while (balance < targetbalance)

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)

Dettagli

// Costante utilizzata per ddefinire la lunghezza massima (in caratteri) di un nome.

// Costante utilizzata per ddefinire la lunghezza massima (in caratteri) di un nome. import java.io.*; import java.util.arraylist; * * Questo programma rappresenta un tentativo di implementare un algoritmo per l'ordinamento alfabetico di una serie di stringhe (ad esempio i cognomi di un

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

import java.io.*; class Box { private int prezzovenditabox;

import java.io.*; class Box { private int prezzovenditabox; Un agenzia immobiliare intende valutare un immobile composto da 2 appartamenti, rispettivamente di 80 e 90 metri quadrati, diversi tra loro per posizione e caratteristiche. Al primo appartamento viene

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do

Dettagli

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare

Dettagli

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 Alcune Soluzioni ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int[][] a = new int[n][n]; for (int i

Dettagli

Tecniche iterative. Walter Didimo

Tecniche iterative. Walter Didimo Tecniche iterative Walter Didimo Tecniche iterative In questa lezione svolgeremo alcuni esercizi di definizione di classi con metodi che usano istruzioni condizionali istruzioni iterative Gli esercizi

Dettagli

LETTURA DI DATI DA INPUT. Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream

LETTURA DI DATI DA INPUT. Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream LETTURA DI DATI DA INPUT Sfortunatamente, una tale classe non esiste

Dettagli

Programmazione a oggetti e JAVA. Prof. B.Buttarazzi A.A. 2011/2012

Programmazione a oggetti e JAVA. Prof. B.Buttarazzi A.A. 2011/2012 Programmazione a oggetti e JAVA Prof. B.Buttarazzi A.A. 2011/2012 Il tipo di dato boolean Il tipo di dato enum Sommario Istruzioni condizionali (o di selezione) if switch Istruzioni di salto break continue

Dettagli

Fondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione

Fondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione Variabili, costanti e operazioni Selezione 2 Variabili Dichiarazione di una variabile: ; Esempio: variabile numerica intera numauto: int numauto; Assegnare alla variabile

Dettagli

Array. Definizione e utilizzo di vettori

Array. Definizione e utilizzo di vettori Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Capitolo 13: Gestione delle eccezioni. Capitolo 13. Gestione delle eccezioni Apogeo srl Horstmann-Concetti di informatica e fondamenti di Java 2

Capitolo 13: Gestione delle eccezioni. Capitolo 13. Gestione delle eccezioni Apogeo srl Horstmann-Concetti di informatica e fondamenti di Java 2 Capitolo 13 Gestione delle eccezioni 1 Figura 1 La gerarchia delle classi di eccezioni 2 Figura 2 Eccezioni controllate e non controllate 3 File PurseTest.java import javax.swing.joptionpane; import java.io.ioexception;

Dettagli

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso; Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Metodi statici Parametri attuali e formali Passaggio dei parametri Effetti collaterali Metodi statici per Array Esercizi 16/01/2013

Dettagli

La gestione delle eccezioni

La gestione delle eccezioni La gestione delle eccezioni La gestione delle eccezioni Le eccezioni sono eventi che accadono in fase di esecuzione di un programma al verificarsi di una situazione anomala, come la divisione per 0, l'uso

Dettagli

Laboratorio di Programmazione Ottobre. Simone Zaccaria

Laboratorio di Programmazione Ottobre. Simone Zaccaria Laboratorio di Programmazione 27 31 Ottobre Simone Zaccaria Esercizio di Ripasso Scrivere un programma che: 1. dichiari 2 variabili a e b; 2. inizializzi le 2 variabili con valori numerici a scelta; 3.

Dettagli

Pag. 1 di 67. class Telefono implements Serializable { private String telefono = new String(""); private String descrizionetelefono = new String("");

Pag. 1 di 67. class Telefono implements Serializable { private String telefono = new String(); private String descrizionetelefono = new String(); import java.io.*; import java.text.dateformat; import java.util.arraylist; import java.util.calendar; import java.util.date; import java.util.locale; import java.util.timezone; /** * Programma per la gestione

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

// Costante utilizzata per definire il numero massimo di serie che il programma può generare.

// Costante utilizzata per definire il numero massimo di serie che il programma può generare. import java.io.*; import java.util.random; import java.util.arraylist; /** * Applicazione per la creazione di serie di numeri casuali e di serie di numeri basate sul calcolo dei ritardatari per il gioco

Dettagli

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1 Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero

Dettagli

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); } import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario API di Java Istruzione di scrittura Istruzione di lettura 21/03/2011 2 API di Java Java è un linguaggio orientato agli oggetti basato

Dettagli

import import import import import import import class implements private int public return this class implements private new private new public

import import import import import import import class implements private int public return this class implements private new private new public Un immobile è formato da un appartamento e un magazzino. L amministratore chiede un anticipo ai proprietari per le spese di riscaldamento che viene deciso, considerate le perticolari caratteristiche dei

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

COGNOME NOME MATRICOLA DATA

COGNOME NOME MATRICOLA DATA COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Automobile che ha i seguenti attributi colore: una stringa indicante il colore dell automobile, velocità: un numero con la virgola indicante la velocità

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA3 3A2 Algoritmi notevoli 1 Prerequisiti Programmazione elementare in Java Algoritmi notevoli su array 2 1 Introduzione In questa Unità vediamo rapidamente gli algoritmi

Dettagli

Alberi Binario in Java

Alberi Binario in Java Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un

Dettagli

LETTURA DI DATI DA INPUT

LETTURA DI DATI DA INPUT LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream FileDescriptor InputStream SequenceInputStream ByteArrayInputStream

Dettagli

Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane

Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Prova Intermedia Marzo 2011 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia La Prova Intermedia

Dettagli

Array mono- e bi-dimensionali Cicli while e do-while

Array mono- e bi-dimensionali Cicli while e do-while 111 Fondamenti di Informatica Array mono- e bi-dimensionali Cicli while e -while Fondamenti di Informatica - D. Talia - UNICAL 1 111 Array Monodimensionali Nell uso di array L operazione sull indice può

Dettagli

Insieme.java. Printed by Paolo. Feb 24, 04 16:44 Page 1/1 class Insieme { private int[] elementi; Tuesday February 24, /10

Insieme.java. Printed by Paolo. Feb 24, 04 16:44 Page 1/1 class Insieme { private int[] elementi; Tuesday February 24, /10 Feb 24, 04 16:44 Page 1/1 class Insieme { private int[] elementi; public Insieme() { elementi = new int[0]; public static boolean vuoto(insieme i) { return i.elementi.length == 0; Insieme.java public static

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Esercitazione n 4. Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java:

Esercitazione n 4. Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java: Esercitazione n 4 Obiettivi: Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java: Gestione di input/output da console e da file (package java.io) Utilizzo di

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Java - IO Corso di Programmazione ad Oggetti Seconda Università di Napoli Ing. Antonio Coronato ICAR - CNR Agenda Operazioni di IO da tastiera Oggetti System per le operazioni

Dettagli

Esercitazione Fondamenti di informatica 2

Esercitazione Fondamenti di informatica 2 Esercitazione Fondamenti di informatica 2 Array ed Oggetti JAVA 13 marzo 2006 L oggetto atrice Realizzare una classe oggetto atrice. Lo stato dell oggetto Vettore, è rappresentato da un array di array

Dettagli

Note ed esercizi aggiuntivi

Note ed esercizi aggiuntivi Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 1: media di numeri reali (uso funzioni e struct) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le

Dettagli

Corso di Laurea in Matematica Corso di Informatica Prova d Esame del 17/02/2011

Corso di Laurea in Matematica Corso di Informatica Prova d Esame del 17/02/2011 Esercizio 1. Si deve modellare, tramite una classe Java, una squadra di calcio. Gli elementi di base che costituiscono una squadra sono i giocatori, caratterizzati da un nome, un ruolo ed il valore di

Dettagli

L istruzione while. while (condition) istruzione

L istruzione while. while (condition) istruzione Iterazioni L istruzione while while (condition) istruzione Ripete l esecuzione di istruzione fino a che la condizione resta vera while (balance < targetbalance) { year++; double interest = balance * rate

Dettagli

Unità A1 Funzioni MODULO Java 2

Unità A1 Funzioni MODULO Java 2 Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Passaggio parametri per valore Passaggio parametri per indirizzo Parametri formali e attuali Regole di visibilità Ambiente

Dettagli

Programmazione distribuita in Java. Socket & Client-Server

Programmazione distribuita in Java. Socket & Client-Server Programmazione distribuita in Java Socket & Client-Server 1 Strumenti per networking Libreria java.net Socket (Astrazione per una presa di comunicazione) Serializzazione Socket Per comunicare si apre una

Dettagli

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array

Dettagli

Esercizi su array di array

Esercizi su array di array Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E10 C. Limongelli Gennaio 2010 1 Contenuti Fusione di due array ordinati, con eliminazione di duplicati Verifica array bidimensionale

Dettagli

IL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate

IL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate Fondamenti di Informatica IL LINGUAGGIO JAVA Sintassi, Semantica, Input, Tipi Elementari e Istruzione Condizionale 1 Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per

Dettagli

Costrutti iterativi. Utilizzo dei costrutti iterativi

Costrutti iterativi. Utilizzo dei costrutti iterativi Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti

Dettagli

A1- Array MODULO Java3

A1- Array MODULO Java3 Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Dichiarazione array Allocazione array Inizializzazione array Proprietà length Vettore Matrice Indice Componenti Indirizzo

Dettagli

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei Input Il tipo char Alcune modalità di acquisizione di input 1 Lettura di dati in input Vediamo due modi per acquisire dei dati di input dall utente: 1. Tramite una finestra grafica di dialogo 2. Tramite

Dettagli

public BorsaStudio(String nome, String ente, int d, double r) { this.nome = nome; this.ente = ente; this.durata = d; this.

public BorsaStudio(String nome, String ente, int d, double r) { this.nome = nome; this.ente = ente; this.durata = d; this. Esame scritto del 22/09/2006: soluzioni di alcuni esercizi 1. Esercizio 4. Una borsa di studio può essere caratterizzata tramite il nome del beneficiario, l ente che eroga la borsa, la durata (espressa

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try - catch - finally Comando

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

{4, 4, 2, 9, 13} {2, 2, 9, 13, 0} {0, 4, 2, 9, 13} {2, 9, 13, 0, 0}

{4, 4, 2, 9, 13} {2, 2, 9, 13, 0} {0, 4, 2, 9, 13} {2, 9, 13, 0, 0} 16181 Nome Cognome A domande a risposta multipla con n scelte, la risposta corretta vale (n-1)/n*difficoltàdomanda, la risposta errata -1/n*difficoltà domanda, la risposta non data. Eseguendo il frammento

Dettagli

5 - Istruzioni condizionali

5 - Istruzioni condizionali 5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti

Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 8 Introduzione al calcolatore e Java Linguaggio Java, basi e

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Metodi statici e array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 14 METODI STATICI: Definizione Un metodo

Dettagli

Esercizi. Espressioni. ESERCIZIO 1 Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h)

Esercizi. Espressioni. ESERCIZIO 1 Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h) Esercizi Espressioni ESERCIZIO 1 Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h) 1 ESERCIZIO 2 int i,n; i=10; n=i++%5; Domanda i=? n=? i=10; n=++i%5; Domanda

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Effetti collaterali Metodi ricorsivi Esercizi proposti 19/04/2011 2 import javax.swing.joptionpane; public class esempioarrayg{ public

Dettagli

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore

Dettagli

Eccezioni Precisazioni e approfondimenti

Eccezioni Precisazioni e approfondimenti Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di

Dettagli

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata.

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata. Chat Si ha un server in ascolto sulla porta 4444 Quando un client richiede la connessione, il server risponde con: Connessione accettata. Nome: Il client deve rispondere con lo user name A questo punto

Dettagli

Corso di Programmazione

Corso di Programmazione III Accertamento del 7 Luglio 2006 / A Risolvi i seguenti esercizi giustificando sinteticamente le risposte. Trasforma il seguente metodo statico in un programma corrispondente, formalizzato sempre nel

Dettagli

Corso di Laurea in Matematica Corso di Informatica Prova d Esame del 02/02/2010

Corso di Laurea in Matematica Corso di Informatica Prova d Esame del 02/02/2010 Esercizio 1. Si deve modellare con una classe Java il contenuto di un portamonete, con delle opportune semplificazioni. Le monete da considerare sono di soli 4 tagli: 10, 20, 50 e 100 centesimi (cioè 1

Dettagli