Robotica Industriale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Robotica Industriale"

Transcript

1 Robotica Industriale Cenni sulla programmazione JAVA Raffaele Grandi < > DEIS - LAR Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 1 / 39

2 Teoria Cenni di Java Standard Edition : panoramica generale Java è un linguaggio di programmazione ad oggetti particolarmente potente e versatile sviluppato dalla Sun Microsystem nei primi anni 90 Java Platform Standard Edition Development Kit 6 tradotto in breve JDK-SE-6 contiene tutto il necessario per lo sviluppo del software java (JVM) scaricabile da Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 2 / 39

3 Teoria Caratteristiche principali 1/3 1 programmazione classica (cicli, operatori logici, gestione delle variabili) proveniente dal C/C++ 2 gestione avanzata delle ADT (Abstract Data Type) Vector, List, ArrayList, Hashtable... 3 programmazione concorrente (Threads e Sincronizzazione) 4 gestioni dei flussi di dati locali e remoti (File e Socket) Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 3 / 39

4 Teoria Caratteristiche principali 2/3 1 forte integrazione coi Design Patterns (DP) 1 Definizione grossolana dei DP: Soluzioni testate per problemi ricorrenti 2 Porta alla definizione e costruzione di componenti software 2 interfacce grafiche (librerie Heavy Weight e Light Weight) 1 AWT: Abstract Window Toolkit (di tipo HW) 2 SWING (di tipo LW) 3 SWT: Standard Widget Toolkit (di tipo HW) 3 tecnologie web lato cliente e server (Applet, Servlet) 4 gestione dei flussi audio e video (JMF) Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 4 / 39

5 Caratteristiche principali 3/3 Teoria buon interfacciamento e integrazione con dispositivi HW e applicazioni SW: Porte seriali: seriali fisiche e virtuali (Bluetooth) Librerie: JCOMM, BLUECOVE, JNI Molto software commerciale ha un qualche tipo di integrazione con Java (es Matlab) Manipolazione dei documenti XML Integrazione con i database Integrazione con piattaforme CORBA sviluppo di sistemi Middleware distribuiti Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 5 / 39

6 Teoria Caratteristiche strutturali 1/2 In dettaglio: 1 sintassi simile al C++ 2 indipendenza dalla piattaforma ( JVM ) codice interpretato: ByteCode (Architecture Neutral) Write once, run everywhere 3 codice suddiviso in classi e packages 4 linguaggio orientato agli oggetti (in Java tutto è un oggetto) ogni oggetto ha proprietà e metodi astrazione tramite Interfacce e Classi Astratte ereditarietà e polimorfismo Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 6 / 39

7 Caratteristiche strutturali 2/2 Teoria La grande versatilità di Java purtroppo si paga in termini computazionali: codice interpretato e multipiattaforma Write once, run everywhere diventa Write once, DEBUG anywhere lentezza nell esecuzione dovuta al bytecode struttura multilivello della JVM (es: Garbage Collector level) soluzione parziale: le recenti JVM incorporano un compilatore just-in-time (JIT compiler) che provvede alla traduzione dinamica del codice: il bytecode viene precompilato dalla JVM e in seguito viene tradotta solo la parte in esecuzione mentre prima la fase di compilazione e traduzione avveniva in un unica fase Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 7 / 39

8 Libri Programmazione Java 1 Bruce Eckel 1 Think in Java - vol.1 - Fondamenti 2 Think in Java - vol.2 - Tecniche avanzate 2 Deitel&Deitel 1 Java: Fondamenti di programmazione 2 Java: Tecniche avanzate Schede di riferimento su Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 8 / 39

9 Internet Programmazione Java 1 Google 2 Sito Internet SUN: java.sun.com 3 Application Programming Interface (API) ufficiali: buona norma: mantenere aperte le API approfondimenti: Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 9 / 39

10 Eclipse Paradigma di programmazione Gli oggetti software Integrated Development Environment IDE: per lo sviluppo del software NetBeans Eclipse ambiente di sviluppo multi-linguaggio scritto interamente in Java (Swing) nato nel giugno scelto dalla Sun Microsystems come IDE ufficiale plug-in oriented ambiente di sviluppo multi-linguaggio scritto in Java (SWT) progetto opensource sviluppato da una vasta comunità sotto la tutela della Eclipse Foundation plug-in oriented Noi utilizzeremo Eclipse, in quanto si integra meglio con LeJOS (plug-in specifico) è possibile usare altri IDE o nessuno, lavorando tramite linea di comando Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 10 / 39

11 Eclipse Risorse per la programmazione Eclipse Paradigma di programmazione Gli oggetti software Eclipse è un ambiente di sviluppo multipiattaforma (Linux - Windows e Mac) Lo si scarica gratuitamente da La versione a cui siamo interessati è Eclipse Classic (162 MB) viene così installato tutto l ambiente di sviluppo compresa la JVM per chi avesse Ubuntu è disponibile anche nel repository ufficiale Figura: Eclipse Downloads site Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 11 / 39

12 Eclipse Paradigma di programmazione Gli oggetti software Eclipse L ambiente di lavoro Una volta installato Eclipse e caricato, l interfaccia appare come nella figura a fianco: Area di lavoro Gerarchia dello spazio di lavoro contenente i packages e le classi Console di output Menù per la gestione delle opzioni Figura: Eclipse Interface Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 12 / 39

13 Eclipse Paradigma di programmazione Gli oggetti software Risorse su Eclipse Da dove imparare 1 Google ;-) 2 Eclipse Community : 3 Libro: 1 Eclipse for Dummies Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 13 / 39

14 Paradigma di programmazione 1/2 Definizione Eclipse Paradigma di programmazione Gli oggetti software Da Wikipedia:... Un insieme di strumenti concettuali forniti da un linguaggio di programmazione per la stesura di programmi, e definisce/determina il modo in cui il programmatore concepisce e percepisce il programma. Diversi paradigmi si differenziano per i concetti e le astrazioni usate per rappresentare gli elementi di un programma (come ad esempio le funzioni, gli oggetti, le variabili, vincoli, ecc) e per i procedimenti usati per l esecuzione delle procedure di elaborazione dei dati (assegnazione, calcolo, iterazione, data flow, ecc). Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 14 / 39

15 Eclipse Paradigma di programmazione Gli oggetti software Paradigma di programmazione 2/2 Java introduce un paradigma fortemente orientato agli oggetti. Il concetto produce conseguentemente una programmazione orientata alla costruzione e alla progettazione di componenti software Introduzione di test automatici per la validazione e la manipolazione del codice Astrazione di altissimo livello (Pattern di programmazione e ingegneria del software) Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 15 / 39

16 Eclipse Paradigma di programmazione Gli oggetti software Gli oggetti software Da un punto di vista concettuale gli oggetti software modellano il comportamento e/o le proprietà che hanno o possono avere gli oggetti reali: 1 dati strutturali 2 metodi di comportamento 3 ereditarietà di metodi, strutture e comportamenti provenienti da oggetti preesistenti Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 16 / 39

17 Gli oggetti software Esempio pratico: una porta Eclipse Paradigma di programmazione Gli oggetti software Caratteristiche strutturali (variabili di un oggetto): altezza, larghezza, spessore, materiale, colore, possiede una maniglia... Caratteristiche funzionali (metodi di un oggetto): apri/chiudi porta Raffaele Grandi < > Robotica Industriale 17 / 39

18 Un oggetto nell oggetto Esempio pratico: la maniglia (della porta) Eclipse Paradigma di programmazione Gli oggetti software Caratteristiche strutturali (variabili di un oggetto): lunghezza, grandezza, forma, materiale, senso di rotazione, gradi di apertura... Caratteristiche funzionali (metodi di un oggetto): ruota in senso orario/antiorario Raffaele Grandi < > Robotica Industriale 18 / 39

19 Eclipse Paradigma di programmazione Gli oggetti software Interazione tra oggetti Porta - Maniglia 1 Nell interazione tra la porta la maniglia, ad esempio, avremo che all interno del metodo apri/chiudi verrà utilizzato il metodo ruota in senso orario/antiorario di maniglia che a sua volta cambierà il valore della variabile gradi in accordo al senso di rotazione specificato, ammesso che il senso di rotazione proprio della maniglia lo consenta. 2 Spesso nella definizione di un oggetto non vengono solamente definite le operazioni che l oggetto può fare ma anche quelle che non deve fare, in modo da poter caratterizzare in toto il suo comportamento e individuare più facilmente i problemi durante la programmazione 3 Spesso non è possibile prevedere tutti i comportamenti ammessi e non di un oggetto. Sono quindi previste da Java l implementazione e la gestione delle eccezioni (Exceptions) Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 19 / 39

20 Eclipse Paradigma di programmazione Gli oggetti software Ereditarietà Una delle caratteristiche più potenti di Java è la capacità di ereditare le proprietà di una classe di oggetti (variabili e metodi) da una classe padre preesistente La nuova classe ha la possibilità non solo si avere accesso alle strutture della classe padre ma anche di crearne nuove l ereditarietà è one-way (padre -> figlio) e unica: una classe eredita solamente da un unica classe in Java si dice che una classe ne estende un altra e viene utilizzata la parola riservata extends Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 20 / 39

21 Ereditarietà Un nuovo tipo di porta Programmazione Java Eclipse Paradigma di programmazione Gli oggetti software Recuperando l esempio precedente si potrebbe progettare una nuova classe di porte che eredita da quella precedente tutte le caratteristiche ma in più implementa caratteristiche nuove: caratteristiche strutturali: old: altezza, larghezza, spessore, materiale, colore, possiede una maniglia... new: forma, possiede spioncino, spostabile caratteristiche comportamentali: old: apri/chiudi porta new: apri/chiudi spioncino, solleva porta, tira porta, dipingi Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 21 / 39

22 Eclipse Paradigma di programmazione Gli oggetti software Classe vs Oggetto La fase di istanziazione In realtà ciò che fino ad ora abbiamo chiamato oggetto, in Java viene definito come una Classe. Questo perché, riferendoci all esempio di porta, possono essere costruite più porte tutte uguali, ognuna con le stesse caratteristiche strutturali e comportamentali dell altra. Quindi in Java, si definisce una una classe di oggetti con proprietà e metodi propri e in seguito è possibile creare, all interno del sistema, un oggetto con le caratteristiche della classe, attraverso la fase di istanziazione. Viene creata l istanza di un oggetto attraverso l utilizzo dell operatore new Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 22 / 39

23 Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 Breve introduzione alla programmazione pratica Parte 1/2 In Java si programma principalmente utilizzano due tipi di file: 1 File con estensione.java contenente il codice sorgente delle classi che scriviamo. Un file di testo puro e semplice 2 File con estensione.class contenente il bytecode generato dalla compilazione del precedente file usando il comando javac Il file.class ottenuto dalla compilazione può essere eseguito utilizzando da una console il comando java nomefile (privo dell estensione.class) Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 23 / 39

24 Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 Breve introduzione alla programmazione pratica Parte 2/2 Solo in casi particolari è possibile dover lavorare con file.jar : i file jar sono archivi compressi di programmi java. Vengono utilizzati generalmente per distribuire librerie e pacchetti software. All interno è presente generalmente tutta l applicazione, perfettamente corredata della sua gerarchia di packages. Aprendo un file jar (come se fosse un file.zip) è possibile vedere l albero dei packeges contenente le classi dell applicazione. A volte vengono inseriti anche i file.java dei sorgenti Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 24 / 39

25 Programmazione strutturata Esempio 1/4 : ProgramES01 - Hello world Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 package esercitazioni.ex01; public class ProgES01 { /** args */ public static void main(string[] args) { System.out.println( Benvenuti al corso di robotica ); } }//end class Hello world Il più classico degli esempi ma già introduce il concetto di package, di oggetto e di punto di ingresso Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 25 / 39

26 Programmazione strutturata Esempio 1/4 : ProgramES01 - descrizione Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 Fasi iniziali di scrittura di un programma Java 1 Creazione di un package 1 da un punto di vista concettuale è un contenitore di classi di oggetti che hanno una stessa finalità operativa 2 in pratica è una cartella sul sistema 3 una cartella diventa effettivamente un package nel momento in cui all interno dei sorgenti viene rispettata la gerarchia dei direttori 4 la gerarchina dei package è sia logica che fisica 2 Creazione di un punto di accesso al flusso esecutivo: il metodo main 3 Il concetto di oggetto è rappresentato dalla parola class 1 Quindi ogni programma è un oggetto stand-alone in grado di essere eseguito contemporaneamente anche in più istanze ognuno con le stesse caratteristiche e lo stesso punto di ingresso Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 26 / 39

27 Programmazione strutturata Note sintattiche del linguaggio Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 1 La sintassi del linguaggio ci limita a usare, come nome del file sorgente che contiene il codice, un nome identico a quello della classe, quindi nel caso precedente il codice sarà contenuto in un file dal nome ProgES01.java all interno della cartella ex01, sottocartella di esercitazioni (esercitazioni/ex01) 2 Nel linguaggio Java i nomi delle classi iniziano con la lettera maiuscola mentre quelli dei metodi con la lettera minuscola 3 I commenti al codice possono essere effettuati tramite l utilizzo della doppia barra // per commenti che rimangono su una riga e dal una scrittura del tipo barra asterisco /* per aprire un commento multilinea e asterisco-barra per chiudere il commento */ Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 27 / 39

28 Programmazione strutturata Esempio 2/4 : ProgramES01b Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 package esercitazioni.ex01; public class ProgES01b { static String stringa01 = Scrivi qualcosa sullo schermo ; static String stringa02 = new String( Ho già scritto qualcosa ); int x = 30; //minuti che eravate disposti ad ascoltare prima di iniziare double y = ; //secondi che effettivamente siete stati attenti boolean max interest = false; //situazione attuale public static void main(string[] args) { System.out.println(stringa01); System.out.println(stringa02); System.out.println( InterestData x: +x+ ;y: +y+ ;MI: +max interest ); } //end main }//end class Variabili Java ha molti tipi di variabili. La Stringa può essere trattata come una variabile comune. In realtà è un oggetto. Le stringhe possono essere concatenate e manipolate in modo molto complesso Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 28 / 39

29 Breve introduzione alla compilazione Comandi da console 1/3 Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 Prima di procedere oltre vediamo come eventualmente compilare il programma java appena visto, via terminale Dal codice sorgente notiamo che il programma risiede all interno di un file che si chiama ProgES01b.java (dal nome della classe) che sul disco di sistema risiede in una cartella (package) dal percorso esercitazioni/ex01: Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 29 / 39

30 Breve introduzione alla compilazione Comandi da console 2/3 Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 Procedura: 1 Configurare i percorsi di ricerca all interno delle variabili di sistema in modo che includano la cartella della JVM 2 Aprire una console di comando e spostarsi all interno della cartella contenente il package esercitazioni (ad esempio cd nomecartella) 3 Digitare il comando javac esercitazioni/ex01/proges01s.java per la compilazione del sorgente. 1 Se non ci sono errori di compilazione viene creato all interno della cartella esercitazioni/ex01/ un file dal nome ProgES01s.class 2 Altrimenti viene segnalato attraverso una serie di errori in cascata quali sono le difficoltà incontrate nella compilazione e dove viene rilevato l errore 4 In caso che la compilazione sia andata a buon fine è possibile procedere all esecuzione del programma digitando il comando java esercitazioni/ex01/proges01s Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 30 / 39

31 Breve introduzione alla compilazione Comandi da console 3/3 Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 31 / 39

32 Programmazione strutturata Esempio 3/4 : ProgramES01e Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 package esercitazioni.ex01; public class ProgES01e { static int var01 = 35; public static void main(string[] args) { for (int i = 0; i < var01; i++){ stampastringa( Prova di stampa n +i); } } public static void stampastringa(string str){ System.out.println(str); }//end stampastringa }//end class Complicazioni... Introducendo cicli, variabili e metodi la versatilità del codice aumenta. Il prossimo lucido ne è un esempio. Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 32 / 39

33 Programmazione strutturata Esempio 4/4 : ProgramES01s - Bubble Sort p1 Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 package esercitazioni.ex01; public class ProgES01s { static int numelements01 = 50, numelements02 = 20; rangevals = 100; public static void main(string[] args) { int[] unsortedarray01 = new int[numelements01]; int[] unsortedarray02 = new int[numelements02]; initarray(unsortedarray01); initarray(unsortedarray02); System.out.println( \nstampo vettori non ordinati ); printarray(unsortedarray01); printarray(unsortedarray02); System.out.println( \neseguo fase di ordinamento ); bubblesort(unsortedarray01); bubblesort(unsortedarray02); System.out.println( \nstampo vettori ordinati ); printarray(unsortedarray01); printarray(unsortedarray02); }//main BubbleSort versione artigianale. Nel main vediamo la chiamata a 3 metodi (initarray, bubblesort, printarray), una chiamata di sistema e la creazione di 2 oggetti Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 33 / 39

34 Programmazione strutturata Esempio 4/4 : ProgramES01s - Bubble Sort p2 Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 static private void initarray(int[] toinitarr){ for (int i=0; i < toinitarr.length; i++ ){ toinitarr[i] = (int) (Math.random() * rangevals); } }//initarray static private void printarray(int[] temparray){ System.out.println( \nprinting array with +temparray.length+ elements ); for (int i=0; i < temparray.length; i++ ){ System.out.println( Array element +i+ : +temparray[i]); } }//printarray Metodi di utilità Spesso all interno dei programmi si impiegano metodi di utilità. In questo caso initarray e printarray di struttura e compito concettualmente identici >> pattern Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 34 / 39

35 Programmazione strutturata Esempio 4/4 : ProgramES01s - Bubble Sort p3 Breve introduzione alla programmazione pratica Esempio 1 Esempio 2 Breve introduzione alla compilazione Esempio 3 Esempio 4 static private void bubblesort(int[] temparray){ if (temparray.length >= 2){ // controllo boolean ordinato; do{ ordinato = true; int k = 0; while(k < temparray.length-1){ if (temparray[k] > temparray[k+1]){ ordinato = false; int box = temparray[k]; temparray[k] = temparray[k+1]; temparray[k+1] = box; }//endif k++; }//endwhile }while(!ordinato); }//endif }//bubblesort }// end class Metodo bsort Il cuore del programma. Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 35 / 39

36 Esempio 1 Fase di progettazione Cerchiamo di capire come modificare l esempio del Bubble Sort per avvicinarci in vari steps alla programmazione ad oggetti: 1 Recuperiamo i metodi presenti nel main e creiamo un oggetto che fornisca le stesse funzionlità. Al momento un semplice contenitore 2 Da un punto di vista strutturale non abbiamo cambiato molto ma da quello concettuale iniziamo a vedere come è possibile delegare funzionalità operative a strutture diverse correlate tra loro Inizialmente viene creato un package exampleclass con all interno la classe BSortClass da cui istanziare il nostro oggetto Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 36 / 39

37 Esempio 1/N : ProgramES02 - p1 Esempio 1 package esercitazioni.ex02; import esercitazioni.exampleclass.*; public class ProgES02s { static int numelem01 = 50, numelem02 = 20; rangevals = 100; static BSortClass bsortobj; public static void main(string[] args) { int[] unsortedarr01 = new int[numelem01]; int[] unsortedarr02 = new int[numelem02]; bsortobj.initarray(unsortedarr01); bsortobj.initarray(unsortedarr02); System.out.println( \nstampo vettori non ordinati ); bsortobj.printarray(unsortedarr01); bsortobj.printarray(unsortedarr02); System.out.println( \neseguo fase di ordinamento ); bsortobj.bubblesort(unsortedarr01); bsortobj.bubblesort(unsortedarr02); System.out.println( \nstampo vettori ordinati ); bsortobj.printarray(unsortedarr01); bsortobj.printarray(unsortedarr02); }//main }//end class BubbleSort versione 2. Rispetto a prima vediamo che il main del programma non ha subito grosse modifiche. Compare solamente l istanza del nuovo oggetto e le chiamate ai suoi metodi. Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 37 / 39

38 Esempio 1/N : ProgramES02 - p2 Esempio 1 package esercitazioni.exampleclass; public class BSortClass { int rangevals; public BSortClass(int rval){ rangevals = rval; }//end constructor public void initarray(int[] toinitarr){ for (int i=0; i < toinitarr.length; i++ ){ toinitarr[i] = (int) (Math.random() * rangevals); } }//initarray public void printarray(int[] temparray){ System.out.println( \nprinting array with +temparray.length+ elements ); for (int i=0; i < temparray.length; i++ ){ System.out.println( Array element +i+ : +temparray[i]); } }//printarray BSortClass I metodi funzionali sono stati ripresi direttamente dal main e implementati all interno dell oggetto. Viene effettuata un operazione di incapsulamento. Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 38 / 39

39 Esempio 1/N : ProgramES02 - p3 Esempio 1 public void bubblesort(int[] temparray){ if (temparray.length >= 2){ // controllo boolean ordinato; do{ ordinato = true; int k = 0; while(k < temparray.length-1){ if (temparray[k] > temparray[k+1]){ ordinato = false; int box = temparray[k]; temparray[k] = temparray[k+1]; temparray[k+1] = box; }//endif k++; }//endwhile }while(!ordinato); }//endif }// bubblesort }// end class BSortClass BSortClass Il metodo della classe BSortClass che fornisce la funzionalità dell ordinamento di un vettore Raffaele Grandi < raffaele.grandi@unibo.it > Robotica Industriale 39 / 39

Robotica Industriale

Robotica Industriale Robotica Industriale Cenni sulla programmazione JAVA Raffaele Grandi em@il:raffaele.grandi@unibo.it www lar.deis.unibo.it/people/rgrandi D.E.I. Raffaele Grandi Robotica Industriale 1 / 60 Outline Panoramica

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Fase di progettazione - compilazione ed esecuzione Riprendendo l esempio precedente riguardante il Bubble Sort, cerchiamo di capire come modificarlo per avvicinarci in vari steps alla programmazione ad

Dettagli

Strumenti Java. Fondamenti di informatica L-B A.A Alessandra Toninelli

Strumenti Java. Fondamenti di informatica L-B A.A Alessandra Toninelli Strumenti Java Fondamenti di informatica L-B A.A. 2006-2007 Alessandra Toninelli atoninelli@deis.unibo.it Cosa installare? J2SE SDK Software Development Kit (JDK): Contiene: tutte le classi con relativo

Dettagli

Eclipse e SDK. Capiamo che sistema operativo abbiamo

Eclipse e SDK. Capiamo che sistema operativo abbiamo Eclipse e SDK Capiamo che sistema operativo abbiamo 1 2 Cliccare su impostazioni 3 Cliccare su Sistema 1 Cliccare 4 Cliccare su Informazioni su 2 Eclipse ECLIPSE: http://www.eclipse.org/ Esistono versioni

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

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni

Dettagli

Prof. Pagani corrado JAVA

Prof. Pagani corrado JAVA Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da

Dettagli

Corso Programmazione Java Standard

Corso Programmazione Java Standard Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate

Dettagli

Introduzione a Java. Riferimenti

Introduzione a Java. Riferimenti Introduzione a Java Si ringraziano Massimiliano Curcio e Matteo Giacalone 1: Introduction 1 Riferimenti! Java tutorial: http://java.sun.com/docs/books/tutorial/! Il Java tutorial è parte di una più ampia

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

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

Dettagli

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da

Dettagli

Java SE 7. Introduzione.

Java SE 7. Introduzione. Java SE 7 Introduzione diegozabot@yahoo.it ursula.castaldo@gmail.com Java Java è un linguaggio di programmazione. Inizialmente usato per creare semplici programmi nelle pagine web (chiamati applets), Java

Dettagli

Linguaggi Object Oriented: Principi e Introduzione a Java

Linguaggi Object Oriented: Principi e Introduzione a Java Linguaggi Object Oriented: Principi e Introduzione a Java Sommario: 13 Aprile, 2015 Linguaggi OO: Rilevanza e Note Storiche Principi dei Linguaggi OO. Struttura dei programmi: Classi e Oggetti in Java

Dettagli

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica Web: http://www.scienze.univr.it/fol/main?ent=oi&id=34121 Docente: Carlo Drioli Email: drioli@sci.univr.it 2007/2008 Lucidi a cura di Nicola Drago,

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Dichiarazione di una classe. Dichiarazione ereditarietà

Dichiarazione di una classe. Dichiarazione ereditarietà Introduzione Il Java è un linguaggio di programmazione orientato agli oggetti (OOL), perché permette di realizzare in un programma tutti i concetti alla base dell OOP quali: l astrazione dei dati, mediante

Dettagli

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java Programmi Un programma è un insieme di istruzioni che il computer deve seguire Usiamo programmi in continuazione

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso AA 2015/2016 Tutor: Vincenzo Lomonaco vincenzo.lomonaco@unibo.it Programma Introduzione al calcolatore

Dettagli

Ambienti di Sviluppo. Linguaggi compilati

Ambienti di Sviluppo. Linguaggi compilati Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Compilatori e/o interpreti; Editor; Ambienti di Sviluppo Strumenti di debug e/o test; 1 Linguaggi compilati Codice sorgente convertito

Dettagli

Fondamenti di Informatica T-1. Guida al LAB4 Introduzione a JDK e Eclipse

Fondamenti di Informatica T-1. Guida al LAB4 Introduzione a JDK e Eclipse Guida al LAB4 Introduzione a JDK e Eclipse 2 Tutor Tutor: e-mail: francesco.casimiro@studio.unibo.it Ricevimento studenti: al termine delle esercitazioni o previo appuntamento via e-mail Sito del corso:

Dettagli

Esplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando

Esplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando Eclipse: Cos è? Utilizzare Eclipse: Creare un progetto Creare file sorgenti nel progetto Compilare Lanciare il programma Strumenti alternativi agli IDE La linea di comando su Linux Esplorare e modificare

Dettagli

Fondamenti di Informatica T2 Modulo 2

Fondamenti di Informatica T2 Modulo 2 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Integrated Development Environment (IDE)

Dettagli

Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009

Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Integrated Development Environment (IDE)

Dettagli

Esonero di Informatica I. Ingegneria Medica

Esonero di Informatica I. Ingegneria Medica Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

Dettagli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

Dettagli

NetBeans. Dott. Ing. Rossella Rubino A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico

NetBeans. Dott. Ing. Rossella Rubino A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico NetBeans Dott. Ing. Rossella Rubino rossella.rubino@unibo.it A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico Software necessario J2SE(TM) Development Kit (JDK) http://java.sun.com/javase/downloads/index.jsp

Dettagli

Classi di Java introducono Oggetti e Tipi per il programma

Classi di Java introducono Oggetti e Tipi per il programma Classi di Java introducono Oggetti e Tipi per il programma Un numero finito di entità statiche. Un numero infinito di entità dinamiche: Oggetti. Gli oggetti sono valori e sono usati come sotto che rappresenta

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA5 A1.1 Awt e contenitori 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Elementi di un interfaccia grafica 2 1 Introduzione Iniziamo lo studio

Dettagli

Ingegneria del Software 1: Eclipse

Ingegneria del Software 1: Eclipse Ingegneria del Software 1: Eclipse Da completare entro Marzo 15, 2016 S. Krstić and M. Scavuzzo and F. Marconi and A. Rizzi and C. Menghi 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK)..........................................

Dettagli

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3 Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Introduzione a Java Creare, compilare, eseguire e distribuire un programma scritto in Java Outline Applicazione di esempio: Hello World! Ciclo di sviluppo Netbeans Compilare

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA0 0 Linguaggio Java 1 Prerequisiti Utilizzo elementare di un pc Utilizzo di Internet per il downloading di file 2 1 Introduzione In questa lezione si descrivono gli

Dettagli

Parte prima: le basi della programmazione Java

Parte prima: le basi della programmazione Java Parte prima: le basi della programmazione Java 1. Java: una breve descrizione Java è un linguaggio di programmazione creato dalla Sun Microsystems e concepito da James Gosling, Patrick Naughton, Chris

Dettagli

Prefazione. Organizzazione del libro

Prefazione. Organizzazione del libro Questo libro ha come obiettivo quello di insegnare la programmazione in Java in modo semplice e immediato, andando direttamene al sodo e cercando di concentrarsi sull essenziale. Dire le cose essenziali,

Dettagli

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

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI

Dettagli

Java il Corso Fondamentale

Java il Corso Fondamentale Java il Corso Fondamentale Imparare a Programmare APP per Android, applicativi per Server e Desktop, applet e molto altro. IlTuoCorso - Ermes srl Via E.De Amicis 57 20123 Milano Il corso Ciao! Se desideri

Dettagli

I Metodi. Fondamenti di Informatica A-K

I Metodi. Fondamenti di Informatica A-K I Metodi Fondamenti di Informatica A-K Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti, costruttori,

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Laboratorio di Informatica Alfonso Miola Strumenti per la programmazione Dispensa D-03 Settembre 2005 1 Contenuti Strumenti per la programmazione editing ed editor compilazione e compilatori compilazione

Dettagli

Università degli Studi di Padova

Università degli Studi di Padova Università degli Studi di Padova SCUOLA DI INGEGNERIA Corso di Laurea in INGEGNERIA DELL INFORMAZIONE Laboratorio di Fondamenti di Informatica A.A. 2017/2018 SOMMARIO 1) (Java Development Kit) Cos è Struttura

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

Dettagli

Installazione Java Standard Edition (SDK)

Installazione Java Standard Edition (SDK) Installazione Java Standard Edition (SDK) http://www.oracle.com/technetwork/java/javase/do wnloads/index.html Cliccare su Download Cliccare su Accept License Agreement Cliccare sul file da scaricare in

Dettagli

la traduzione dei programmi ed introduzione a Java

la traduzione dei programmi ed introduzione a Java la traduzione dei programmi ed introduzione a Java programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere

Dettagli

Principi di OOP con JAVA

Principi di OOP con JAVA Principi di OOP con JAVA lezioni 08 - gen - 2004 15 - gen - 2004 Tommaso Di Noia t.dinoia@poliba.it OOP (elementi) Programmazione Procedurale e Orientata agli Oggetti. FUNZIONI OGGETTI STRUTTURE DATI METODI

Dettagli

Multithreading in Java I parte. Lorenzo Gallucci

Multithreading in Java I parte. Lorenzo Gallucci Multithreading in Java I parte Lorenzo Gallucci Java: un linguaggio ed un sistema predisposti per il multitasking È possibile creare e gestire Thread nativamente (senza dover ricorrere a librerie esterne)

Dettagli

Primi programmi in Java. Lezione II

Primi programmi in Java. Lezione II Primi programmi in Java Lezione II Il processo di sviluppo Passo 1: scrivere il programma Software: un qualsiasi text editor Passo 2: compilare il programma Software: Java Development Kit (JDK) Comando:

Dettagli

Concetti introduttivi

Concetti introduttivi Concetti introduttivi La programmazione Programma: sequenza di operazioni semplici (istruzioni e decisioni) eseguite in successione Un programma indica al computer i passi da compiere per svolgere un compito

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 T-1 di Esercitazioni 1 1 Dipartimento di - Scienza e Ingegneria - DISI Università degli studi di Bologna Panoramica 1 2 3 4 Orario delle Esercitazioni Giovedì 9:30 10:45 (Gruppo A-C, LAB4) Giovedì 14:30

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE

Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse

Fondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse Fondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse AA 2018/2019 Tutor lorenzo.rosa@unibo.it 2 Esercitazione 6 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso Eclipse

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. Guida al LAB3 Introduzione a JDK e Eclipse

Fondamenti di Informatica T-1. Guida al LAB3 Introduzione a JDK e Eclipse Guida al LAB3 Introduzione a JDK e Eclipse 2 Laboratorio Pratica sui contenuti trattati a lezione. L esame prevede la scrittura di codice Java: esercitarsi in laboratorio e a casa è fortemente consigliato!

Dettagli

Programmazione ad Oggetti. Java Parte II

Programmazione ad Oggetti. Java Parte II Programmazione ad Oggetti Java Parte II Overview Caratteristiche lessicali Il primo programma Java 1 Commenti /* Commento tradizionale, eventualmente su più linee, non nidificato */ // Commento su di una

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 Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

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: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.1 Programmazione base 1 Prerequisiti Saper scrivere algoritmi elementari Tecniche elementari di sviluppo di una applicazione Modalità a riga di comando Utilizzo

Dettagli

Java: un linguaggio per applicazioni di rete

Java: un linguaggio per applicazioni di rete Java: un linguaggio per applicazioni di rete Moreno Falaschi Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena March 3, 2014 1 Caratteristiche di Java (SUN) Linguaggio

Dettagli

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

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Primo programma in C

Primo programma in C Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file

Dettagli

Esercitazione n 1. Obiettivi

Esercitazione n 1. Obiettivi Esercitazione n 1 Obiettivi Introduzione all utilizzo di Java Development Kit (JDK) versione 1.3 Sviluppare programmi Java tramite linea di comando Es: javac, java, jdb, javadoc Primo esempio di programma

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 Uso dell ambiente di sviluppo Eclipse API di Java Istruzione di scrittura Istruzione di lettura 16/01/2013 2 Installazione di

Dettagli

24 - Possibili approfondimenti

24 - Possibili approfondimenti 24 - Possibili approfondimenti 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

Traduzione e interpretazione

Traduzione e interpretazione Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Lezione 1 e 2 Fabio Scotti Laboratorio di programmazione per la sicurezza 1 Lezione 1 e 2 Fabio Scotti Laboratorio di programmazione per la sicurezza Introduzione al linguaggio C e significato della compilazione

Dettagli

JAVA IL LINGUAGGIO. Ogni valore nel linguaggio ha un tipo Ogni variabile deve essere dichiarata ed associata ad un tipo:

JAVA IL LINGUAGGIO. Ogni valore nel linguaggio ha un tipo Ogni variabile deve essere dichiarata ed associata ad un tipo: JAVA IL LINGUAGGIO Tipi e variabili Ogni valore nel linguaggio ha un tipo Ogni variabile deve essere dichiarata ed associata ad un tipo: String greeting = "Hello, World!"; PrintStream printer = System.out;

Dettagli

I L IN I GU G AGG G I G O

I L IN I GU G AGG G I G O JAVA IL LINGUAGGIO Tipi e variabili Ogni valore nel linguaggio ha un tipo Ogni variabile deve essere dichiarata ed associata ad un tipo: String greeting = "Hello, World!"; PrintStream printer = System.out;

Dettagli

Metodi Avanzati di Programmazione 2012/2013 Informatica (Brindisi) Loglisci Corrado

Metodi Avanzati di Programmazione 2012/2013 Informatica (Brindisi) Loglisci Corrado INSEGNAMENTO ANNO ACCADEMICO CORSO DI LAUREA IN DOCENTE ANNO DI CORSO Metodi Avanzati di Programmazione 212/213 Informatica (Brindisi) Loglisci Corrado II II SEMESTRE 7 (ore 56) N CREDITI LEZIONI FRONTALI:

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Guida al LAB3 - Introduzione JDK e ECLIPSE Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 27 LABORATORIO

Dettagli

Fondamenti di Java Lezione n. 1. Che cos'è Java?

Fondamenti di Java Lezione n. 1. Che cos'è Java? Java, il linguaggio della Rete Che cos'è Java? Java è un linguaggio di programmazione orientato agli oggetti, in gergo Object-Oriented Language (OOL), sviluppato nel 1991 da un gruppo di ricercatori della

Dettagli

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,

Dettagli

Corso di Tecnologie Object Oriented. Programmazione in linguaggio Java

Corso di Tecnologie Object Oriented. Programmazione in linguaggio Java Corso di Tecnologie Object Oriented. Programmazione in linguaggio Java 1. Definizione degli Obiettivi Formativi 1.1 Modulo di Java Base L obiettivo del corso è quello di far maturare le competenze necessarie

Dettagli

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLE APPLICAZIONI JAVA...

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLE APPLICAZIONI JAVA... Sommario PREFAZIONE... XI Lo scopo di questo libro... xi La metodologia di insegnamento... xiii L apprendimento attraverso il codice... xiii La programmazione orientata agli oggetti... xiii L accesso al

Dettagli

PRIMO MODULO. DURATA: 80 ore CONTENUTI

PRIMO MODULO. DURATA: 80 ore CONTENUTI 0 PRIMO MODULO DURATA: 80 ore CONTENUTI 1. Introduzione alla programmazione a. Cosa è la programmazione strutturata b. Strutture dati c. Come si affronta una problematica da risolvere d. Quali sono i passi

Dettagli

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Università di Ferrara Facoltà di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Tommaso Berlose: Giuseppe Cota: (Riccardo Zese: tommaso.berlose@student.unife.it giuseppe.cota@unife.it riccardo.zese@unife.it)

Dettagli

Università di Ferrara. Facoltà di Ingegneria. Esercitazioni di

Università di Ferrara. Facoltà di Ingegneria. Esercitazioni di Università di Ferrara Facoltà di Ingegneria Esercitazioni di Giuseppe Cota: Riccardo Zese: giuseppe.cota@unife.it riccardo.zese@unife.it 1 Orario delle lezioni Due turni da 3h00min in laboratorio, con

Dettagli

Usare e costruire oggetti. Concetti Fondamentali. Interfaccia Pubblica di una. Application Program Interface

Usare e costruire oggetti. Concetti Fondamentali. Interfaccia Pubblica di una. Application Program Interface Concetti Fondamentali Interfaccia pubblica di una classe Le API di Java Lo spazio di memoria della macchina astratta Java Blocchi e sottoblocchi Variabili di frame e loro visibilità Importazioni di classi

Dettagli

Capitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza

Capitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza I Sommario Prefazione xiii Capitolo 1 Introduzione alla programmazione 1 1.1 Hardware e software......................... 1 1.2 La programmazione......................... 4 1.2.1 I paradigmi di programmazione...............

Dettagli

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere

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

L oggetto creato. Creazione di Oggetti. Rectangle: il concetto 10. Costruzione. Lo spazio di memoria del linguaggio Java. Rectangle: l oggetto

L oggetto creato. Creazione di Oggetti. Rectangle: il concetto 10. Costruzione. Lo spazio di memoria del linguaggio Java. Rectangle: l oggetto Usare e costruire oggetti Variabili e Oggetti Lo spazio di memoria di Java Le API di Java Gli oggetti sono entità di un programma che si possono manipolare invocando i metodi System.out oggetto della classe

Dettagli

Concetti introduttivi

Concetti introduttivi Concetti introduttivi La programmazione Programma: sequenza di operazioni semplici (istruzioni e decisioni) eseguite in successione. Un programma indica al computer i passaggi da compiere per svolgere

Dettagli

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Informatica

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Informatica ISIS C. Facchinetti Sede: via Azimonti, 5-21053 Castellanza Tel. 0331 635718 fax 0331 679586 info@isisfacchinetti.gov.it https://isisfacchinetti.gov.it PIANO DI STUDIO DELLA DISCIPLINA Rev. 1.1 del 26/07/17

Dettagli

Metodi Avanzati di Programmazione Informatica Triennale-Brindisi Corrado Loglisci

Metodi Avanzati di Programmazione Informatica Triennale-Brindisi Corrado Loglisci INSEGNAMENTO ANNO ACCADEMICO CORSO DI LAUREA IN DOCENTE ANNO DI CORSO Metodi Avanzati di Programmazione 213-214 Informatica Triennale-Brindisi Corrado Loglisci II II SEMESTRE N CREDITI LEZIONI FRONTALI:

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Cosa è un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato Il

Dettagli

La programmazione ad oggetti: chiamate di metodi. Overloading. This

La programmazione ad oggetti: chiamate di metodi. Overloading. This ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.

Dettagli

Introduzione al corso. Obiettivo del corso

Introduzione al corso. Obiettivo del corso Università della Calabria Corso di Laurea in Ingegneria Elettronica Programmazione Orientata agli Oggetti A.A. 2006/2007 Introduzione al corso Paolo Trunfio * * DEIS, Università della Calabria http://si.deis.unical.it/~trunfio

Dettagli

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Università di Ferrara Facoltà di Ingegneria. Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Università di Ferrara Facoltà di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Lorenzo Campioni: Giuseppe Cota: (Riccardo Zese: lorenzo.campioni@student.unife.it giuseppe.cota@unife.it

Dettagli