Programmazione Ingegneria TLC

Slides:



Advertisements
Presentazioni simili
LINGUAGGIO DI PROGRAMMAZIONE C
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A2 Java: le basi del linguaggio.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A2 Java: le basi del linguaggio.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Programmazione Ingegneria TLC
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
Appunti a cura di Giovanni Cantone, con la collaborazione di Anna Lomartire e la partecipazione di Giuseppe Calavaro 1 06/06/2006UNIROMA2-ING OOP Programmazione.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Esempio: Tombola! Parte seconda.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: funzione di output a video Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Scomposizione di stringhe
Soluzione Esercizio - Classe Vettore
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Selezione (=scelta) con “if-else”
Primi programmi in Java
Progetto di applicazioni grafiche. Disegno di forme complesse Prassi : un classe per ciascuna forma Progetta la forma individuando le componenti base.
Capitolo 4 Tipi di dati fondamentali
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
Introduzione a:. Nella prima parte di questo corso si vedranno i CONCETTI di: CLASSE (programma) METODO (Algoritmi e dati) CONCETTI CLASSICI DI PROGRAMMAZIONE.
Programmazione in Java
Programmazione in Java Claudia Raibulet
Programmazione in Java Claudia Raibulet
Prova di verifica Fondamenti Informatica 1 15 Febbraio 2008.
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
Diagramma di flusso del problema del Supermercato.
11/11/2004Laboratorio di Programmazione - Luca Tesei1 Operazioni numeriche - Input Espressioni, funzioni matematiche, classi involucro, Acquisizione di.
Diagramma di flusso del problema del Calcolo del Bollo di Circolazione
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Conversione da base 10 a base X (Utilizzo della pila)
Corso di Programmazione in Java – Esercizio n° 001
Diagramma di flusso del problema dello stipendio del rappresentante.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Le eccezioni F. Bombi 01/11/ Errori e situazioni impreviste situazioni eccezionali In un programma situazioni eccezionali possono.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Lezione n° 07 - Esercitazione
Esercizi.
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Anno accademico Le istruzioni di controllo in C.
Esercitazione Ereditarietà Polimorfismo. Entita’ Geometrica PuntoCerchioPoligono TriangoloQuadrilatero Rettangolo Quadrato.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
ESERCITAZIONE 12 ESERCIZIO 2 14/05/2014. Consegne 1/4 Definire la classe MyBufferedReader che estende la classe BufferedReader, implementando il metodo.
Ingresso e uscita in Java F. Bombi 10 ottobre 2002.
Introduzione a Javascript
Timer Animazioni.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Gestione dei thread in Java
Programmazione in Java
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
Fondamenti di informatica T-A Esercitazione 2 : Linguaggio Java, basi e controllo del flusso AA 2012/2013 Tutor : Domenico Di Carlo.
11/11/01Classe String 1 La classe String Come usare le stringhe.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi su stringhe e file 15 Stringhe e file.
Transcript della presentazione:

Programmazione Ingegneria TLC Esercitazione 2 10/03/2009

Input/Output su finestra import javax.swing.JOptionPane; public class FinestraOutput {     public static void main(String[] args) {       String nome =  JOptionPane.showInputDialog("Come ti chiami?");         nome = nome.toUpperCase();              String stringaVisualizzata = "Ciao " + nome  + ", come stai?";              JOptionPane.showMessageDialog(null,stringaVisualizzata);                        System.exit(0);      }  }

Esercizio 1 Scrivere un programma Java che legga in input da tastiera una stringa e restituisca in output su video la stringa ottenuta concatenando la stringa ottenuta dalla stringa inserita trasformando tutti i caratteri della stringa in maiuscolo e la stringa ottenuta dalla stringa inserita trasformando tutti i caratteri in minuscolo. Ad esempio, se viene inserita da tastiera la stringa "Ciao", il risultato dovrà essere "CIAOciao". Effettuare l'input da tastiera usando la finestra di dialogo della classe JOptionPane e e l'output usando il metodo println

Esercizio 1 - Soluzione import javax.swing.JOptionPane; public class Ese1 {     public static void main(String[] args) {         String leggi = JOptionPane.showInputDialog                 ("inserisci una stringa:");         String maiuscola = leggi.toUpperCase();         String minuscola = leggi.toLowerCase();         System.out.println("La stringa soluzione e' "                  +  maiuscola + minuscola );        System.exit(0);      }      }

Esercizio 1 – Soluzione (con meno variabili…) import javax.swing.JOptionPane; public class Ese1 {     public static void main(String[] args) {       String leggi = JOptionPane.showInputDialog             ("inserisci una stringa:");       System.out.println("La stringa soluzione e' "              + leggi.toUpperCase()              + leggi.toLowerCase());       System.exit(0);      }     }

Input/Output da tastiera – La classe Scanner import java.util.Scanner; public class ClassScanner{      public static void main(String[] args) {              System.out.print("Inserisci un numero: ");              Scanner s = new Scanner(System.in);       int num = s.nextInt();              s = new Scanner(System.in);       System.out.print("Inserisci una stringa: ");       String str = s.nextLine();              s.close();              System.out.println("Hai inserito il numero " + num          + " e la stringa '" + str + "'");       } }

Esercizio 2 Scrivere un programma Java che legga in input un numero intero e restituisca il quadrato di tale numero.

Esercizio 2 – Soluzione import java.util.Scanner; public class Ese2{      public static void main(String[] args) {              System.out.print("Inserisci un numero: ");              Scanner s = new Scanner(System.in);       int num = s.nextInt();              s.close();              System.out.println("la radice quadrata e' "  + num*num);       } }

Istruzioni condizionali if (condizione) { istruzione1; istruzione2; istruzione3; ... } [else { istruzioneA; istruzioneB; }]

Condizioni = assegnazione == uguaglianza != differenza > maggiore < minore && (AND logico) || (OR logico) E' possibile concatenare tra loro diversi Operatori per avere significati differenti: >= maggiore e uguale <= minore e uguale += assegna e aggiunge un valore -= assegna e sottrae un valore

Esempio istruzione if public class Negativo {   public static void main(String[] args) {     int a=-4;     if( a<0 ) {       System.out.println("Attenzione! Il valore di a e' negativo!");     }   } }

Esercizio 3 Si vuole fare il calcolo dell'inverso di una variabile reale a. L'inverso 1/a è definito solo se a è diverso da zero. Per questa ragione, si vuole che il programma stampi un messaggio di errore se a è pari a zero, e calcoli l'inverso se la variabile è diversa da zero.

Esercizio 3 - Soluzione import javax.swing.JOptionPane; public class Inverso {   public static void main(String[] args) {     double a = Double.parseDouble(           JOptionPane.showInputDialog("Inserire il numero: "));     if( a==0 ) {       System.out.println("La variabile vale zero.");     else {       System.out.println("L'inverso vale " + 1/a);     }     System.exit(0);   } }

Esercizio 3 – Soluzione 2 import java.util.Scanner; public class Inverso {   public static void main(String[] args) {          System.out.print("Inserisci un numero: ");          Scanner s = new Scanner(System.in);          Double a = s.nextDouble();     s.close();           if( a==0 )        System.out.println("La variabile vale zero.");     else        System.out.println("L'inverso vale " + 1/a);   } }

Esercizio 4 Scrivere una classe che simuli il lancio simultaneo di tre dadi con sei facce. Se il punteggio complessivo ottenuto è superiore a 12 il “giocatore” vince, altrimenti perde. Stampare a video una stringa che identifichi la vittoria o la sconfitta del giocatore. Si supponga di avere a disposizione la seguente classe dado public class dado {       public static int lancia()       {         return (int)(Math.random()*6)+1;     }   }

Esercizio 4 – Soluzione (dado.java) public class dado  {         public static int lancia()        {             return (int)(Math.random()*6)+1;         }                }

Esercizio 4 – Soluzione (LancioDadi.java) import javax.swing.JOptionPane;  public class LancioDadi {         public static void main(String[] args)        {                 gioco();          System.exit(0);       }           public static void gioco()        {         // Il metodo restituisce 1 se vince il giocatore, 0 se vince il computer                  int primoNumero=dado.lancia();         System.out.println("Primo Numero: " + primoNumero);         int secondoNumero=dado.lancia();         System.out.println("Secondo Numero: " + secondoNumero);

Esercizio 4 - Soluzione         int terzoNumero=dado.lancia();         System.out.println("Terzo Numero: " + terzoNumero);         int totale=primoNumero+secondoNumero+terzoNumero;                  System.out.println("Totale: " + totale);         String esito;         if (totale<=12) esito="perso!!!";             else esito="vinto!!!";                 JOptionPane.showMessageDialog(null, "Il giocatore ha " + esito);         } }

Istruzioni condizionali annidate if (condizione) { istruzione1; istruzione2; istruzione3; ... } else if { istruzioneA; istruzioneB; else istruzioneAA; istruzioneBB;

Esercizio 5 Si scriva una classe per risolvere equazioni di secondo grado con il calcolo del discriminante, utilizzando istruzioni condizionali Suggerimento: si considerino 3 casi: soluzioni reali e distinte, soluzioni reali e coincidenti, soluzioni complesse, in base al valore del discriminante (>0, =0, <0)

Esercizio 5 - Soluzione public class SecondoGrado {        public static void main (String args[]) {     double a=2, b=5, c=3;     double d;     double s1, s2;     d=b*b-4*a*c;     if( d==0 ) {       s1=(-b - Math.sqrt( d ))/(2*a);       s2=s1;       System.out.println("Soluzioni coincidenti: " + s1);     }     else if( d>0 ) {       s1=(-b - Math.sqrt( d ))/(2*a);       s2=(-b + Math.sqrt( d ))/(2*a);       System.out.println("Soluzioni reali: " + s1 + " " + s2);     }     else {       System.out.println("Soluzioni complesse");     }   } }

Esercizio 5 - Soluzione public class SecondoGrado {        public static void main (String args[]) {     double a=2, b=5, c=3;     double d;     double s1, s2;     d=b*b-4*a*c;     if( d==0 ) {       s1=(-b - Math.sqrt( d ))/(2*a);       s2=s1;       System.out.println("Soluzioni coincidenti: " + s1);     }     else if( d>0 ) {       s1=(-b - Math.sqrt( d ))/(2*a);       s2=(-b + Math.sqrt( d ))/(2*a);       System.out.println("Soluzioni reali: " + s1 + " " + s2);     }     else {       System.out.println("Soluzioni complesse");     }   } }

Calcolo del Massimo Comun Divisore (MCD) Vogliamo realizzare un metodo pubblico statico che, presi come parametri due interi positivi x ed y, calcoli e restituisca il massimo comun divisore mcd(x,y). Es.:  mcd(12, 8) = 4  mcd(12, 6) = 6  mcd(12, 7) = 1

MCD: sfruttando direttamente la definizione Cerchiamo il massimo tra i divisori comuni di x ed y Osservazione: 1 <= mcd(x,y) <= min(x,y) Quindi, si provano i numeri compresi tra 1 e min(x,y). Conviene iniziare da min(x,y) e scendere verso 1. Appena si è trovato un divisore comune di x ed y, lo si restituisce.

MCD usando il metodo di Euclide Il metodo di Euclide permette di ridursi più velocemente a numeri più piccoli, sfruttando la seguente proprietà: mcd(x,y) = x    (oppure y),    se x = y mcd(x,y) = mcd(x-y, y),     se x > y mcd(x,y) = mcd(x, y-x),     se x < y Questa proprietà si dimostra facilmente, mostrando che i divisori comuni di x e y sono anche divisori di x-y (nel caso in cui x>y). Es. mcd(12,8) = mcd(12-8,8) = mcd(4, 8-4) = 4 Per ottenere un algoritmo si applica ripetutamente il procedimento fino a che non si ottiene che x=y.

Informazioni Ricevimento: E-mail: Web: Mailing-list: da concordare con lo studente a molte domande possiamo rispondere per email usate anche la mailing-list del corso E-mail: Raffaele Nicolussi rnicolussi@fub.it Stefano Paolozzi stefano.paolozzi@gmail.com Web: http://tibur.dis.uniroma1.it/%7Esetlc/AA_07_08/ Mailing-list: istruzioni sul sito (in allestimento)