Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Agenda

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Agenda"

Transcript

1 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Agenda 1. Creazione e test di un componente Frazione 2. Calcolo del codice fiscale 2

2 Componente Frazione (1/2) Realizzare un componente Frazione come tipo di dato astratto (ADT) progettato come tipo valore (una volta nata il suo valore è costante) dotato di una opportuna interfaccia che consenta di: Interfaccia di base Costruire una nuova frazione partendo da numeratore e denominatore Ottenere numeratore e denominatore della frazione Stabilire se la frazione è uguale ad una data Ottenere una rappresentazione stringa della frazione Ottenere una nuova frazione che rappresenti lo stesso valore in forma ridotta ai minimi termini 3 Componente Frazione (2/2) Interfaccia estesa Somma la frazione con un altra e restituisce una nuova frazione che rappresenta il risultato Moltiplicare la frazione con un altra e restituisce una nuova frazione che rappresenta il risultato Somma di un insieme di frazioni e restituisce una nuova frazione che rappresenta il risultato Moltiplicazione di un insieme di frazioni e restituisce una nuova frazione che rappresenta il risultato e di cui sia opportunamente verificato il funzionamento (il testing non è mai opzionale!!!) Verificare il corretto funzionamento di ogni singolo aspetto del componente. 4

3 Premessa (1/2) Due generiche frazioni n / m e p / q sono equivalenti se vale la seguente uguaglianza: n * q = m * p. ESEMPIO: 1/2 è equivalente a 3/6 e a 9/18 È possibile determinare la forma minima equivalente di una frazione data; cioè è possibile trasformare una frazione in un altra equivalente ed irriducibile. La riduzione ai minimi termini di una frazione si effettua dividendo il numeratore e il denominatore per il loro massimo comun divisore (M.C.D.) ESEMPIO: il M.C.D del numeratore e denominatore della frazione 14/8 è 2 la frazione ridotta ai minimi termini è 7/4 5 Premessa (2/2) Il M.C.D. di due numeri è il più grande numero positivo intero che li divide senza resto È possibile calcolare in modo efficiente il M.C.D. di due numeri utilizzando l algoritmo di Euclide L algoritmo funziona nel seguente modo: 1. Supponiamo che a e b siano i valori di cui calcolare il M.C.D. 2. Se il resto della divisione fra a e b è uguale a zero, b rappresenta il M.C.D. fra a e b 3. Se invece il resto è diverso da 0, si pone a = b e b = resto e si riparte dal punto 2 IMPORTANTE: in Java, il resto della divisione fra due numeri a e b si calcola attraverso l operatore % resto = a%b 6

4 Realizzazione del componente ADT si possono avere tante entità dello stesso tipo quante ne servono In C occorre definire una struct, un po di funzioni e occorre gestire l allocazione esplicita della memoria tramite malloc/free (funzioni di libreria) per creare nuove entità. In Java occorre definire una classe, un po di metodi e per creare nuove entità è sufficiente usare new (keyword di linguaggio); una volta terminato di usare il componente (nessun riferimento punta più ad esso), il garbage collector si occuperà della deallocazione. 7 Realizzazione del componente Stato del componente: è caratterizzato dai valori di numeratore e denominatore Interi Per costruire ci vuole un costruttore Prende in ingresso sufficienti valori e li imposta nello stato interno per far sì che, una volta costruita, la frazione sia in uno stato consistente almeno numeratore e denominatore altre situazioni? Se la frazione è negativa? È negativo il numeratore o il denominatore? E se sono negativi entrambi? Comunque siano i parametri in ingresso al costruttore, normalizziamo il tutto in modo che il segno sia conservato dal solo numeratore; il denominatore è sempre positivo. 8

5 Realizzazione del componente Per costruire ci vuole un costruttore Prende in ingresso sufficienti parametri per far si che una volta costruita la frazione sia in uno stato consistente almeno numeratore e denominatore altre situazioni? Una volta che tali valori sono dentro l entità, occorre poterli vedere da fuori Due accessor pubblici (getx) che consentano di ottenere numeratore e denominatore 9 Realizzazione del componente Per cambiare numeratore e denominatore GIAMMAI, sarebbe un suicidio informatico! Sarebbe come dire che il numero 3 vale cinque e non più tre Piuttosto si può fare in modo che un riferimento ad una frazione punti non più alla frazione che vale 1/3 ma ad un altra che vale 1/5 Poi, come si può avere la certezza che la frazione non sia condivisa? Sarebbe un dramma 10

6 Realizzazione del componente Rappresentazione in stringa (metodo tostring) Un metodo che non ha in ingresso alcun parametro poiché fornisce una rappresentazione dello stato interno dell entità nel caso specifico il suo valore Test di uguaglianza/equivalenza (metodo equals) Un metodo che prende in ingresso un altra frazione ed indica se la frazione presa in ingresso uguale a quella su cui è stato invocato il metodo In questo modo, il concetto di uguaglianza è definito dal programmatore Nel caso specifico uguale significa equivalente 3/12 equivale a ¼ Riduzione ai minimi termini (metodo riduzioneminimitermini) Restituisce una nuova frazione senza alterare quella su cui è stato invocato il metodo Si tratta di valori costanti! 11 Test del componente Verificare il funzionamento di ogni parte Costruire la frazione Verificare che i metodi accesso restituiscano i valori attesi Verificare che il metodo tostring restituisca la rappresentazione attesa Verificare che il metodo riduzioneminimitermini restituisca la frazione attesa Costruire altre frazioni e verificare che il metodo equals si comporti nel modo atteso 12

7 Domanda La funzione relativa al calcolo dell MCD è un metodo della classe Frazione? Si consideri che: Il calcolo dell MCD non serve solo per l ADT Frazione ma anche in altri contesti Il calcolo dell MCD non ha necessità di uno stato Il calcolo dell MCD è un metodo statico e pubblico di una classe di servizio (MyMath) 13 MyMath public final class MyMath public static int mcd(int a, int b) int resto; if (b > a) int tmp = a; a = b; b = tmp; do resto = a % b; a = b; b = resto; while (resto!= 0); return a; 14

8 Frazione: stato e costruttori public class Frazione private int num, den; public Frazione(int num, int den) boolean negativo = num * den < 0; this.num = negativo? -Math.abs(num) : Math.abs(num); this.den = Math.abs(den); public Frazione(int num) this(num, 1); Frazione: accessors e minterms public int getnum() return this.num; public int getden() return den; public Frazione minterm() int mcd = MyMath.mcd(Math.abs(getNum()), getden()); int n = getnum() / mcd; int d = getden() / mcd; return new Frazione(n, d); 16

9 Frazione: equals e tostring public boolean equals(frazione f) return f.getnum() * getden() == f.getden() * getnum(); public String tostring() String frazione = ""; int num = getnum(); int den = getden(); if (getden() == 1) frazione += num; else frazione += num + "/" + den; return frazione; 17 MyMain public class MyMain public static void main(string[] args) Frazione frazione1 = new Frazione(3, 12); // 3/12 System.out.println("Creata la frazione " + frazione1); Frazione frazione2 = new Frazione(1, 4); // 1/4 System.out.println("Creata la frazione " + frazione2); Frazione frazione3 = new Frazione(4, 1); // 4 System.out.println("Creata la frazione " + frazione3); Frazione frazioneridotta = frazione1.minterm(); // 1/4 System.out.println("La frazione " + frazione1 + "... ridotta ai minimi termini diventa " + frazioneridotta + "\n"); 18

10 MyMain if (frazione1.equals(frazione2)) // true System.out.println("Le frazioni " + frazione1 + " e " + frazione2 + " sono equivalenti"); else System.out.println("Le frazioni " + frazione1 + " e " + frazione2 + " non sono equivalenti" + "\n"); if (frazione1.equals(frazione3)) // false System.out.println("Le frazioni " + frazione1 + " e " + frazione3 + " sono equivalenti"); else System.out.println("Le frazioni " + frazione1 + " e " + frazione3 + " non sono equivalenti" + "\n"); MyMain (valori negativi)... Frazione frazione4 = new Frazione(-1, 8); // -1/8 System.out.println("Creata la frazione " + frazione4); Frazione frazione5 = new Frazione(2, -3); // -2/3 System.out.println("Creata la frazione " + frazione5); Frazione frazione6 = new Frazione(-5, -7); // 5/7 System.out.println("Creata la frazione " +frazione6+"\n"); frazioneridotta = frazione5.minterm(); // -2/3 System.out.println("La frazione " + frazione5 + " ridotta ai minimi termini diventa " +frazioneridotta+ "\n"); 20

11 Estensione del componente Estendere la classe Frazione con le seguenti funzionalità: Somma di due frazioni Prodotto di due frazioni Somma di un insieme di frazioni Prodotto di un insieme di frazioni 21 Estensione del componente Come sono i metodi che realizzano le estensioni? Somma/Prodotto: vengono invocati su una frazione prendono in ingresso la frazione da sommare/moltiplicare restituiscono una nuova frazione risultato dell operazione Somma/Prodotto di un insieme di frazioni Non ha senso, sebbene sia possibile, che possano essere invocati su una frazione: Quale di quelle dell insieme? Per realizzare entrambi i metodi si sfruttino i metodi somma e prodotto È sensato che siano metodi statici! prendono in ingresso un array di frazioni Restituiscono una nuova frazione risultato dell operazione 22

12 Codice: somma e prodotto public class Frazione private int num, den;... public Frazione sum(frazione f) int n = this.num * f.den + this.den * f.num; int d = this.den * f.den; return new Frazione(n, d); public Frazione mul(frazione f) int n = this.num * f.num; int d = this.den * f.den; return new Frazione(n, d); 23 Codice: somma e prodotto su array di frazioni public static Frazione sum(frazione[] fs) Frazione tmp = new Frazione(0, 1); // Elemento neutro for (Frazione f : fs) tmp = tmp.sum(f); return tmp; public static Frazione mul(frazione[] fs) Frazione tmp = new Frazione(1, 1); // Elemento neutro for (Frazione f : fs) tmp = tmp.mul(f); return tmp; 24

13 Trattamento degli errori L attuale contratto di utilizzo prevede che colui che crea la Frazione è responsabile del risultato Creare una frazione con zero al denominatore è possibile ma prima o poi scoppia tutto Non è il massimo poiché il bug, in questo caso, è evidentemente a MONTE della costruzione mentre se ne subiscono le conseguenze a VALLE della stessa quando si usa la frazione Non avendo (ancora) un modo di interrompere brutalmente l esecuzione e di notificare al chiamante il problema, quali soluzioni si possono trovare? Ci vorrebbe qualcosa che verificasse i parametri PRIMA della costruzione Qualcosa cosa? Fatevi venire in mente Qualcosa e anche come 25 Calcolo del Codice Fiscale L algoritmo è semplice Basta conoscere bene gli strumenti Oggi verrà progettata la soluzione In laboratorio la implementerete 26

14 Codice Fiscale: Regole Riprendiamo le regole per il calcolo Cognome: le prime tre consonanti; se non bastano, le vocali; se non bastano ancora, una (o più) X ROSSI RSS SUN SNU WU WUX Nome: la prima, la terza e la quarta consonante; se non ci sono quattro consonanti, si usano le prime tre; se non bastano, si usano le vocali; se non bastano ancora, una (o più) X MARIO MRA GASTONE GTN 27 Codice Fiscale: Regole Anno: le ultime due cifre Mese: A, B, C, D, E, H, L, M, P, R, S, T dove A è Gennaio, T è Dicembre Giorno: Uomini: il numero del giorno Donne: il numero del giorno aumentato di 40 01/02/1978 (maschio) 78B01 25/12/1969 (femmina) 69T65 28

15 Codice Fiscale: Regole Comune di nascita: sigla che si trova su apposite tabelle: Bologna = A944 Reggio E. = H223 Alfonsine (RA) = A191 Jesi (AN) = E388 Ecc Carattere di controllo: Le cifre da 0 a 9 vengono sostituite dalle corrispondenti lettere da A a J si ottiene un codice composto di sole lettere Alle lettere di posto pari viene assegnato un valore da 0 a 25, pari alla loro posizione nell alfabeto (A = 0) Alle lettere di posto dispari viene assegnato un valore in base alla mappa: B A K P L C Q D R E V O S F T G U H M I N J W Z Y X Si sommano tutti i valori di cui sopra e si prende il risultato modulo Calcolo del Codice Fiscale: Progetto Per ognuna delle regole di cui sopra è bene predisporre un metodo diverso in modo da suddividere quindi semplificare il problema Tutti questi metodi faranno parte di una classe (è obbligatorio ) Per funzionare hanno bisogno di uno stato? NO! SONO METODI STATICI! Un metodo principale avrà il compito di coordinare il lavoro di tutti gli altri e dovrà essere visibile dall esterno (gli altri possono essere privati) Façade 30

16 Progetto: le mappe Nelle regole relative al mese e al carattere di controllo, viene utilizzata una mappa che consente di recuperare una lettera partendo da un numero Due possibilità: Array: char[] mappa = new char[] B, A, ; Stringa: String mappa = BAK ; In entrambi i casi la posizione di un carattere è il numero con cui si entra nella mappa Array: char c = mappa[numero]; Stringa: char c = mappa.charat(numero); Perché è meglio la stringa dell array? 31 Progetto: le mappe Una mappa speciale deve associare il nome del comune al relativo codice Metodo più stupido: creare una serie di if else per il confronto della stringa in ingresso coi nomi dei comuni gestiti; quando si trova il match, output del codice relativo Metodo meno stupido: creare un array di oggetti che rappresentino delle coppie Comune, Codice 32

17 Progetto: vocali e consonanti Come riconoscere vocali e consonanti? Ipotesi: nome e cognome sono di sole lettere (no altri caratteri) Si può creare un insieme (nel senso dato precedentemente) che contenga le sole vocali (sono di meno!) e supporre che ciò che non è vocale non può che essere consonante Ad esempio: String VOCALI = "AEIOU ; char[] vocali = new char[] A, E, I, O, U ; 33 omocodia? Se c è un problema di omocodia occorre applicare al codice già creato la regola corrispondente sostituendo le cifre numeriche, a partire da destra, con le lettere della mappa che segue: 0 L 1 M 2 N 3 P 4 Q 5 R 6 S 7 T 8 U 9 V Sostituire una cifra alla volta al bisogno Un metodo statico pubblico che prende in ingresso un codice fiscale e ne produce un altro dopo aver sostituito UNA cifra. 34

18 Interfaccia del componente Un metodo statico pubblico calcolacodicefiscale Input: cognome, nome, giorno mese e anno di nascita, comune di nascita, sesso Output: il codice fiscale Un metodo statico pubblico risolviomocodia Input: un codice fiscale Output: un codice fiscale 35 Metodi privati Metodi di utilità isconsonante: prende in ingresso un carattere e restituisce un booleano che indica se si tratta di una consonante Altro?? Metodi di trasformazione calcolacognome: prende in ingresso il cognome e restituisce tre lettere secondo la regola già espressa calcolanome: prende in ingresso il nome e restituisce tre lettere secondo la regola già espressa calcolaanno: prende in ingresso l anno e restituisce le ultime due cifre calcolamese: prende in ingresso il mese e restituisce un carattere calcolagiornosesso: prende in ingresso il giorno e il sesso e restituisce due cifre calcolacomune: prende in ingresso il comune e restituisce i relativo codice calcolacarcontrollo: prende in ingresso TUTTO il codice finora calcolato e restituisce il carattere di controllo corrispondente 36

19 Altri metodi L implementazione è: una regola = un metodo Alcune regole sarebbe bene spezzarle in metodi diversi per fattorizzare e semplificare ulteriormente Esempio: metodo che si occupa di aggiungere vocali o X nella codifica di nome/cognome (è uguale per entrambe le regole) 37

Agenda. Premessa (2/2) Premessa (1/2) Fondamenti di Informatica T2 Modulo 2. Ing. Elena Nardini Università di Bologna A.A.

Agenda. Premessa (2/2) Premessa (1/2) Fondamenti di Informatica T2 Modulo 2. Ing. Elena Nardini Università di Bologna A.A. Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Agenda 1. Creazione e test di un componente Frazione 2. Calcolo del codice fiscale Corso di Laurea in Ingegneria

Dettagli

Fondamenti di Informatica T2 Modulo 2 Lab 1. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Esercizio 1

Fondamenti di Informatica T2 Modulo 2 Lab 1. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Esercizio 1 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Lab Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Esercizio Ancora frazioni Creare il

Dettagli

Esercizio 1. Esercizio 1 - Soluzione. Esercizio 1. Esercizio 1 - Soluzione. Esercizio 1 - Soluzione. Fondamenti di Informatica T2 Modulo 2 Lab 1

Esercizio 1. Esercizio 1 - Soluzione. Esercizio 1. Esercizio 1 - Soluzione. Esercizio 1 - Soluzione. Fondamenti di Informatica T2 Modulo 2 Lab 1 Università egli Stui i Bologna Facoltà i Ingegneria Fonamenti i Informatica T Moulo Lab Corso i Laurea in Ingegneria Informatica Anno accaemico 008/009 Esercizio Ancora frazioni Creare il componente Frazione

Dettagli

ESERCIZIO: CODICE FISCALE

ESERCIZIO: CODICE FISCALE ESERCIZIO: CODICE FISCALE Problema: Scrivere un programma che, a partire dai dati anagrafici, calcoli il codice fiscale di una persona. Il C.F. è composto di 5 parti: tre lettere identificative del cognome

Dettagli

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a

Dettagli

19 - 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 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

Dettagli

Tecniche iterative. Walter Didimo

Tecniche iterative. Walter Didimo Tecniche iterative Walter Didimo Tecniche iterative In questa lezione svolgeremo alcuni esercizi di definizione di classi con metodi che usano istruzioni condizionali istruzioni iterative Gli esercizi

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Prova Intermedia Marzo 2011 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia La Prova Intermedia

Dettagli

Passaggio di parametri

Passaggio di parametri Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E06 Passaggio di parametri C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Passaggio di parametri 1 Contenuti

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Esercitazione 8 21 Novembre 2007 Funzioni in C Un programma C si compone di funzioni E' disponibile una collezione predefinita di funzioni che possono essere

Dettagli

Esercizio 1 - Componente Matrice (1/3) Esercizio 1 - Componente Matrice (3/3) Esercizio 1 - Componente Matrice (2/3)

Esercizio 1 - Componente Matrice (1/3) Esercizio 1 - Componente Matrice (3/3) Esercizio 1 - Componente Matrice (2/3) Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T Modulo - Lab Corso di Laurea in Ingegneria Informatica Anno accademico 008/009 - Componente Matrice (1/3) Realizzare

Dettagli

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 18 - Vettori 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 Corso di

Dettagli

Insiemi numerici. Alcune definizioni. La retta dei numeri

Insiemi numerici. Alcune definizioni. La retta dei numeri Insiemi numerici Q Z N 0 1 1 1 4 4 N = 0,1,,,4, = insieme dei numeri naturali Z = insieme dei numeri interi (formato dall unione dei numeri naturali e dei numeri interi negativi) Q = insieme dei numeri

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio 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[]

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Corso: 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

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

Passaggio di parametri

Passaggio di parametri Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E05 C. Limongelli Dicembre 2011 1 Contenuti q Passaggio di tipi primitivi q Passaggio di tipi riferimento: Stringhe q Passaggio

Dettagli

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la

Dettagli

Corso di Laurea Ingegneria Informatica

Corso di Laurea Ingegneria Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Esercizi di ripasso Carla Limongelli Gennaio 2012 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 04 Introduzione ai Tipi astratti di dato A. Miola Febbraio 2007 http://www.dia.uniroma3.it/~java/fondinf2/ Introduzione ADT 1

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione 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

Dettagli

ARRAY RESTITUITI DA FUNZIONI

ARRAY RESTITUITI DA FUNZIONI ARRAY RESTITUITI DA FUNZIONI Gli array Java possono essere restituiti come risultato di funzioni, come qualunque altro oggetto ESEMPIO int[] creatabellaquadrati(int n) ESEMPIO DI ARRAY RESTITUITO ESEMPIO

Dettagli

Le Frazioni. Esempio: il giorno è la settima parte della settimana 1 della settimana l ora è 1 del giorno il minuto è 1 dell ora il secondo è 1 60

Le Frazioni. Esempio: il giorno è la settima parte della settimana 1 della settimana l ora è 1 del giorno il minuto è 1 dell ora il secondo è 1 60 Le Frazioni si dice UNITA FRAZIONARIA il simbolo che rappresenta una delle parti uguali in cui è stata divisa una grandezza che si considera come unità o intero. 1\4 1\4 1\4 1\4 1 4 Esempio: il giorno

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe/array Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Esercizi su array di array

Esercizi su array di array Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E10 C. Limongelli Gennaio 2010 1 Contenuti Fusione di due array ordinati, con eliminazione di duplicati Verifica array bidimensionale

Dettagli

Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo

Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo TIPI DI DATO ASTRATTO Un tipo di dato astratto (ADT) definisce una categoria concettuale con le sue proprietà: una definizione di tipo implica un dominio, D un insieme di operazioni ammissibili su oggetti

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi 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

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione 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

Dettagli

Programmazione in Java (I modulo) Lezione 11: Metodi della classe Math

Programmazione in Java (I modulo) Lezione 11: Metodi della classe Math Programmazione in Java (I modulo) Lezione 11: Metodi della classe Math Dalla lezione scorsa... Ricordiamo cosa sono e come si definiscono i metodi statici Metodi static o metodi di classe Sono metodi che

Dettagli

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E11 Esercizi su array e array di array C. Limongelli Gennaio 2012 1 Contenuti Fusione di due array ordinati, con eliminazione di

Dettagli

System.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");

System.out.print(\tATTENZIONE: hi inserito un valore non valido!\n); Creare un applicazione console che dato l indice della borsa di Milano nel giorno precedente, calcola la variazione percentuale rispetto al valore dell indice del giorno corrente. import java.io.*; public

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi 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

Dettagli

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di

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

Java Le stringhe. Stringhe

Java Le stringhe. Stringhe Java Le stringhe 1 Le stringhe in Java In Java le stringhe non sono semplicemente array di caratteri terminati con zero come avviene in C In Java le stringhe sono oggetti appartenenti alla classe String

Dettagli

Tipi strutturati - struct

Tipi strutturati - struct Fondamenti di Programmazione A Appunti per le lezioni Gianfranco Rossi Tipi strutturati - struct Struttura dati (concreta) struct: sequenza di n elementi (n 0), rispettivamente di tipo t1,,tn (non necessariamente

Dettagli

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - 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

Dettagli

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

public 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

Dettagli

Preparazione allo Scritto di Programmazione

Preparazione allo Scritto di Programmazione Preparazione allo Scritto di Programmazione Informatica / Comunicazione Digitale A.A. 2013/2014 1. Una riga di testo è detta numerica se e solo se contiene più cifre che caratteri di altro genere. Ad esempio,

Dettagli

Java Gli array. Array

Java 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

Dettagli

JAVA GENERICS. Angelo Di Iorio Università di Bologna

JAVA GENERICS. Angelo Di Iorio Università di Bologna JAVA GENERICS Angelo Di Iorio Università di Bologna Tipi parametrici In diversi casi è utile definire classi che operano su tipi di dato diverso e implementano un comportamento comune e indipendente dal

Dettagli

Java Le stringhe. Stringhe

Java Le stringhe. Stringhe Java Le stringhe 1 Le stringhe in Java In Java le stringhe non sono semplicemente array di caratteri terminati con zero come avviene in C In Java le stringhe sono oggetti appartenenti alla classe String

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java. Prof. Angela Bonifati

Algoritmi di Ricerca. Esempi di programmi Java. Prof. Angela Bonifati Passaggio dei parametri in Java Nel seguente esempio public class parametri2 public static void main(string args[]) int x = 1; int y; double d[] = new double[2]; d[0] = 25; y= metodo1(d, x); System.out.println("Il

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

DEFINIZIONE. L unità frazionaria 1n (con n 0) rappresenta una sola delle n parti uguali in cui è stato diviso l intero.

DEFINIZIONE. L unità frazionaria 1n (con n 0) rappresenta una sola delle n parti uguali in cui è stato diviso l intero. L unità frazionaria DEFINIZIONE. L unità frazionaria n con n 0 rappresenta una sola delle n parti uguali in cui è stato diviso l intero. Sono unità frazionarie: ognuna di esse indica che l intero è stato

Dettagli

Esercitazione Fondamenti di informatica 2

Esercitazione Fondamenti di informatica 2 Esercitazione Fondamenti di informatica 2 Array ed Oggetti JAVA 13 marzo 2006 L oggetto atrice Realizzare una classe oggetto atrice. Lo stato dell oggetto Vettore, è rappresentato da un array di array

Dettagli

Stringhe ed Array. Fondamenti di Informatica A-K

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

Dettagli

9 - 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 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Object Oriented Programming: Fondamenti Prof. Stefano Mariani Dott. Alket Cecaj Indice Introduzione all OOP Classi vs. oggetti Campi

Dettagli

A1. Calcolo in Q. A1.1 Tabelline e potenze. A1.2 Scomposizione in fattori di numeri interi MCD e mcm

A1. Calcolo in Q. A1.1 Tabelline e potenze. A1.2 Scomposizione in fattori di numeri interi MCD e mcm A. Calcolo in Q Questo capitolo tratta argomenti che solitamente sono già stati svolti alle scuole medie ed elementari. Tali argomenti sono necessari per affrontare il programma delle scuole superiori.

Dettagli

La Ricorsione. Carla Binucci e Walter Didimo

La Ricorsione. Carla Binucci e Walter Didimo La Ricorsione Carla Binucci e Walter Didimo Definizione induttiva di funzioni Una funzione definita in modo induttivo è una funzione definita in termini di sé stessa ad esempio la funzione f(n) = n! (fattoriale

Dettagli

Gestione dei compiti

Gestione dei compiti 1 of 18 23/10/2006 103 Gestione dei compiti Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Domanda n. 1 Argomento: Logica booleana Domanda: Qual e' il risultato

Dettagli

//riferimento a una sequenza di oggetti della classe Importo

//riferimento a una sequenza di oggetti della classe Importo Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 29 novembre 2010 Negli esercizi fate riferimento alle

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso; Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione VIII Tatiana Zolo tatiana.zolo@libero.it 1 PROGRAMMAZIONE A OGGETTI Quando si programma a oggetti si scompone il problema in sottogruppi di parti collegate che tengono

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 20 febbraio 2012 TEMPO DISPONIBILE: 1 ora Negli

Dettagli

Vending Machine Problemi?

Vending Machine Problemi? Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Vending Machine Problemi? La riconfigurabilità

Dettagli

E7 Esercizi sul Capitolo 7 Realizzazione di Classi

E7 Esercizi sul Capitolo 7 Realizzazione di Classi E7 Esercizi sul Capitolo 7 Realizzazione di Classi Esercizio 1 (esercizio 7.1 del libro di testo). Nella classe Studente definita di seguito indicare le variabili d istanza, le variabili di classe e le

Dettagli

OOP in C++ ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi

OOP in C++ ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi OOP in C++ Classi e Oggetti Una classe èuntipochehavariabili ha membro (dati membro) e funzioni membro In Java i dati membro sono chiamati attributi e le funzioni membro metodi Una variabile ab di un tipo

Dettagli

14 - Metodi e Costruttori

14 - Metodi e Costruttori 14 - Metodi e Costruttori 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

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1 Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 23 27 novembre 2013

Dettagli

! Problemi, domande, risposte. ! Algoritmi che calcolano funzioni. ! Funzioni computabili e non. ! Problema = insieme di domande omogenee. !

! Problemi, domande, risposte. ! Algoritmi che calcolano funzioni. ! Funzioni computabili e non. ! Problema = insieme di domande omogenee. ! Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 24 26 maggio 2015!

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

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

Dettagli

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per 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.

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso 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

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:

Dettagli

Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73

Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73 Capitolo 9 Tipi enumerativi, tipi generici e interfacce c 2005 Pearson Education Italia Capitolo 9-1 / 73 Sommario: Tipi enumerativi, tipi generici e interfacce 1 Definizione di tipi enumerativi La classe

Dettagli

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61 Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso

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

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi 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

Dettagli

Tipi riferimento e stringhe

Tipi riferimento e stringhe Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 8 Tipi riferimento e stringhe A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Tipi riferimento e stringhe 1

Dettagli

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple.

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple. Domanda n. 1 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple 8-Nov-2004 Argomento: Rappresentazione dell'informazione

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 18. Iterazione. Maggio Iterazione

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 18. Iterazione. Maggio Iterazione Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 18 Maggio 2010 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica

Dettagli

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1 1) In un diagramma di flusso, la rappresentazione di un ciclo WHILE include sicuramente almeno:

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Facoltà di Ingegneria Clinica BCLR Dispense di Paolo Caressa e Raffaele Nicolussi. Lezione 5. Versione per Python 3. Docenti: Alberto Marchetti Spaccamela Raffaele Nicolussi

Dettagli

LICEO STATALE G.P. VIEUSSEUX. Classico, Scientifico e. Scientifico opzione scienze applicate

LICEO STATALE G.P. VIEUSSEUX. Classico, Scientifico e. Scientifico opzione scienze applicate 1. Utilizzando la codifica ASCII scrivi in binario le lettere a (minuscolo) e B (MAIUSCOLO) Ricordiamo che A = 65 B=66 ecco tutto l alfabeto di 26 lettere 65 66 67 68 69 70 71 72 73 74 75 76 77 A B C D

Dettagli

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io. Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.*; public class M1_13 { public static void main(string args[]) throws

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione

Dettagli

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore

Dettagli