Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: [email protected] telefono: 0432 558676 ricevimento: su appuntamento prima o dopo le lezioni Organizzazione delle lezioni Verranno fatte 6 lezioni di laboratorio da 3 o 4 ore ogni due settimane: o il mercoledì 8:00–11:00 o il giovedì 12:00-18:00 le date verranno comunicate di volta in volta e saranno aggiornate nella home page Finalità del corso - imparare a programmare al calcolatore - mettere in pratica quanto spiegato in teoria - implementare algoritmi Come? Facendo taaaaanti esercizi! Perché seguire queste lezioni? A scelta fra: - per poter passare l'esame - per passare il tempo - per imparare qualcosa di nuovo - per imparare qualcosa di nuovo che potrebbe servire per il vostro futuro Leitmotiv / Mantra PROVARE E RIPROVARE Come dovrebbe essere la programmazione? SCRIVI CODICE → ESEGUI → FUNZIONA → FINE Come è realmente la programmazione? SCRIVI COMPILA TROVA ERRORI ESEGUI La ricetta Serve: - un pizzico di conoscenza - determinazione - pazienza q.b. - un sacco di pratica - un buon ambiente di lavoro IDE Integrated Development Environment Un ambiente di sviluppo permette di automatizzare e semplificare compilazione, esecuzione e debugging. Compilazione: a partire dal codice sorgente viene creato un programma eseguibile(*). Esecuzione: il programma viene eseguito dal calcolatore. Debugging: durante l'esecuzione si può analizzare il comportamento delle variabili per identificare I bug. (*) in realtà viene creato un “Java byte-code” che viene eseguito da un interprete Java. IDE Esistono molti IDE: - Eclipse https://eclipse.org/ - Netbeans http://netbeans.org/ - DrJava http://drjava.org/ -… Personalmente uso e consiglio Eclipse, che può essere scaricato da qui: https://www.eclipse.org/downloads/packages/eclipse-idejava-developers/marsr JDK Per eseguire Eclipse, ma sopratutto per compilare ed eseguire i vostri codici Java, serve il Java Standard Edition Development Kit (JDK) http://www.oracle.com/technetwork/java/javase/download s/jdk8-downloads-2133151.html N.B. scaricate la versione JDK, non la versione JRE N.B. Probabilmente per gli utenti OSX non serve Uso di eclipse (1) Uso di eclipse (2) Uso di eclipse (3) Uso di eclipse (4) Uso di eclipse (5) Uso di eclipse (6) Uso di eclipse (7) Tipi primitivi in Java boolean char byte short int long float double valori che possono essere true e false i caratteri, sono di 16 bit interi di 8 bit con segno interi di 16 bit con segno interi di 32 bit con segno interi di 64 bit con segno reali di 32 bit in virgola mobile reali di 32 bit in virgola mobile Esempi di tipi primitivi in Java boolean b = true; char c = 'a'; byte x = -10; short t = -10000; int j = 7; long l = 10000; float f = 0.003; double d = -0.000004432; Commenti // Commento su una riga. int n = 3; // Si può commentare a dx del codice. /* * Questo è un commento * su più righe * <-- “spazio-asterisco-spazio” è facoltativo */ int n /* ammesso ma non usatelo!!! */ = 3; /** * Questo è un commento per Javadoc (documentazione * automatica del codice. * Notare il doppio asterisco nella prima riga. */ Esercizio (assegnamento) Scrivere un programma che dati base ed altezza di un triangolo, ne calcoli l'area. Hint: quale tipo di dato è meglio utilizzare? Esercizio Dati due numeri interi a e b, calcolare il quoziente e il resto della divisione (intera) di a con b. Hint: il quoziente è il risultato di / fra operandi ti dipo int, il resto è il risultato di % fra opeandi di tipo int. Una leggera modifica: Dati due numeri “reali” a e b, calcolare il quoziente e il resto della divisione (intera) di a con b. (hint: bisogna fare una conversione di tipo …). Esercizio Data base e altezza di un rettangolo, calcolare la lunghezza della diagonale. Hint: l'istruzione y = Math.sqrt(x); assegna ad y il valore della radice quadrata contenuta in x. Sfida: fare tutto in un'unica istruzione. Soluzioni? Le soluzioni degli esercizi di una lezione verranno presentate nella lezione successiva. In ogni caso cercate di fare gli esercizi: più che vedere la soluzione è importante provare a fare gli esercizi. Ulteriori esercizi Per chi non l'ha già fatto: provare ad utilizzare eclipse per compilare ed eseguire i programmi proposti dal prof. Omodeo.