Laboratorio di Ingegneria del Software Laboratorio di Ingegneria del Software Primo Incontro Titolare Prof. Pierluigi Sanpietro.

Slides:



Advertisements
Presentazioni simili
Estendere i linguaggi: i tipi di dato astratti
Advertisements

Informatica Recupero debito quarto anno Terzo incontro.
Recupero debito quarto anno Primo incontro Esercizi
5/11/2004Laboratorio di Programmazione - Luca Tesei1 Esercizi Su Progettazione e Implementazione di classi.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Java: programmazione concorrente con condivisione di memoria
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
Informatica Generale Marzia Buscemi
Esercitazione 2 Array, funzioni, form
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Esercizi di esonero (a.a. 2007/2008) Compito C, terzo esercizio Data una sequenza di caratteri s1 ed una stringa s2 diciamo che s1 è contenuta in s2 se.
Informatica A (informatica grafica) Allievi di Ingegneria Civile, L-Z
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.
Esercizio 4 Data una stringa P di lunghezza m e definita sullalfabeto, scrivere un programma PERL per calcolare la seguente funzione: PREFIX_FUNCTION:
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
Array Un array è una collezione in sequenza di variabili del medesimo tipo Riferimento con un nome comune Nome_studente1 Nome_studente2. Nome_studenteN.
Overriding.
Formule generali per il calcolo di superficie e volume di solidi a 2 basi Preparatevi all’esame di matematica e scienze, studiando queste pagine, rielaborate.
A.A. 2010/2011Ambienti di Programmazione per il Software di Base1 (Es. – 6) Ambienti di Programmazione per il Software di Base Le Stringhe in C Input.
Lezione 17 maggio 2007 Parametri da linea di comando FILE Strutture (introduzione)
Gli algoritmi.
Lezione VII Laboratorio di Programmazione. Simulazione esame Scrivere in C++ una funzione di nome RICERCA che, presi come parametri. un array A di numeri.
Dall’algoritmo al programma.
Triangoli e Poligoni al PC
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
Corso JAVA Lezione n° 11 Istituto Statale di Istruzione Superiore “F. Enriques”
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
Corso JAVA Lezione n° 12 Istituto Statale di Istruzione Superiore “F. Enriques”
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Sessione live Testing. Esercizio Quesito 1 Soluzione 1.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Programmazione ad oggetti
Dato un vettore di reali di dimensione DIM, si inseriscano N elementi presi da tastiera, si utilizzi 0 per terminare l’inserimento. Ordinare gli elementi.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
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.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 27 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
Formule generali per il calcolo di superficie e volume di solidi a 2 basi Preparatevi all’esame di matematica e scienze, studiando queste pagine, rielaborate.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Ripasso su Java. Introduzione Per risolvere problemi complessi, i linguaggi di programmazione forniscono costrutti per realizzare nuove funzioni che trasformino.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Liste Concatenate 11 Aprile E’ una delle strutture dati fondamentali in tutti i linguaggi di programmazione di alto livello Una Lista Concatenata.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Interpreti e compilatori
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
LIP: 4 Maggio 2007 Interfacce. Cos’e’ una Interfaccia una interfaccia e’ un particolare tipo di classe contiene solo la specifica non ha implementazione.
Fondamenti di informatica T-A Esercitazione 9 : Un tema d'esame AA 2012/2013 Tutor : Domenico Di Carlo.
Problemi, algoritmi e programmazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 L Aprile 2015 Marco D. Santambrogio – Gianluca Durelli -
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Frazioni e problemi.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Programmazione dei Calcolatori Elettronici
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Strutture di controllo
Cerchio.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Stringhe in Java. Definire una stringa. Definire una stringa in Java Il modo più semplice e diretto per creare un oggetto di tipo String è assegnare alla.
Condizioni decisionali e costrutto if. 2 Operatori relazionali e logici = Maggiore, maggiore uguale ==, != Uguale a, diverso.
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Metodi in Java. Note Identificazione input: (il raggio è un numero reale !!!) Identificazione delle operazioni necessarie al calcolo Area=r*r*PI Circonferenza=2*r*PI.
Introduzione alle Classi e agli Oggetti in Java 1.
NRD – Nucleo di Ricerca in Didattica della Matematica
Transcript della presentazione:

Laboratorio di Ingegneria del Software Laboratorio di Ingegneria del Software Primo Incontro Titolare Prof. Pierluigi Sanpietro

Laboratorio di Ingegneria del Software 2 Staff  Titolare del corso: prof. Pierluigi San Pietro  Responsabili di laboratorio: ing. Pierluigi Taddei ing. Alessandro Giusti ing. Davide Barbieri

Laboratorio di Ingegneria del Software 3 Descrizione del laboratorio  Le prime due lezioni sono dedicate a prendere confidenza con la programmazione ad oggetti e l’ambiente di sviluppo tramite la risoluzione di semplici esercizi Il responsabile e i tutors sono a disposizione per domande e problemi Si suggerisce di finire gli esercizi e le estensioni a casa. All’inizio del laboratorio successivo potete chiedere chiarimenti.  Le successive sei lezioni sono dedicate allo sviluppo del progetto di laboratorio Si suggerisce di iniziare questo blocco di lezioni con una buona conoscenza di Java per concentrarsi sugli aspetti più importanti del progetto

Laboratorio di Ingegneria del Software 4 Frequently asked questions  E’ possibile collaborare con il vicino di banco? Si, la collaborazione è necessaria!  Cosa succede se si perdono delle lezioni di laboratorio? Tecnicamente nulla, la presenza viene considerata per possibili arrotondamenti finali  Quando avverrà la valutazione? L’ultima lezione del laboratorio (15 giugno 2007) sarà interamente dedicata alla valutazione del progetto.  E se quel giorno non posso esserci? Se avete la possibilità fatevi valutare alla lezione precedente, altrimenti consegnate il codice entro il 15 giugno 2007 e verrete valutati su appuntamento in uno dei giorni immediatamente successivi

Laboratorio di Ingegneria del Software 5 Frequently asked questions  Il progetto può essere fatto in gruppo? Il progetto DEVE essere fatto in gruppo, al terzo incontro dovrete comunicare i vostri nomi.  Si può lavorare al progetto in tre? No, sono ammessi gruppi da due o al minimo una persona!  Il mio compagno è fuggito per le isole Fiji, posso unirmi ad un altro gruppo? Sono ammessi cambiamenti solo fino al quarto incontro. Da quel momento in poi i gruppi non sono più modificabili  Il venerdì pomeriggio faccio Karate, posso cambiare squadra e seguire il venerdì mattina? Qualunque cambiamento di squadra è ammesso solo se trovate qualcuno dell’altra squadra disposto a seguire il pomeriggio.

Laboratorio di Ingegneria del Software 6 La Classe Rettangolo  Costruisce un oggetto che rappresenta un Rettangolo, la cui base e altezza hanno le lunghezze fornite tramite il primo e il secondo parametro del costruttore  La Classe dispone di seguenti metodi: ügetArea restituisce l'area del Rettangolo rappresentato dall'oggetto che esegue il metodo ügetPerimetro restituisce il perimetro del Rettangolo rappresentato dall'oggetto che esegue il metodo üequals confronta il Rettangolo rappresentato dall'oggetto che esegue il metodo, con il rettangolo di cui viene fornito il riferimento tramite il parametro, restituendo true se sono uguali

Laboratorio di Ingegneria del Software 7 La Classe Rettangolo haAreaMaggiore restituisce true se l'area del Rettangolo rappresentato dall'oggetto che esegue il metodo è maggiore di quello del rettangolo di cui viene fornito il riferimento tramite il parametro haPerimetroMaggiore restituisce true se il perimetro del Rettangolo rappresentato dall'oggetto che esegue il metodo è maggiore di quello del rettangolo di cui viene fornito il riferimento tramite il parametro toString restituisce una stringa di caratteri che descrive il Rettangolo rappresentato dall'oggetto, come ad esempio "base = 5.1, altezza = 4.3" getBase restituisce la base del Rettangolo rappresentato dall'oggetto getAltezza restituisce l'altezza del Rettangolo rappresentato dall'oggetto

Laboratorio di Ingegneria del Software 8 Uso della Classe Rettangolo  Scrivere un'applicazione per determinare il rettangolo con area maggiore in una sequenza di rettangoli fornite da tastiera.  Il metodo main dell'applicazione si basa su due fasi: üLettura dei Dati üComunicazione del risultato

Laboratorio di Ingegneria del Software 9 La Classe Quadrato  Costruisce un oggetto che rappresenta un Quadrato, la cui lato ha la lunghezza fornito tramite il parametro del costruttore  La Classe dispone di seguenti metodi: ügetArea restituisce l'area del Quadrato rappresentato dall'oggetto che esegue il metodo ügetPerimetro restituisce il perimetro del Quadrato rappresentato dall'oggetto che esegue il metodo üequals confronta il Quadrato rappresentato dall'oggetto che esegue il metodo, con il Quadrato di cui viene fornito il riferimento tramite il parametro, restituendo true se sono uguali

Laboratorio di Ingegneria del Software 10 La Classe Quadrato haAreaMaggiore restituisce true se l'area del Quadrato rappresentato dall'oggetto che esegue il metodo è maggiore di quello del Quadrato di cui viene fornito il riferimento tramite il parametro haPerimetroMaggiore restituisce true se il perimetro del Quadrato rappresentato dall'oggetto che esegue il metodo è maggiore di quello del Quadrato di cui viene fornito il riferimento tramite il parametro toString restituisce una stringa di caratteri che descrive il Quadrato rappresentato dall'oggetto, come ad esempio “lato = 5.1" getLato restituisce la lato del Quadrato rappresentato dall'oggetto

Laboratorio di Ingegneria del Software 11 Uso della Classe Quadrato  Scrivere un'applicazione per determinare il Quadrato con area maggiore in una sequenza di Quadrati fornite da tastiera.  Il metodo main dell'applicazione si basa su due fasi: üLettura dei Dati üComunicazione del risultato

Laboratorio di Ingegneria del Software 12 La Classe Cerchio  Costruisce un oggetto che rappresenta un Cerchio, la cui raggio ha la lunghezza fornito tramite il parametro del costruttore  La Classe dispone di seguenti metodi: ügetArea restituisce l'area del Cerchio rappresentato dall'oggetto che esegue il metodo ügetCirconfrenza ügetPerimetro restituisce la circonferenza del Cerchio rappresentato dall'oggetto che esegue il metodo üequals confronta il Cerchio rappresentato dall'oggetto che esegue il metodo, con il Cerchio di cui viene fornito il riferimento tramite il parametro, restituendo true se sono uguali

Laboratorio di Ingegneria del Software 13 La Classe Cerchio haAreaMaggiore restituisce true se l'area del Cerchio rappresentato dall'oggetto che esegue il metodo è maggiore di quello del Cerchio di cui viene fornito il riferimento tramite il parametro haPerimetroMaggiore restituisce true se il perimetro del Cerchio rappresentato dall'oggetto che esegue il metodo è maggiore di quello del Cerchio di cui viene fornito il riferimento tramite il parametro toString restituisce una stringa di caratteri che descrive il Quadrato rappresentato dall'oggetto, come ad esempio “raggio = 5.1" getRaggio restituisce il raggio del Cerchio rappresentato dall'oggetto

Laboratorio di Ingegneria del Software 14 Figura con Area maggiore üÉ molto piu’ intressante sviluppare applicazioni in grado di trattare sia rettangoli, quadrati e cerchi. üIn grado di ricevere i dati relativi a una sequenza contenente rettangoli, quadrati cerchi e determinare quale tra essi abbia area maggiore.

Laboratorio di Ingegneria del Software 15 Uso della Classe Cerchio  Scrivere un'applicazione per determinare il Cerchio con area maggiore in una sequenza di Cerchi fornite da tastiera.  Il metodo main dell'applicazione si basa su due fasi: üLettura dei Dati üComunicazione del risultato

Laboratorio di Ingegneria del Software 16 Schema UML per l’esercizio 1

Laboratorio di Ingegneria del Software 17 Esercizio 2  Basandosi sul diagramma nella slide seguente:  Implementare le classi  Nel main istanziare alcune istanze di Dirigenti e Segretarie, Universitari e Scolastici,  Stampare per ciascuno nome cognome codice fiscale e stipendio (per I lavoratori), tasse (per gli studenti)

Laboratorio di Ingegneria del Software 18 Schema UML per l’esercizio 2

Laboratorio di Ingegneria del Software 19 Esercizio 2  Variante 1 Modificare l'esercizio inserendo un metodo astratto stampa in persona. Questo metodo deve stampare nome cognome CF e stipendio (per i lavoratori), tasse (per gli studenti) Nel main inserire un array di Persone e riempirlo con Dirigenti e Segretarie, Universitari e Scolastici, Stampare per ciascuno usando il metodo stampa  Variante 2 Modificare l'esercizio togliendo il metodo astratto stampa in persona. Questo metodo deve stampare nome cognome CF e stipendio (per i lavoratori), tasse (per gli studenti) Nel main inserire un array di Persone e riempirlo con Dirigenti e Segretarie Universitari e Scolastici, Stampare per ciascuno nome cognome CF e stipendio (per i lavoratori), tasse (per gli studenti) Attenzione alla stampa (bisogna usare l’operatore instanceof...)