Esercizi Svolti. Traccia completa svolta 1. Domanda 1:

Documenti analoghi
Corso di Fondamenti di Informatica. Dispensa 7: Ciclo For. Array monodimensionali. Prof. Domenico Rosaci

// inizializzazione della biblioteca con utenti, libri e prestiti // non richiesta Biblioteca.inizializza();

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi della lezione 5 di Java

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a I scritto Febbraio 11 Febbraio 2011

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

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

Laboratorio di Programmazione 1 [Java]

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

Laboratorio di Programmazione 1 [Java]

INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002.

Problemi, algoritmi e oggetti

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Ingegneria del Software

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre 2001

3. La sintassi di Java

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

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

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

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro

Parcheggio.rtf 1/8 6 gennaio Prova di programmazione: parcheggio a pagamento

Esercizio 3. Oppure fare queste operazioni nel metodo main all interno della classe Persona.

Laboratorio di Programmazione Ottobre. Simone Zaccaria

Polinomio di secondo grado: Calcolo delle soluzioni di una equazione di secondo grado: import GraphicIO.*; public class Polinomio2 {

Esercizi classi e array

Definizione di classi con array di oggetti

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

18 - Classi parzialmente definite: Classi Astratte e Interfacce

Le basi del linguaggio Java

Laboratorio di Sistemi Classi e relazioni Java

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

Programmazione 1 A.A. 2015/2016

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

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

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Lezione 6 programmazione in Java

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011

Algoritmi di Ricerca. Esempi di programmi Java

Metodi statici. Dichiarazione e chiamata di metodi statici

Introduzione all uso degli oggetti in Java (parte II) Walter Didimo

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

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Scrivere il codice del compareto in modo tale che confronti due Studenti per età e a parità di questa per matricola

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

Algoritmi di Ricerca. Esempi di programmi Java

Esempio su strutture dati dinamiche: ArrayList

Dall analisi alla codifica (2)

% Scrivere un programma che inizializza un vettore monodimensionale di interi a = [ ]

Studente (Cognome Nome):

Esercizi di Algoritmi e Strutture Dati

Calcolare x n = x x x (n volte)

Corso di Fondamenti di Informatica. Dispensa 9: Composizione di Classi. Prof. Domenico Rosaci

Richiami di Fondamenti di Informatica - 1

Programmazione II Compitino (Vers. B)

Tutorato Programmazione 1 Modulo 2

Definizione di classi

Array Bidimensionali in Java. Esempi di Elaborazioni su Matrici

Algoritmi di Ricerca. Esempi di programmi Java

Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:

Linguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Esempio su strutture dati dinamiche: ArrayList

GESTIONE DEGLI ERRORI

Esempio su strutture dati dinamiche: ArrayList

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

Introduzione al linguaggio C Puntatori

16 - Ereditarietà, tipi e gerarchie

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

Programmazione II Compitino (Vers. B)

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2013

Introduzione Programmazione Java

Cognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Gennaio 2015

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

Compute engine generici in RMI

Fondamenti di Informatica. Dichiarazione, creazione e gestione di array in Java

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

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

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Esercitazione. Programmazione Object Oriented in Java

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Studente (Cognome Nome):

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Esempi. Esempio utilizzo di classi

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012

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

Creazione, eliminazione, lettura e scrittura di file di testo

Prova d Esame Compito A

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

C: panoramica. Violetta Lonati

21 - Alberi e Ricorsione

Ereditarietà e Polimorfismo

Concetto di Funzione e Procedura METODI in Java

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Compito di Programmazione, 22 marzo 2007 INFORMATICI E MULTIMEDIALI

Transcript:

Esercizi Svolti Traccia completa svolta 1 Domanda 1: Scrivere una classe Domanda1 che contenga al suo interno un metodo main, nel quale si dichiari l'array di interi V=[6,3,1,2,9] e si calcoli la media dell'array, stampandola sullo schermo. Tempo: 10 minuti public class Domanda1 { public static void main(string [] args){ int[] V={6,3,1,2,9; double m=0; for(int i=0;i<v.length;i++) m+=v[i]; m=m/v.length; System.out.println("media="+m); Domanda 2: Scrivere una classe Docente che rappresenti le seguenti informazioni relative ad un docente: nome, cognome, codice ed età, e che contenga il costruttore parametrizzato ed i metodi getcodice, getcognome e geteta che restituiscono rispettivamente il codice, il cognome e l età del docente. Scrivere poi una classe Universita, che rappresenti un insieme di docenti universitari tramite un array di tipo Docente, e che contenga il costruttore parametrizzato ed un metodo etaminima che restituisce la minima età tra i docenti universitari. Tempo: 20 minuti class Docente{ private String nome; private String cognome; private int codice; private int eta; public Docente(String n, String c, int cod, int e){ nome=n;cognome=c;codice=cod;eta=e; public Docente(Docente d){ nome=d.getnome(); cognome=d.getcognome(); codice=d.getcodice(); eta=d.geteta(); //costruttore di copia non richiesto ma implementato perchè usato nella public String getnome(){ return nome; //non richiesto ma implementato perchè usato nel costruttore di copia public String getcognome(){ //classe Università

return cognome; public int getcodice(){ return codice; public int geteta(){ return eta; class Universita{ private Docente[] docenti; public Universita(Docente[] d){ docenti=new Docente[d.length]; for(int i=0;i<d.length;i++) docenti[i]=new Docente(d[i]); public int etaminima(){ int min=docenti[0].geteta(); for(int i=1;i<=docenti.length;i++) if(docenti[i].geteta()<min) min=docenti[i].geteta(); return min; Domanda 3: Inserire nella classe Universita il metodo TrovaGiovani che restituisca i cognomi dei docenti che hanno età minima. public String[] trovagiovani(){ String [] risultato; for(int i=0;i<docenti.length;i++) if(docenti[i].geteta()==etaminima()) cont++; risultato=new String[cont]; cont=0; for(int i=0;i<docenti.length;i++) if(docenti[i].geteta()==etaminima()){ risultato[i]=docenti[i].getcognome(); cont++; return risultato;

Traccia completa svolta 2 Domanda 1: Scrivere una classe java che contenga al suo interno un metodo main, nel quale si chiede all'utente di inserire un vettore di numeri reali V e si calcolano il valore minimo e il secondo minimo, stampandoli sullo schermo. Tempo: 10 minuti public class Domanda1{ double[] v; double min1,min2; System.out.print("dim="); int dim=in.nextint(); v=new double[dim]; System.out.print("v[0]="); v[0]=in.nextdouble(); System.out.print("v[1]="); v[1]=in.nextdouble(); if(v[0]<v[1]){ min1=v[0];min2=v[1]; else{ min2=v[0];min1=v[1]; for(int i=2;i<dim;i++){ System.out.print("v["+i+"]="); v[i]=in.nextdouble(); if(v[i]<min1){ min2=min1;min1=v[i]; else if(v[i]<min2) min2=v[i]; Domanda 2: Scrivere una classe Libro che rappresenti le seguenti informazioni relative ad un libro: titolo, autore, prezzo, e che contenga il costruttore parametrizzato ed i metodi getitolo, getautore e getprezzo che restituiscono rispettivamente il titolo, l'autore e il prezzo del libro. Scrivere poi una classe Libreria, che rappresenti un insieme di libri tramite un array di tipo Libro, e che contenga il costruttore parametrizzato ed un metodo trova che accetta in ingresso un autore a e intero k e restituisce il numero di libri contenuti nella libreria aventi autore a e prezzo superiore a k. Tempo: 20 minuti class Libro{ private String titolo; private String autore; private int prezzo; public Libro(String t, String a, int p){ titolo=t;autore=a;prezzo=p;

public Libro(Libro l){ titolo=l.gettitolo(); autore=l.getautore(); prezzo=l.getprezzo(); //costruttore di copia non richiesto ma implementato perchè usato nella classe Libreria public String gettitolo(){ return titolo; //non richiesto ma implementato perchè usato nel costruttore di copia public String getautore(){ return autore; public int getprezzo(){ return prezzo; class Libreria{ private Libro[] libri; public Libreria(Libro[] l){ libri=new Libro[l.length]; for(int i=0;i<l.length;i++) libri[i]=new Libro(l[i]); public int Trova(String a, int k){ for(int i=0;i<=libri.length;i++) if(libri[i].getautore().equals(a)&&libri[i].getprezzo()>k) cont++; return cont; Domanda 3: Aggiungere alla classe Libreria un metodo che accetti un autore a e restituisca i titoli di tutti i libri scritti dall autore a. public String[] trovalibri(string a){ String [] risultato; for(int i=0;i<libri.length;i++) if(libri[i].getautore().equals(a)) cont++; risultato=new String[cont]; cont=0; for(int i=0;i<libri.length;i++) if(libri[i].getautore().equals(a)){ risultato[i]=libri[i].gettitolo(); cont++; return risultato;

Altri esempi di Domanda 1. 1) Scrivere una classe Esercizio1 che contenga al suo interno un metodo main, nel quale si chiede all'utente di inserire un vettore di numeri reali V e si calcoli la media degli elementi di valore pari, stampandola sullo schermo. Soluzione public class Esercizio1{ double[] v; double sum=0; System.out.print("dim="); int dim=in.nextint(); v=new double[dim]; for(int i=1;i<dim;i++){ System.out.print("v["+i+"]="); v[i]=in.nextdouble(); if(v[i]%2==0){ sum+=v[i];cont++; System.out.println(sum/cont); 2) Scrivere una classe Esercizio1 che contenga al suo interno un metodo main, nel quale si chiede all'utente di inserire un intero dim e una matrice di numeri reali M di dimensione dimxdim, e si calcoli il massimo valore degli elementi della diagonale principale, stampandolo sullo schermo. Soluzione import java.util.scanner; public class Esercizio1{ double[][] M; double max=0; System.out.print("dim="); int dim=in.nextint(); M=new double[dim][dim]; for(int i=0;i<dim;i++) for(int j=0;j<dim;j++){ System.out.print("m["+i+"]["+j+"]="); M[i][j]=in.nextDouble(); if((i==0)&&(j==0)) max=m[0][0]; if((i==j)&&(m[i][j]>max)) max=m[i][j]; System.out.println(max);

3) Scrivere una classe Esercizio1 che contenga al suo interno un metodo main, nel quale si chiede all'utente di inserire una sequenza di interi chiusa da -1 e si calcoli il minimo valore degli elementi dispari della sequenza, stampandolo sullo schermo. Soluzione import java.util.scanner; public class Esercizio1{ int v, min; do{ System.out.print("valore="); v=in.nextint(); while(v%2==-1); min=v; do{ System.out.print("valore="); v=in.nextint(); if((v!=-1)&&(v%2!=0)&&(v<min)) min=v; while(v!=-1); System.out.println(min);