Академический Документы
Профессиональный Документы
Культура Документы
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Laboratorio di Programmazione II
Sommario
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Docente e Tutor
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Contatti Alessandro Farinelli Dipartimento di Informatica Ca Vignal 1 - Primo piano - Stanza 1.55 Tel. 0458027072 e-mail alessandro.farinelli@univr.it Ricevimento:
Mercoledi' 16:30 18:30 Su appuntamento tramite e-mail
Corso
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Dati del Corso Secondo modulo del corso di Algoritmi 64 ore di laboratorio 22 lezioni, 3 ore per lezione
Mercoledi' 10:30 13:30 Giovedi' 08:30 11:30
Esame
Laboratorio di Programmazione II
Modalit esame L'esame vale il 50% del voto dell'intero corso di Algoritmi Due modalit di esame: Prove parziali:
Prove parziali Esame singolo Valido solo per il primo appello che segue la ne delle lezioni (I appello di Febbraio) Prova al calcolatore (probabilmente ne Novembre) Progetto (svolgimento durante la lezione, presentazione orale a ne corso) voto nale = 50% progetto + 50% prova calcolatore Vale per qualsiasi sessione prova singola al calcolatore di dicolt pari alla somma delle dicolt delle prove parziali.
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Esame singolo
Pre-requisiti
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Conoscenze di base Conoscenza di base del linguaggio Java Capacit di editare compilare eseguire un sorgente java Conoscenza degli argomenti sviluppati nel modulo di teoria
Programma
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Programma del corso Basi Java Ricorsione Ordinamento Strutture dati ed algoritmi notevoli:
Strutture lineari (Pile, code, liste) Alberi Gra
Algoritmi notevoli per la bioinformatica (PDP, ricerca motivi regolatori, sottosequenza comune) Basi Matlab per analisi e visualizzazione dati
Materiale Didattico
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Accesso ai le Sito del corso codice Copiare i le in locale per modicarli
Il linguaggio Java
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Paradigmi di programmazione
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Principali paradigmi di programmazione si distinguono per l'enfasi che pongono sui due aspetti fondamentali: oggetti e operazioni.
: enfasi sulle operazioni intese come azioni/comandi/istruzioni; esempio: C, Pascal 2 funzionale: enfasi sulle operazioni intese come funzioni che calcolano risultati; esempio: Lisp, Prolog 3 orientato agli oggetti: enfasi sugli oggetti che complessivamente rappresentano il dominio di interesse; Java, C++ (quasi...)
1
imperativo
Maggior parte dei programmi mettono a disposizione strutture per realizzare diversi paradigmi
Il linguaggio Java
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Linguaggio Java alto livello orientato agli oggetti: tutto un oggetto! indipendente dalla piattaforma
costrutti del linguaggio risparmiano molta fatica al programmatore supporta i paradigmi imperativo e funzionale grazie ai concetti di bytecode e Virtual Machine
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
programma java
import java.lang.*; public class Semplice { public static void main(String[] args) { System.out.println("Questo un semplice programma Java."); } }
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Sorgente Java
.java
javac
Eseguibile Java
.class
Eseguibile Java
.class
java
Esecuzione
(processo)
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Errori
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Un programma errato
public class Errori { public static void main(String[] args) { System.out.println("Questi sono i miei primi errori Java") Sistem.out.println("...e non saranno gli ultm!!!"); } }
Tipi di Errori
Laboratorio di Programmazione II
Sintattici, Semantici e Logici Sintattici: violazione delle regole sintattiche del linguaggio Semantici, impossibilit di assegnare un signicato ad un'istruzione
esempio: Sistem.out.println(...); - errore di ortograa nella parola System a volte sono individuati dal compilatore (errori di semantica statica), altre volte sono individuati a tempo di esecuzione (errori di semantica dinamica) esempio: System.out.println(...) - manca il ';' sono individuati dal compilatore
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Logici, relativi alle funzionalit realizzate dal programma (dierenti da quelle desiderate)
esempio: System.out.println(...e non saranno gli ultm!!!); : la stringa da stampare non corretta individuati solo analizzando o eseguendo test di verica del programma
Riassunto
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Riassunto
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Java API
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Abstract Programming Interface documentazione per Java Java API documentazioni di classi, metodi e package noi utilizziamo la versione 1.6 standard edition
Oggetti e Metodi
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Oggetti in Java
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Utilizzare Oggetti Oggetti: entit manipolate dai programmi Ogni oggetto istanza di una classe La classe di appartenenza determina le operazioni eseguibili sull'oggetto Example (Utilizzo oggetti e metodi)
String s = ...; String r = s.toUpperCase(); System.out.println(r);
Creazione di oggetti
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Creazione Oggetti Per utilizzare un oggetto si deve prima crearlo Un oggetto si crea:
con l'istruzione new e l'invocazione al costruttore
Metodi in Java
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Metodi dati parametri in ingresso compie azioni o restituisce risultati Denizione di un metodo
Signature: nome, numero, tipo ed ordine dei parametri formali Corpo: sequenza di istruzione per realizzare l'operazione richiesta Tipo di ritorno: void se il metodo non ritorna nessun risultato altrimenti il tipo del risultato il metodo viene invocato su un oggetto si passano al metodo i parametri attuali in java si passano sempre riferimenti ad oggetti fanno eccezione i tipi primitivi (int, double, char, etc.)
Invocazione di un metodo
Metodi Statici
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Metodi Statici Metodi che non hanno un oggetto di invocazione Vengono richiamati specicando la classe a cui appartengono Example (metodi statici)
Math.max(a,b);
Input da tastiera
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Esercizio
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Concatena Stringhe Scrivere una classe ConcatenaStringhe che legge da input 4 stringhe, le concatena e stampa la stringa risultante. Soluzione: ConcatenaStringhe.java
Strutture di Controllo
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Selezione Semplice
Laboratorio di Programmazione II
Selezione Semplice
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Ciclo FOR
Laboratorio di Programmazione II
Ciclo a FOR
for (inizializzazione; condizione; incremento) istruzione
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Semanticamente equivalente a:
{
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Semanticamente equivalente a:
{
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Esercizi Cicli I
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Cicli I 1 Scrivere un programma che calcoli il numero di interi positivi inseriti da tastiera. Soluzione: NumeroInteriPositivi.java 2 Scrivere un programma che calcoli la media dei numeri reali inseriti da tastiera. Soluzione: MediaReali.java 3 Scrivere un programma che stampi il MCD di due numeri interi dati in input Soluzione: MassimoComunDivisore.java
considerare come possibile MCD il minimo dei due numeri e poi decrementare MCD no a che non divide esattamente entrambi i numeri in input.
Esercizi Cicli II
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Cicli II 4 Scrivere un programma che calcoli il massimo dei numeri reali inseriti da tastiera (assumere che venga inserito almeno un reale). Soluzione: MassimoReali.java 5 Scrivere un programma che stampi il massimo dei numeri reali inseriti da tastiera caso generale Soluzione: MassimoGenerale.java
utilizzare una variabile booleana per decidere se stato inserito almeno un dato valido
Cicli annidati
Laboratorio di Programmazione II
Il corpo di un ciclo pu contenere a sua volta un ciclo, chiamato ciclo annidato. possibile annidare un qualunque numero di cicli. Example (stampa della tavola pitagorica)
public class TavolaPitagorica { static final int NMAX = 10; public static void main (String[] args) { int riga, colonna; for (riga = 1; riga <= NMAX; riga++) { for (colonna = 1; colonna <= NMAX; colonna++) System.out.print(riga * colonna + " "); System.out.println(); }
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
dove l'altezza deve essere un parametro passato da input Soluzione:StampaAsterischi.java Scrivere un programma che produca la seguente stampa (l'altezza della piramide un dato passato da input):
* *** *****
trovare la relazione che lega il numero della riga ed il numero di spazi ed asterischi da stampare per ciascuna riga Soluzione: StampaPiramideAsterischi.java
Classi in Java
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Classi in Java
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Classe descrizione astratta dell'insieme di dati e delle funzioni che operano sugli stessi. denisce un'interfaccia pubblica (metodi che si possono chiamare) un'implementazione nascosta: codice e dati necessari per fare funzionare i metodi StudenteBase.java
Denizione di classi
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Campi privati mantengono informazioni rilevanti per ciascun oggetto che la classe rappresenta (rappresentazione interna) sono variabili che possono essere utilizzate (lettura/scrittura) da ciascun metodo della classe buona non renderli accessibili all'esterno
Denizione di Classi
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
metodi di accesso:
Denizione di Classi
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Metodi privati metodi non disponibili all'esterno utilizzati dalla classe per realizzare i servizi da esportare
Interfaccia e contratto
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Interfaccia Metodi pubblici della classe Una volta denita l'interfaccia si pu (ed buona norma farlo) immediatamente scriver un cliente della classe Esempio: ClienteStudenteBase.java Contratto I servizi esportati dai metodi pubblici Cosa i metodi pubblici realizzano non come lo realizzano
Esercizi Classi
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Esercizi Classi
Laboratorio di Programmazione II
Presentazione del Corso Il linguaggio Java Oggetti e Metodi Strutture di Controllo Classi in Java
Esercizi II Realizzare un metodo della classe Insegnamento.java che aggiunga un iscritto e restituisca il nuovo numero degli iscritti
int aggiungiIscritto()
Soluzione: Insegnamento.java
vericare il corretto funzionamento della classe Insegnamento eseguendo il metodo main della classe ClienteInsegnamento.java