Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento)
|
|
- Donato Antonini
- 6 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale M-Z A.A ESERCITAZIONE SUL TEST A SCATOLA BIANCA Versione definitiva
2 Obiettivo dell esercitazione Verificare la comprensione dei concetti principali del test a scatola bianca (copertura delle istruzioni, delle decisioni,...) su un programma Java di esempio di alcune decine di righe. Il programma scelto è quello del calcolo della data del giorno successivo, che: riceve da tastiera tre interi, che rappresentano un giorno, un mese ed un anno, e stampa sullo schermo la data successiva, secondo le regole del calendario gregoriano (quello in uso in Italia dal 4 ottobre 1582). Per semplicità, si assume che la data in input sia corretta (ad esempio, sono proibiti numeri negativi, numeri reali, date inesistenti,... ). Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
3 // File DataSuccessiva.java Programma in Java public class DataSuccessiva { public static void main (String[] args) { int giorno, mese, anno, giorni_del_mese = 0; System.out.println("Data (giorno, mese, anno)?"); giorno = InOut.readInt(); mese = InOut.readInt(); anno = InOut.readInt(); System.out.println("Il giorno successivo al "+ giorno+ / +mese+ / +anno+" e "); switch (mese) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: giorni_del_mese = 31; break; case 4: case 6: case 9: case 11: giorni_del_mese = 30; break; case 2: if ((anno % 4) == 0 && (anno % 400 == 0 anno % 100!= 0)) giorni_del_mese = 29; else giorni_del_mese = 28; } Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
4 } } if (giorno == giorni_del_mese) { giorno = 1; if (mese == 12) { mese = 1; anno = anno + 1; } else mese = mese + 1; } else giorno = giorno + 1; System.out.println(giorno + "/" + mese + "/" + anno);
5 Obiettivi specifici Progettare casi di test secondo i criteri di: 1. copertura delle istruzioni 2. copertura delle decisioni 3. copertura delle condizioni 4. copertura delle decisioni e delle condizioni 5. copertura tramite cammini Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
6 Obiettivo 1: copertura delle istruzioni Passi principali: 1. identificazione delle istruzioni nel testo del programma 2. costruzione del grafo di controllo del programma (senza rappresentazione delle condizioni) 3. progettazione dei casi di test secondo il criterio di copertura delle istruzioni 4. verifica della effettiva copertura Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
7 Obiettivo 1, passo 1: identificazione istruzioni // File DataSuccessiva2.java public class DataSuccessiva2 { public static void main (String[] args) { /* 1 */ int giorno, mese, anno, giorni_del_mese = 0; System.out.println("Data (giorno, mese, anno)?"); giorno = InOut.readInt(); mese = InOut.readInt(); anno = InOut.readInt(); System.out.println("Il giorno successivo al "+ giorno+ / + mese+ / +anno+" e "); /* 2 */ switch (mese) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: /* 3 */ giorni_del_mese = 31; break; case 4: case 6: case 9: case 11: /* 4 */ giorni_del_mese = 30; break; case 2: /* 5 */ if ((anno % 4) == 0 && (anno % 400 == 0 anno % 100!= 0)) /* 6 */ giorni_del_mese = 29; else /* 7 */ giorni_del_mese = 28; } Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
8 } } /* 8 */ if (giorno == giorni_del_mese) { /* 9 */ giorno = 1; /* 10 */ if (mese == 12) { /* 11 */ mese = 1; anno = anno + 1; } /* 12 */ else mese = mese + 1; } else /* 13 */ giorno = giorno + 1; /* 14 */ System.out.println(giorno + "/" + mese + "/" + anno);
9 Obiettivo 1, passo 2: costruzione grafo non bisestile 7 mese == 2 5 bisestile mese == 4,6,9, continua mese == 1,3,5,7,8,10,12 3 Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
10 Obiettivo 1, passo 2: costruzione grafo (2) mese == giorni == g d m 9 10 mese!= giorni!= g d m 13 Nota: la complessità ciclomatica di questo grafo è pari a 6. Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
11 Obiettivo 1, passo 3: progettazione casi test variabili di input variabile locale output previsto caso giorno mese anno giorni del mese C /1/2000 C /5/1999 C /2/2004 C /2/2003 Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
12 Obiettivo 1, passo 4: verifica copertura istruzione C1 C2 C3 C4 almeno un caso Ogni istruzione è coperta, abbiamo raggiunto l obiettivo 1 Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
13 Obiettivo 2: copertura delle decisioni Passi principali: 0. le decisioni del programma sono identificate da alcuni degli archi del grafo di controllo del programma (quelli uscenti dai nodi con outdegree > 1) 1. verifica se i casi di test precedenti (C1-C4) coprano le decisioni (a) in caso affermativo, abbiamo terminato (b) in caso negativo, è necessaria: i. la progettazione dei casi di test secondo il criterio di copertura delle decisioni ii. la verifica della effettiva copertura Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
14 Obiettivo 2, passo 1: verifica copertura decisione C1 C2 C3 C4 almeno un caso Ogni decisione è coperta, abbiamo raggiunto l obiettivo 2 Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
15 Obiettivo 3: copertura delle condizioni Passi principali: 1. identificazione delle condizioni nel testo del programma 2. costruzione del grafo di controllo del programma con rappresentazione delle condizioni 3. verifica se i casi di test precedenti (C1-C4) coprano le condizioni 4. eventuale riprogettazione dei casi di test Nota: i passi 3 e 4 verranno raffinati in seguito Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
16 Obiettivo 3, passo 1: identificazione condizioni // File DataSuccessiva3.java public class DataSuccessiva3 { public static void main (String[] args) { /* 1 */ int giorno, mese, anno, giorni_del_mese = 0; System.out.println("Data (giorno, mese, anno)?"); giorno = InOut.readInt(); mese = InOut.readInt(); anno = InOut.readInt(); System.out.println("Il giorno successivo al "+ giorno+ / + mese+ / +anno+" e "); /* 2 */ switch (mese) { /* A */ case 1: /* B */ case 3: /* C */ case 5: /* D */ case 7: /* E */ case 8: /* F */ case 10: /* G */ case 12: /* 3 */ giorni_del_mese = 31; break; /* H */ case 4: /* I */ case 6: /* J */ case 9: /* K */ case 11: /* 4 */ giorni_del_mese = 30; Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
17 } } break; case 2: /* 5 */ if (/* L */ (anno % 4) == 0 && (/* M */ anno % 400 == 0 /* N */ anno % 100!= 0)) /* 6 */ giorni_del_mese = 29; else /* 7 */ giorni_del_mese = 28; } /* 8 */ if (giorno == giorni_del_mese) { /* 9 */ giorno = 1; /* 10 */ if (mese == 12) { /* 11 */ mese = 1; anno = anno + 1; } /* 12 */ else mese = mese + 1; } else /* 13 */ giorno = giorno + 1; /* 14 */ System.out.println(giorno + "/" + mese + "/" + anno);
18 Obiettivo 3, passo 2: costruzione grafo Occorre ricostruire alcune parti del grafo di controllo visto in precedenza, in maniera che vengano rappresentate tutte le condizioni. In particolare, vanno ricostruiti: il sottografo comprendente i nodi {5,6,7,8} il sottografo comprendente i nodi {2,3,4,5} Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
19 Obiettivo 3, passo 2: costruzione grafo (2) Il sottografo comprendente i nodi {5,6,7,8} va ricostruito tenendo conto della valutazione di corto circuito degli operatori booleani presenti nella decisione 5 5L T M F F T 7 6 N F T Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
20 Obiettivo 3, passo 2: costruzione grafo (3) Il sottografo comprendente i nodi {2, 3} va ricostruito tenendo conto delle etichette di case multiple 1 2A mese!=1!=3 B C!=5 D!=7 E!=8 F!=10 G 3 ==1 ==3 ==5 ==7 ==8 ==10 ==12 mese!=12 H nel grafo successivo Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
21 Obiettivo 3, passo 2: costruzione grafo (4) Il sottografo comprendente i nodi {3, 4} va ricostruito tenendo conto delle etichette di case multiple nel grafo precedente mese!=12 G H!=4!=6!=9 I J K!=11 5L ==4 ==6 ==9 ==11 4 Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
22 Obiettivo 3: copertura delle condizioni (2) Le condizioni del programma sono identificate da alcuni degli archi nuovi introdotti con la ricostruzione del grafo (quelli uscenti dai nodi con outdegree > 1) Raffinamento dei passi 3 e 4: 3. verifica se i casi di test precedenti (C1-C4) coprano le condizioni; in caso affermativo, abbiamo terminato, in caso negativo, è necessario il passo successivo 4. riprogettazione dei casi di test Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
23 Obiettivo 3, passo 3: verifica copertura Verifichiamo la copertura dei nuovi archi uscenti dai nodi L, M, N (introdotti con la ricostruzione del grafo) condizione L-7 L-M M-N M-6 N-6 N-7 C1 C2 C3 C4 almeno un caso NO NO Due condizioni non sono coperte Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
24 Obiettivo 3, passo 3: verifica copertura (2) Verifichiamo la copertura dei nuovi archi uscenti dai nodi A, B, C, D, E, F, G, H (introdotti con la ricostruzione del grafo) condizione A-3 A-B B-3 B-C C-3 C-D D-3 D-E E-3 E-F F-3 F-G G-3 G-H C1 C2 C3 C4 almeno un caso NO NO NO NO NO NO Sei condizioni non sono coperte Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
25 Obiettivo 3, passo 3: verifica copertura (3) Verifichiamo la copertura dei nuovi archi uscenti dai nodi H, I, J, K (introdotti con la ricostruzione del grafo) condizione G-H H-4 H-I I-4 I-J J-4 J-K K-4 K-5 C1 C2 C3 C4 almeno un caso NO NO NO Tre condizioni non sono coperte Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
26 Obiettivo 3, passo 4 Per rendere più semplice il raggiungimento degli obiettivi 3 e 4, progettiamo casi di test per la copertura di tutti gli archi del grafo di controllo con rappresentazione delle condizioni tramite cammini opportuni. In altre parole, passiamo direttamente all obiettivo 5. Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
27 Obiettivo 5: copertura tramite cammini Passi principali: 1. progettazione dei cammini ricoprenti e dei relativi casi di test 2. verifica della effettiva copertura Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
28 Obiettivo 5, passo 1: progettazione cammini I cammini corrispondenti ai quattro casi di test visti in precedenza sono: variabili di input output cammino caso giorno mese anno previsto C /1/ B-C-D-E-F-G C /5/ B-C-D-E-F-G-H C /2/ B-C-D-E-F-G-H-I-J-K-L-M-N C /2/ B-C-D-E-F-G-H-I-J-K-L Per quanto riguarda la progettazione dei nuovi cammini, i criteri da prendere in considerazione sono i seguenti: 1. Per coprire i nuovi archi uscenti dai nodi A-K, dobbiamo prevedere un cammino per ognuno dei nove mesi non considerati in C1-C4. 2. Per coprire i nuovi archi uscenti dai nodi M ed N, dobbiamo prevedere un cammino per ognuna delle due tipologie di anno bisestile non considerate in C1-C4. Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
29 Obiettivo 5, passo 1: progettazione cammini (2) Per il soddisfacimento dei due criteri esposti in precedenza, i cammini proposti sono i seguenti: variabili di input output cammino caso giorno mese anno previsto C /1/ A C /3/ A-B C /5/ A-B-C C /7/ A-B-C-D C /8/ A-B-C-D-E C /10/ A-B-C-D-E-F C /6/ A-B-C-D-E-F-G-H-I C /9/ A-B-C-D-E-F-G-H-I-J C /11/ A-B-C-D-E-F-G-H-I-J-K C /2/ A-B-C-D-E-F-G-H-I-J-K-L-M C /3/ A-B-C-D-E-F-G-H-I-J-K-L-M-N Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
30 Obiettivo 5, passo 2: verifica copertura La verifica che i cammini/casi di test C1-C15 ricoprano tutti gli archi del grafo di controllo con rappresentazione delle condizioni viene lasciata per esercizio. Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
31 Esercizi Progettare casi di test, utilizzando la metodologia vista, per i programmi descritti nel seguito. 1. Il programma Java per il calcolo del massimo comun divisore (cfr. esercizio 5 dei lucidi su Complessità ciclomatica ). 2. Il programma Java per la classificazione dei triangoli, nelle due versioni degli esercizi 11 e 12 dei lucidi su Complessità ciclomatica. 3. Un programma Java (da scrivere) che acquisisca da tastiera tre interi che rappresentano giorno, mese ed anno e determini se essi corrispondono effettivamente ad una data del calendario gregoriano (ovvero non precedente al 4 ottobre 1582). Ad esempio, 31, 4, 2000 e -2, 4, 2000 non corrispondono a date. Ing. del SW: Esercitazione test scatola bianca. Marco Cadoli. Univ. La Sapienza. A.A
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo
DettagliUniversità degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento)
Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale M-Z A.A. 2005-06 USO DEL FRAMEWORK JUNIT
DettagliCorso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1
Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliDecomposizione per scelta
Decomposizione per scelta T C F P1 P2 Codifica if ( C ) T C F P1 P1 P2 else P2 C : condizione da verificare (espressione booleana a valore VERO/FALSO). Parentesi obbligatorie P1 : istruzione da eseguire
DettagliLaboratorio di Programmazione Ottobre. Simone Zaccaria
Laboratorio di Programmazione 27 31 Ottobre Simone Zaccaria Esercizio di Ripasso Scrivere un programma che: 1. dichiari 2 variabili a e b; 2. inizializzi le 2 variabili con valori numerici a scelta; 3.
Dettagli5 - Istruzioni condizionali
5 - Istruzioni condizionali 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
DettagliLe 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
DettagliUniversità 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
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)
DettagliSAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica
SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso
DettagliSOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria
Sapienza - Università di Roma Facoltà di Ingegneria Requisiti Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07 Compito
DettagliSAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica
SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso
DettagliSOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.)
SAPIENZA Università di Roma Facoltà di Ingegneria Sede di Latina Corso di Laurea in Ingegneria Informatica e dell Informazione Requisiti Corso di PROGETTAZIONE DEL SOFTWARE Prof. Domenico Lembo A.A. 2008-09
DettagliUn esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
DettagliUniversità di Roma La Sapienza Facoltà di Ingegneria
Università di Roma La Sapienza Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Ing. Informatica) Prof. Marco Cadoli, Canale A-L, A.A. 2005-06 ESERCITAZIONE 1: INTRODUZIONE ALLA PROGETTAZIONE
DettagliMetodi statici. Dichiarazione e chiamata di metodi statici
Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
DettagliEsercizi su analisi sintattica e JavaCC
Linguaggi per il Web prof. Riccardo Rosati corso di Laurea in Ingegneria Informatica Sapienza Università di Roma, a.a. 2013/2014 Esercizi su analisi sintattica e JavaCC Esercizio 1 Si consideri il frammento
DettagliDall analisi alla codifica (1)
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema
DettagliIndice. 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
DettagliLaboratorio di Matematica e Informatica 1
Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
DettagliInformatica I. Ingegneria Medica. Prof. Diego Salamon
Informatica I Ingegneria Medica Prof. Diego Salamon Gestione I/O Prof. Diego Salamon Introduzione Nella creazione e gestione del software è necessario interagire con entità esterne a quelle del programma
DettagliEsercitazione 2. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 2 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a gennaio 2012
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2011-12 16 gennaio 2012 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
Dettaglipublic static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2011-12 17 settembre 2012 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliIntroduzione all uso degli oggetti in Java (parte II) Walter Didimo
Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe
DettagliStudente (Cognome Nome):
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Terzo Scritto 7 Febbraio 2006 Si noti che le soluzioni ai quesiti saranno considerate valide
Dettagli1. MyAir. Analizzare anche i criteri funzionali
Esercizi di verifica: progettazione di casi di test usando criteri strutturali. 1. MyAir Si consideri il metodo stimalivelli, con la seguente specifica: dato un vettore di associati del club MyAir, restituisce
DettagliEccezioni. Comportamento di default (esempio) Propagazione delle eccezioni
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Eccezioni L esistenza di
DettagliInput / Output, Espressioni Condizionali e Cicli
LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Laboratorio di informatica LA Corso di laurea in Ingegneria Informatica - Anno Accademico 2007-2008 Input / Output, Espressioni Condizionali e
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011. Prof. Raffaele Nicolussi
Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
DettagliEsercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 5 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliCostrutti iterativi. Utilizzo dei costrutti iterativi
Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti
DettagliBasi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi
Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama
DettagliLaboratorio di Programmazione 1 [Java]
Laboratorio di Programmazione 1 [Java] Prova di esame - 26 Gennaio 2011 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Pizzeria. La classe Tavolo ha i seguenti attributi: nome (una
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni
DettagliFondamenti 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
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 22 luglio 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliSAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica
SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corsi di Laurea in Ingegneria Informatica ed Automatica ed Ingegneria
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 8 luglio 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
DettagliCorso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione
Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array
DettagliUnità B2.1. I tipi di dato
(A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: char int float double boolean short long String conversione implicita conversione esplicita (B) CONOSCENZA E COMPETENZA Rispondere
DettagliProgrammazione 1 A.A. 2015/2016
Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,
DettagliSintassi Java PA RTE 1 FONDAMEN TI DI I N FORMAT ICA PER IL CORSO DI LAUREA I N M AT EMAT ICA PA O L A L E C C A
Sintassi Java PA RTE 1 FONDAMEN TI DI I N FORMAT ICA PER IL CORSO DI LAUREA I N M AT EMAT ICA PA O L A L E C C A D I PA R T I M E N T O D I M AT E M AT I C A, U N I V E R S I TÀ D I T R E N TO paola.lecca@unitn.it
DettagliLezione 6 programmazione in Java
Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E04 Esercizi sui problemi di ordinamento C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Algoritmi di Ordinamento
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2016/ Giugno 2017
Cognome Matricola Nome Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2016/2017 12 Giugno 2017 Testo Il database del sistema di gestione delle prenotazioni dei voli
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliEsercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
DettagliLaboratorio di informatica Ingegneria Clinica. Esercitazione 2 10 Ottobre 2011
Laboratorio di informatica Ingegneria Clinica Esercitazione 2 10 Ottobre 2011 Istruzioni Istruzioni di Input/Output Istruzioni di assegnamento Istruzioni di controllo Permettono di modificare il flusso
DettagliEsercitazione 15. Il problema dello Sleeping Barber
Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2001/2002 Sistemi Operativi Corsi A e B Esercitazione 15 Il problema dello Sleeping Barber E dato un salone di barbiere,
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliEsercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
DettagliStudente (Cognome Nome):
Studente (Cognome ): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Primo Scritto 12 Gennaio 2007 Si noti che le soluzioni ai quesiti saranno considerate valide solo
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array 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 Corso di Laurea
DettagliProblemi, algoritmi e oggetti
Fondamenti di informatica Oggetti e Java Luca Cabibbo Capitolo 5 Marzo 2007 1 Fondamenti di informatica: Oggetti e Jav Contenuti... Problemi e algoritmi comprensione del problema identificazione di un
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni
DettagliLIA. LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L
LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L Corso di laurea in Ingegneria Chimica - Anno Accademico 2007-2008 Funzioni Esercizio 3.3 Si scriva un programma in linguaggio
DettagliFONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Prof. Zambonelli, Ing. Cabri, Ing. Denti, Ing. Andrea Aime Zambonelli,
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi.. 2010/2011 Sommario Conversione di tipo:casting Tipo enumerativo lgebra Booleana Esercizi Conversione di tipo:casting Il casting o conversione di tipo avviene
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 1) Dato un diagramma di flusso quali sono le condizioni necessarie perché si possa costruire un programma corrispondente?
DettagliLezione 3 programmazione in Java
Lezione 3 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Help in linea La selezione Il costrutto di scelta Espressioni logiche Esercizi
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
Dettagli7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
DettagliLe Stringhe. Usare la classe java.lang.string
Le Stringhe Usare la classe java.lang.string Classe java.lang.string (1/4) La classe String mette a disposizione dei metodi per effettuare operazioni su stringhe (sequenze di caratteri). Un oggetto di
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni 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 Corso
DettagliCollaudo del software
Collaudo del software Il software deve essere testato con il preciso scopo di trovare degli errori prima di essere consegnato al cliente Il collaudo è un insieme di attività pianificate per testare il
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliPolitecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.
Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato
DettagliFondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi
DettagliJava Gli array. Array
Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono
DettagliA.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica
O. BELLUZZ I - L. DA VINCI Prot.8480/6.3 del 05/07/2017 A.S. 2016-2017 Classe III H Informatica Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliCorso di Fondamenti di Informatica. Dispensa 3: Espressioni artimetico-logiche e costrutti di decisione. Prof. Domenico Rosaci
Corso di Fondamenti di Informatica Dispensa 3: Espressioni artimetico-logiche e costrutti di decisione Prof. Domenico Rosaci 2014-15 Esercizio 1: Scrivere un programma che chieda all'utente di inserire
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliIstruzioni semplici e strutturate
Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliEsercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf
Riassunto Esercitazione 3 Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Sono state introdotte anche le seguenti relazioni: uguaglianza:
DettagliLaboratorio di Programmazione. Programmini più complessi
Programmini più complessi AreaRettangolo.java /* AreaRettangolo calcola l area di un rettangolo */ public class AreaRettangolo { public static void main(string args[]) { int base=3; int altezza=4; System.out.print("L
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliPer gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.
Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.
DettagliProblema del cammino minimo
Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliINFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002.
INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002 Esercizio 4) import fiji.io.simplereader; class Programma{ public static
DettagliL input da tastiera in Java. Dott. Ing. M. Banci, PhD
L input da tastiera in Java Dott. Ing. M. Banci, PhD La lettura di un flusso di input in Java avviene attraverso l'oggetto in della classe System. System.in appartiene alla classe InputStream (letteralmente
DettagliLaboratorio di Programmazione 1 [Java]
Laboratorio di Programmazione 1 [Java] Prova di esame - 7 Settembre 2010 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Ristorante. La classe Tavolo ha i seguenti attributi: numero
DettagliEsempi di Problemi Iterativi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E07 C. Limongelli Dicembre 2011 1 Contenuti q Esercizi: Palindroma Anagramma Fibonacci 2 Palindroma q Scrivere un programma che
DettagliInformazioni generali
Informazioni generali Esercitazioni del corso di Fondamenti di informatica Tutor: Ing. Rughetti Diego Esercitazione: Giovedì 14.30-16.00 Tutoraggio: Giovedì 16.15-17.45 Contatto: rughettidiego@tiscali.it
DettagliLa fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Prof. Giuseppe De Giacomo & Monica Scannapieco Anno Accademico 2003/04 LA FASE DI PROGETTO E
DettagliInternazionalizzazione: il supporto alle culture locali. Internazionalizzazione: il supporto alle culture locali. Formattazione di numeri (1/3)
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Internazionalizzazione: il supporto alle
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
Dettagli