Fondamenti di Programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Programmazione"

Transcript

1 Fondamenti di Programmazione Capitolo 12 Polimorfismo e ereditarietà Prof. Mauro Gaspari: gaspari@cs.unibo.it

2 Una classe tempo class Time: def init (self,hours=0,minutes=0,seconds=0): self.hours = hours self.minutes = minutes self.seconds = seconds def str (self): temp = str(self.hours)+':'+str(self.minutes) return = temp+':'+str(self.seconds) >>> time = Time(11,59,30) >>> print time 11:59:30

3 La funzione addtime La funzione addtime somma due tempi: si tratta di una funzione pura perché non modifica i suoi argomenti. def addtime(t1, t2): sum = Time() sum.hours = t1.hours + t2.hours sum.minutes = t1.minutes + t2.minutes sum.seconds = t1.seconds + t2.seconds return sum

4 Esempio: uso di addtime >>> currenttime = Time(9,14,30) >>> breadtime = Time(3,35,0) >>> donetime = addtime(currenttime, breadtime) >>> print donetime Domanda: La funzione addtime così definita, funziona sempre bene?

5 AddTime aggiornata def addtime(t1, t2): sum = Time() sum.hours = t1.hours + t2.hours sum.minutes = t1.minutes + t2.minutes sum.seconds = t1.seconds + t2.seconds if sum.seconds >= 60: sum.seconds = sum.seconds - 60 sum.minutes = sum.minutes + 1 if sum.minutes >= 60: sum.minutes = sum.minutes - 60 sum.hours = sum.hours + 1 return sum

6 Modificatori La funzione addtime è corretta ma ha il difetto di essere un po' lunga. Nel realizzare una funzione a volte può essere opportuno modificare uno o più degli oggetti utilizzati al fine di semplificarne il codice e renderla più efficiente. Queste funzioni tipicamente modificano gli argomenti che gli vengono passati e li restituiscono modificati. Le chiamiamo modificatori.

7 Esempio di modificatore def increment(time, seconds): time.seconds = time.seconds + seconds if time.seconds >= 60: time.seconds = time.seconds - 60 time.minutes = time.minutes + 1 if time.minutes >= 60: time.minutes = time.minutes - 60 time.hours = time.hours + 1 Funziona sempre bene questa funzione?

8 Incremento di un numero qualsiasi di secondi def increment(time, seconds): time.seconds = time.seconds + seconds while time.seconds >= 60: time.seconds = time.seconds - 60 time.minutes = time.minutes + 1 while time.minutes >= 60: time.minutes = time.minutes - 60 time.hours = time.hours + 1 Si può fare di meglio?

9 Osservazioni Quale dei due approcci è migliore? Tutto quello che in genere si può fare con una funzione pura si può anche fare con un modificatore. In genere i programmi basati su funzioni pure si realizzano più velocemente e sono meno soggetti ad errori. Mentre i programmi realizzati come modificatori a volte risultano essere più efficienti (usano meno memoria). Si consiglia di scrivere programmi funzionali quando è possibile e utilizzare i modificatori solo quando è particolarmente conveniente.

10 Sviluppo di prototipi Si scrive una prima versione del programma: prototipo che potrebbe non funzionare in alcuni casi. Si testa e si correggono eventuali errori. Questo approccio è effettivo e può essere utilizzato nella pratica, ma: il codice può risultare complicato perché deve trattare molti casi speciali (potrebbe non essere strettamente necessario). potrebbe inoltre essere inaffidabile, perché è impossibile controllare in modo esaustivo tutti i casi.

11 Un alternativa: pianificare lo sviluppo Si studia prima il problema con cura e poi si fornisce una soluzione. Ad esempio studiando il problema precedente si può osservare che: un oggetto tempo è dato da tre numeri in base 60. il componente secondi è la colonna dell'uno, i minuti sono quella 60 e le ore la colonna del addtime è quindi una somma in base 60.

12 Approccio alternativo per addtime Convertire il tempo in un numero e sfruttare la conoscenza sulla sua struttura per realizzare le operazioni. Questo numero rappresenta i secondi. def converttoseconds(t): minutes = t.hours * 60 + t.minutes seconds = minutes * 60 + t.seconds return seconds

13 Viceversa def maketime(seconds): time = Time() time.hours = seconds/3600 seconds = seconds - time.hours * 3600 time.minutes = seconds/60 seconds = seconds - time.minutes * 60 time.seconds = seconds return time

14 Nuova versione di addtime def addtime(t1, t2): seconds = converttoseconds(t1) + converttoseconds(t2) return maketime(seconds)

15 Osservazioni In un certo modo convertire da base 60 a base 10 e poi tornare indietro è più astratto e complicato che lavorare direttamente sul tempo che invece è intuitivo. L'idea ha però permesso di semplificare le operazioni rendendo il programma più corto e leggibile, con meno possibili errori. In questo modo sarà inoltre più facile aggiungere ulteriori caratteristiche in seguito. Quello che si vede è che se si rende un problema più difficile (o più generale) spesso si semplificano le cose, perché ci sono meno casi speciali e quindi meno opportunità di errore.

16 Algoritmi Quando si scrive una soluzione generale che funziona per una certa classe di problemi, si dice che si è scritto un algoritmo. Cosa è un algoritmo: moltiplicazione con tabellina? >NO moltiplicazione ripetendo la somma? >SI Un algoritmi è un processo meccanico, una serie di passi ben definiti che permettono di risolvere un certo problema.

17 Overloading di Operatori In alcuni linguaggi è possibile cambiare la definizione di alcuni operatori built in quando sono applicati a tipi definiti dall'utente. Questa caratteristica si definisce overloading di operatori (= operator overloading). Python supporta questa caratteristica. Ad esempio per modificare l'operatore somma ( + ) viene fornito il metodo denominato add.

18 Esempio: somma di punti. class Point: # previously defined methods here... def add (self, other): return Point(self.x + other.x, self.y + other.y) NB. per sommare due punti si crea un nuovo punto che contiene la somma e si restituisce direttamente.

19 Osservazioni Il primo parametro è self come accade sempre con i metodi. self corrisponde al primo parametro dell'operazione di somma e viene utilizzato per capire che metodo applicare, se è di tipo Point si applica il metodo add definito nella classe Point se esiste. >>> p1 = Point(3, 4) >>> p2 = Point(5, 7) >>> p3 = p1 + p2 >>> print p3 (8, 11)

20 Ancora su overloading P1 + P2 è equivalente a p1. add (p2) ovvero applica il metodo add all'oggetto p1. la notazione infissa è sicuramente più comoda. Ci sono diversi modi per fare override della moltiplicazione: definire un metodo mul ; definire un metodo rmul ; definirli entrambi.

21 Overloading per * def mul (self, other): return self.x * other.x + self.y * other.y def rmul (self, other): return Point(other * self.x, other * self.y) La prima definizione è analoga alla somma. La seconda si applica quando l'operatore a sinistra è di tipo primitivo e quello a destra è un punto. NB. ad other corrisponde un tipo che non può essere moltiplicato con un floating point il metodo da errore

22 Esempio >>> p1 = Point(3, 4) >>> p2 = Point(5, 7) >>> print p1 * p2 43 >>> print 2 * p2 (10, 14) >>> print p2 * 2 AttributeError: 'int' object has no attribute 'x' NB. il messaggio di errore non è molto illuminante!

23 Polimorfismo la maggior parte dei metodi che abbiamo visto lavorano solo su un tipo specifico. In genere quando si scrive un oggetto si scrivono metodi che operano su quell'oggetto. Ci sono però alcuni casi in cui la stessa operazione può essere applicata ad oggetti di tipo diverso come la somma che abbiamo visto.

24 Esempio >>> def multadd (x, y, z):... return x * y + z >>> multadd (3, 2, 1) 7 >>> p1 = Point(3, 4) >>> p2 = Point(5, 7) >>> print multadd (2, p1, p2) (11, 15) >>> print multadd (p1, p2, 1) 44

25 Funzioni polimorfe Una funzione che accetta parametri di tipo diverso si dice polimorfa (= polymorphic). def frontandback(front): import copy back = copy.copy(front) back.reverse() print str(front) + str(back) >>> mylist = [1, 2, 3, 4] >>> frontandback(mylist) [1, 2, 3, 4][4, 3, 2, 1]

26 Funzioni polimorfe Come si può capire se una certa funzione è applicabile ad un certo tipo? Ad esempio, come si fa a capire se la funzione appena definita si applica su un Point? Regola di polimorfismo: Se tutte le operazioni che appaiono dentro una funzione possono essere applicate ad oggetti di un certo tipo, allora quella funzione è applicabile ad oggetti di quel tipo.

27 Quindi? Per poter utilizzare la funzione frontandback è necessario che il tipo supporti le funzioni: copy, reverse e print. copy funziona su tutti gli oggetti. print funziona bene perché abbiamo già definito il metodo str. Quindi bisogna definire il metodo reverse nella classe point.

28 Esempio def reverse(self): self.x, self.y = self.y, self.x >>> p = Point(3, 4) >>> frontandback(p) (3, 4)(4, 3)

29 Composizione di oggetti È possibile comporre gli oggetti con altri tipi: creare liste di oggetti; creare oggetti che contengono liste; creare oggetti che contengono oggetti; dizionari di oggetti; etc..

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

Dettagli

Esercizi sulla conversione tra unità di misura

Esercizi sulla conversione tra unità di misura Esercizi sulla conversione tra unità di misura Autore: Enrico Campanelli Prima stesura: Settembre 2013 Ultima revisione: Settembre 2013 Per segnalare errori o per osservazioni e suggerimenti di qualsiasi

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI EXCEL Alfabetizzazione Informatica Prof. GIUSEPPE PATTI Operazioni base Excel è un programma che trasforma il vostro computer in un foglio a quadretti, così come Word lo trasformava in un foglio a righe.

Dettagli

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi Codifica dei Numeri Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi giacomo.boracchi@polimi.it Rappresentazione dei Numeri Codifica dei Numeri in Base 10 Le cifre che abbiamo a disposizione sono

Dettagli

Introduzione alle macchine a stati (non definitivo)

Introduzione alle macchine a stati (non definitivo) Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in

Dettagli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica Classi di istruzioni 2 Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da

Dettagli

Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica A.A.

Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica  A.A. Matematica e-learning - Gli Insiemi Prof. Erasmo Modica http://www.galois.it erasmo@galois.it A.A. 2009/2010 1 Simboli Matematici Poiché in queste pagine verranno utilizzati differenti simboli matematici,

Dettagli

EXCEL: FORMATTAZIONE E FORMULE

EXCEL: FORMATTAZIONE E FORMULE EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; EXCEL Modulo 3 I Grafici Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; Quando si crea un grafico ogni

Dettagli

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri

Dettagli

La codifica. dell informazione

La codifica. dell informazione La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

Matematica finanziaria

Matematica finanziaria Matematica finanziaria La matematica finanziaria studia le operazioni che riguardano scambi di somme di denaro nel tempo. Sono operazioni di questo tipo, ad esempio, l investimento di un capitale in un

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

Algebra di Boole Algebra di Boole

Algebra di Boole Algebra di Boole 1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Formattare il testo con gli stili

Formattare il testo con gli stili Formattare il testo con gli stili Capita spesso di dover applicare ripetutamente la stessa formattazione, o anche modificare il colore, le dimensioni e il tipo di carattere, per dare risalto a un testo.

Dettagli

I RADICALI QUADRATICI

I RADICALI QUADRATICI I RADICALI QUADRATICI 1. Radici quadrate Definizione di radice quadrata: Si dice radice quadrata di un numero reale positivo o nullo a, e si indica con a, il numero reale positivo o nullo (se esiste) che,

Dettagli

Compilazione on-line del Piano di Studio

Compilazione on-line del Piano di Studio Compilazione on-line del Piano di Studio 1 Indice 1. INTRODUZIONE E ACCESSO AL SISTEMA... 3 1.1. Accesso alla funzionalità... 3 2. COMPILAZIONE DEL PIANO DI STUDIO... 4 2.1. Struttura della procedura di

Dettagli

Oggetto: Utility per la variazione massiva del codice IVA.

Oggetto: Utility per la variazione massiva del codice IVA. Oggetto: Utility per la variazione massiva del codice IVA. Questa utility permette la variazione di massa dei codici IVA nelle anagrafiche articoli, clienti e fornitori e nei documenti significativi al

Dettagli

AE RZT QSO RKPT SQZC

AE RZT QSO RKPT SQZC Laboratorio di Informatica Lezione 1: Introduzione al corso Prof. Riccardo Cassinis Dott. Marzia Tassi Siete seduti nel posto giusto? AE RZT QSO RKPT SQZC PRFGE BERTSZ KDTVSU ZQRPDE 2 1 Prima di cominciare,

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

Espressioni ed Equazioni

Espressioni ed Equazioni Espressioni ed Equazioni Introduzione espressioni ed equazioni Espressioni Algebriche ed Equazioni: è qui che comincia il tuo lavoro. Si sta per iniziare a lavorare con le lettere dell'alfabeto, numeri

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

La divisione esatta fra a e b è l operazione che dati i numeri a e b (con a multiplo di b) permette di trovare un terzo numero c tale che c b = a.

La divisione esatta fra a e b è l operazione che dati i numeri a e b (con a multiplo di b) permette di trovare un terzo numero c tale che c b = a. Significato Significato della divisione esatta La divisione esatta fra a e b è l operazione che dati i numeri a e b (con a multiplo di b) permette di trovare un terzo numero c tale che c b = a. Descrivendo

Dettagli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato

Dettagli

Le quattro operazioni fondamentali

Le quattro operazioni fondamentali 1. ADDIZIONE Le quattro operazioni fondamentali Def: Si dice ADDIZIONE l operazione con la quale si calcola la somma; i numeri da addizionare si dicono ADDENDI e il risultato si dice SOMMA o TOTALE. Proprietà:

Dettagli

Il nuovo look di Google Apps. Gmail

Il nuovo look di Google Apps. Gmail Il nuovo look di Google Apps Gmail Benvenuti nel nuovo look di Google Apps Perché questo cambiamento: Per fare in modo che tutte le applicazioni Google abbiano lo stesso aspetto e siano chiare, semplici

Dettagli

Francesca Berardi. Classe IV MONTESSORI. Una ricerca. La fotografia

Francesca Berardi. Classe IV MONTESSORI. Una ricerca. La fotografia Francesca Berardi Classe IV MONTESSORI Una ricerca La fotografia Per scattare una buona foto, occorre molto più che premere un pulsante. Bisogna imparare ad usare la macchina fotografica e a gestire la

Dettagli

= < < < < < Matematica 1

= < < < < < Matematica  1 NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato

Dettagli

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento

Dettagli

Introduzione alla probabilità

Introduzione alla probabilità Introduzione alla probabilità Osservazione e studio dei fenomeni naturali: a. Caso deterministico: l osservazione fornisce sempre lo stesso risultato. b. Caso stocastico o aleatorio: l osservazione fornisce

Dettagli

FONDAMENTI DI INFORMATICA Lezione n. 11

FONDAMENTI DI INFORMATICA Lezione n. 11 FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di

Dettagli

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 3 Operazioni Aritmetiche: Somma + 1 0 1 0 (*) 1 0 1 0 (*) con riporto di 1 2 Operazioni Aritmetiche:

Dettagli

1 Definizione di sistema lineare omogeneo.

1 Definizione di sistema lineare omogeneo. Geometria Lingotto. LeLing1: Sistemi lineari omogenei. Ārgomenti svolti: Definizione di sistema lineare omogeneo. La matrice associata. Concetto di soluzione. Sistemi equivalenti. Operazioni elementari

Dettagli

ESPONENZIALI E LOGARITMI. chiameremo logaritmica (e si legge il logaritmo in base a di c è uguale a b ).

ESPONENZIALI E LOGARITMI. chiameremo logaritmica (e si legge il logaritmo in base a di c è uguale a b ). ESPONENZIALI E LOGARITMI Data una espressione del tipo a b = c, che chiameremo notazione esponenziale (e dove a>0), stabiliamo di scriverla anche in un modo diverso: log a c = b che chiameremo logaritmica

Dettagli

Psiche e complessità. 4. L approccio bottom-up ai problemi

Psiche e complessità. 4. L approccio bottom-up ai problemi Psiche e complessità 4. L approccio bottom-up ai problemi Complessità della mente FENOMENI LINEARI (LOGICA, RAZIONALITA, CONTENUTI ESPLICITI) FENOMENI NON LINEARI (ASSOCIAZIONI ANALOGICHE, CONTENUTI IMPLICITI)

Dettagli

Introduzione al Linguaggio C ed all IDE DEV-C++

Introduzione al Linguaggio C ed all IDE DEV-C++ Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ 1 Le Esercitazioni in Laboratorio! MTA + MLAB1/2: Edificio Via Valotti, primo piano e piano interrato! Orario: Giovedì 14:30-17:30!

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Le sue caratteristiche:

Le sue caratteristiche: I Virus Un virus, in informatica, è un software, appartenente alla categoria dei malware, che è in grado, una volta eseguito, di infettare dei file in modo da riprodursi facendo copie di se stesso, generalmente

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Immagini in movimento 2 Immagini in movimento Memorizzazione mediante sequenze di fotogrammi.

Dettagli

PON 2007 2013 Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

PON 2007 2013 Liceo Scientifico Leonardo da Vinci. Vallo della Lucania PON 2007 2013 Liceo Scientifico Leonardo da Vinci Vallo della Lucania Nuovi percorsi matematici: Osservare, descrivere, costruire. Matlab - 2: Lavorare con le matrici Vallo della Lucania 26 Settembre 2008

Dettagli

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1 Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1 Release NOTE 1.1 Prima Versione del Manuale INDICE 1-INTRODUZIONE... 4 2- GESTIONE DEL CATALOGO PIXMANIA-PRO SU IMAIO... 5 3-Configurazione

Dettagli

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni WINDOWS95 1. Avviare Windows95 Avviare Windows95 non è un problema: parte automaticamente all accensione del computer. 2. Barra delle applicazioni 1 La barra delle applicazioni permette di richiamare le

Dettagli

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN zkiziltan@deis.unibo.it Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come

Dettagli

Canzone. PER DIMENTICARE degli ZERO ASSOLUTO. Piano per una lezione.

Canzone. PER DIMENTICARE degli ZERO ASSOLUTO. Piano per una lezione. Canzone. PER DIMENTICARE degli ZERO ASSOLUTO. Piano per una lezione. moryama Livello: da pre-intermedio in su Tempo: 2 ore circa Obiettivi: scrivere una lettera con formule di scusa e di auguri; praticare

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5. Prodotto da INDICE Vista Libretto Livello Digitale 2 Importazione di dati da strumento 3 Inserisci File Vari 5 Compensazione Quote 5 Uscite 6 File Esporta Livellazioni (.CSV) 6 Corso Livello Digitale Pag.

Dettagli

Manuale d utilizzo. Indice:

Manuale d utilizzo. Indice: Manuale d utilizzo Indice: - L interfaccia (area di gestione) pag. 2 - Menu lingua pag. 3 - La gestione delle cartelle pag. 4 - Menu novità pag. 7 - I contatti pag. 8 - Gestione delle aree destra e sinistra

Dettagli

FUNZIONI DI BASE PANNELLO SMS

FUNZIONI DI BASE PANNELLO SMS FUNZIONI DI BASE PANNELLO SMS Il pannello sms può essere utilizzato in vari: 1 Inviare un singolo sms (in questo settare solo in mittente in opzioni) 2 inviare sms multipli alla propria rubrica divisa

Dettagli

Mini-Corso di Informatica

Mini-Corso di Informatica Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare

Dettagli

Logo. http://www.softronix.com/logo.html (Setup Kit)

Logo. http://www.softronix.com/logo.html (Setup Kit) Logo Logo è un linguaggio di programmazione essenzialmente didattico; È orientato alla creazione di grafica vettoriale, ma può essere usato per fare qualsiasi tipo di programma; MSWLogo è una versione

Dettagli

Cifre significative delle misure di grandezze fisiche

Cifre significative delle misure di grandezze fisiche Cifre significative delle misure di grandezze fisiche Si definiscono grandezze fisiche tutte quelle entità con cui vengono descritti i fenomeni fisici e che sono suscettibili di una definizione quantitativa,

Dettagli

La tabella dell addizione Completa la tabella e poi rispondi alle domande.

La tabella dell addizione Completa la tabella e poi rispondi alle domande. La tabella dell addizione Completa la tabella e poi rispondi alle domande. CCCCCCCCCCCC + 0 4 5 6 7 8 9 0 0 4 5 6 7 8 9 0 A ogni coppia ordinata di numeri naturali corrisponde sempre un numero naturale?

Dettagli

INTRODUZIONE ALLE BASI DATI RELAZIONALI

INTRODUZIONE ALLE BASI DATI RELAZIONALI INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE

Dettagli

Risoluzione di problemi ingegneristici con Excel

Risoluzione di problemi ingegneristici con Excel Risoluzione di problemi ingegneristici con Excel Problemi Ingegneristici Calcolare per via numerica le radici di un equazione Trovare l equazione che lega un set di dati ottenuti empiricamente (fitting

Dettagli

Bono Marco Spirali triangolari e quadrate 1. Spirali triangolari e quadrate

Bono Marco Spirali triangolari e quadrate 1. Spirali triangolari e quadrate Bono Marco Spirali triangolari e quadrate 1 Spirali triangolari e quadrate Spirali triangolari Proviamo a costruire delle spirali triangolari: per iniziare partiamo da un solo punto, come nella figura

Dettagli

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++ Informatica 3 Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Lezione 7 -

Dettagli

Occupazione e disoccupazione

Occupazione e disoccupazione Lezione 20 1 Occupazione e disoccupazione L occupazione ha una fortissima importanza sociale, e pone molti problemi di rilevazione. In questa lezione vediamo come la definizione di occupazione fa emergere

Dettagli

Per sistema di acquisizione dati, si deve intendere qualsiasi sistema in grado di rilevare e memorizzare grandezze analogiche e/o digitali.

Per sistema di acquisizione dati, si deve intendere qualsiasi sistema in grado di rilevare e memorizzare grandezze analogiche e/o digitali. Sistema di acquisizione e distribuzione dati Per sistema di acquisizione dati, si deve intendere qualsiasi sistema in grado di rilevare e memorizzare grandezze analogiche e/o digitali. Consiste nell inviare

Dettagli

Costruttore di numeri della WebDewey

Costruttore di numeri della WebDewey Costruttore di numeri della WebDewey Elaborazione da parte della Redazione WebDewey Italiana sulla base di documenti originali prodotti da OCLC o pubblicati sul blog 025.431 L approccio generale alla costruzione

Dettagli

Modulo 2 Data Base - Modello Relazionale

Modulo 2 Data Base - Modello Relazionale Modulo 2 Data Base - Modello Relazionale Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Modello Relazionale

Dettagli

Programmazione Orientata agli Oggetti

Programmazione Orientata agli Oggetti Programmazione Orientata agli Oggetti Lezione 13 La programmazione ad oggetti si basa su due principi fondamentali ereditarietà polimorfismo Queste due proprietà consentono di definire nuovi tipi di dato

Dettagli

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale Numeri frazionari sistema posizionale due modi: virgola fissa virgola mobile posizionale, decimale 0,341=tre decimi più quattro centesimi più un millesimo cifre dopo la virgola: decimi centesimi millesimi

Dettagli

Disconnessione Utente

Disconnessione Utente Home Page La home page di Smart Sales contiene due sezioni per indicare quali criteri di ricerca applicare alle offerte per identificare con facilità quelle che il cliente desidera acquistare. I valori

Dettagli

Architettura degli elaboratori Docente:

Architettura degli elaboratori Docente: Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File

Dettagli

Il Codice Braille. I caratteri Braille sono basati su una cella formata da sei punti disposti in due colonne e tre righe.

Il Codice Braille. I caratteri Braille sono basati su una cella formata da sei punti disposti in due colonne e tre righe. Il Codice Braille Che cos'è il Braille Il Braille è il codice di lettura e scrittura più utilizzato dai ciechi. E' stato inventato dal francese Louis Braille nel 1829. Si tratta di un sistema di scrittura

Dettagli

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino mento del listino re il listino è molto semplice e richiede poco tempo. Prima di lanciare il comando listino occorre fare attenzione al tipo di listino che si deve aggiornare. Tenere ben presente che i

Dettagli

Scorciatoie del Web. Krishna Tateneni Yves Arrouye Traduzione: Luciano Montanaro Manutenzione della traduzione: Federico Zenith

Scorciatoie del Web. Krishna Tateneni Yves Arrouye Traduzione: Luciano Montanaro Manutenzione della traduzione: Federico Zenith Krishna Tateneni Yves Arrouye Traduzione: Luciano Montanaro Manutenzione della traduzione: Federico Zenith 2 Indice 1 Scorciatoie del Web 4 1.1 Introduzione......................................... 4 1.2

Dettagli

Rappresentazioni numeriche

Rappresentazioni numeriche Rappresentazioni numeriche Un numero è dotato di un valore una rappresentazione La rappresentazione di un numero è il sistema che utilizziamo per indicarne il valore. Normalmente è una sequenza (stringa)

Dettagli

7 Cenni di ottica per la fotografia

7 Cenni di ottica per la fotografia 7 Cenni di ottica per la fotografia 7.1 Schematizzazione di un obiettivo fotografico Gli obiettivi fotografici sono generalmente composti da un numero elevato di lenti. Tuttavia per semplicità possiamo

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso 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

Dettagli

Strutture di controllo in C++

Strutture di controllo in C++ Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni

Dettagli

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver. 1.0 19/12/2014

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver. 1.0 19/12/2014 Ver. 1.0 19/12/2014 Sommario 1 Introduzione... 3 1.1 Aspetti funzionali NtipaTime... 3 2 Accesso al sistema... 4 2.1 Riservatezza dei dati login Utente... 4 2.2 Funzionalità Role_user... 5 2.2.1 Struttura

Dettagli

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto.

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto. Il sistema CONFELMOD come tutti gli analoghi sistemi per la confezione d abbigliamento, svolge 3 funzioni distinte (anche dal punto di vista del tipo di programma) 1. la gestione di tutti i dati relativi

Dettagli

FINGERPRINTING DI PIANTE E FIORI: UTILE STRUMENTO PER LA CERTIFICAZIONE GENETICA DEL MATERIALE PROPAGATO DAI VIVAISTI

FINGERPRINTING DI PIANTE E FIORI: UTILE STRUMENTO PER LA CERTIFICAZIONE GENETICA DEL MATERIALE PROPAGATO DAI VIVAISTI FINGERPRINTING DI PIANTE E FIORI: UTILE STRUMENTO PER LA CERTIFICAZIONE GENETICA DEL MATERIALE PROPAGATO DAI VIVAISTI Il termine fingerprinting (impronta genetica) viene correntemente utilizzato per indicare

Dettagli

METODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA. Lezione n 4 2016

METODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA. Lezione n 4 2016 METODI E TECNOLOGIE PER L INSEGNAMENTO DELLA MATEMATICA Lezione n 4 2016 GLI INSIEMI NUMERICI N Numeri naturali Z : Numeri interi Q : Numeri razionali R : Numeri reali Q A meno di isomorfismi!!! R 5 π

Dettagli

Che cos'è un Power Point

Che cos'è un Power Point Che cos'è un Power Point Power Point è una delle tante applicazioni per creare e organizzare delle presentazioni: durante l'esposizione di un progetto o di una ricerca, ad esempio, vi permette di supportare

Dettagli

Le frazioni algebriche

Le frazioni algebriche Le frazioni algebriche Le frazioni algebriche, a differenza delle frazioni numeriche, sono frazioni che prevedono al denominatore espressioni polinomiali. Le seguenti, ad esempio, sono frazioni algebriche

Dettagli

Fondamenti di Informatica T1 Mappe

Fondamenti di Informatica T1 Mappe Fondamenti di Informatica T1 Mappe Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 16 Mappe Matrice N x 2 : Gli elementi della prima colonna,

Dettagli

1 IL LINGUAGGIO MATEMATICO

1 IL LINGUAGGIO MATEMATICO 1 IL LINGUAGGIO MATEMATICO Il linguaggio matematico moderno è basato su due concetti fondamentali: la teoria degli insiemi e la logica delle proposizioni. La teoria degli insiemi ci assicura che gli oggetti

Dettagli

Le imprese nei mercati concorrenziali

Le imprese nei mercati concorrenziali Le imprese nei mercati concorrenziali Le decisioni di prezzo e di produzione delle imprese sono influenzate dalla forma di mercato. Un caso estremo di mercato è quello della concorrenza perfetta. Tre condizioni:

Dettagli

Anno 3. Funzioni esponenziali e logaritmi: le 4 operazioni

Anno 3. Funzioni esponenziali e logaritmi: le 4 operazioni Anno 3 Funzioni esponenziali e logaritmi: le 4 operazioni 1 Introduzione In questa lezione impareremo a conoscere le funzioni esponenziali e i logaritmi; ne descriveremo le principali caratteristiche e

Dettagli

x 2 + (x+4) 2 = 20 Alle equazioni di secondo grado si possono applicare i PRINCIPI di EQUIVALENZA utilizzati per le EQUAZIONI di PRIMO GRADO.

x 2 + (x+4) 2 = 20 Alle equazioni di secondo grado si possono applicare i PRINCIPI di EQUIVALENZA utilizzati per le EQUAZIONI di PRIMO GRADO. EQUAZIONI DI SECONDO GRADO Un'equazione del tipo x 2 + (x+4) 2 = 20 è un'equazione DI SECONDO GRADO IN UNA INCOGNITA. Alle equazioni di secondo grado si possono applicare i PRINCIPI di EQUIVALENZA utilizzati

Dettagli

TPL - Indagini di frequentazione: sistema di rilevamento. FAQ Frequently Asked Questions

TPL - Indagini di frequentazione: sistema di rilevamento. FAQ Frequently Asked Questions Direzione Opere pubbliche, Difesa del suolo, Montagna, Foreste, Protezione Civile, Trasporti e Logistica TPL - Indagini di frequentazione: sistema di rilevamento FAQ Frequently Asked Questions Sommario

Dettagli

Programmazione annuale A.S

Programmazione annuale A.S Programmazione annuale A.S. 2014-2015 Programmazione modulare MATERIA: Matematica INDIRIZZO: sezione agraria PROGRAMMAZIONE MODULARE CLASSE: I Moduli del modulo 1 I numeri e il linguaggio della matematica

Dettagli

UNIT 2 Seduta di allenamento ottimale

UNIT 2 Seduta di allenamento ottimale UNIT 2 Seduta di allenamento ottimale Introduzione Con l unit 1 capire i nostri Clienti abbiamo compreso che il nostro obiettivo come allenatori è creare un ambiente dove è ottimizzato l imparare e il

Dettagli

Codice Gray. (versione Marzo 2007)

Codice Gray. (versione Marzo 2007) Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.

Dettagli

Potenze - Monomi - Polinomi - Operazioni tra Polinomi - Quadrato e Cubo del Binomio - Quadrato del Trinomio

Potenze - Monomi - Polinomi - Operazioni tra Polinomi - Quadrato e Cubo del Binomio - Quadrato del Trinomio Potenze - Monomi - Polinomi - Operazioni tra Polinomi - Quadrato e Cubo del Binomio - Quadrato del Trinomio Francesco Zumbo www.francescozumbo.it http://it.geocities.com/zumbof/ Questi appunti vogliono

Dettagli

Individuazione di sottoproblemi

Individuazione di sottoproblemi Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che

Dettagli

Anno 2. Radicali algebrici e aritmetici: condizioni di esistenza

Anno 2. Radicali algebrici e aritmetici: condizioni di esistenza Anno 2 Radicali algebrici e aritmetici: condizioni di esistenza 1 Introduzione Perché studiare i radicali? In matematica ogni volta che facciamo un operazione dobbiamo anche vedere se è possibile tornare

Dettagli

FOCUS IL MERCATO IMMOBILIARE: DIVERSIFICARE PER SPECIALIZZARE. Mercoledì 2 dicembre 2015 NAPOLI Tiempo Business Center

FOCUS IL MERCATO IMMOBILIARE: DIVERSIFICARE PER SPECIALIZZARE. Mercoledì 2 dicembre 2015 NAPOLI Tiempo Business Center FOCUS IL MERCATO IMMOBILIARE: DIVERSIFICARE PER SPECIALIZZARE Mercoledì 2 dicembre 2015 NAPOLI Tiempo Business Center Parliamo di MLS Il Multiple Listing Service (MLS) è un metodo operativo attivo fra

Dettagli

Autodesk Map parte I digitalizzazione e importazione dati

Autodesk Map parte I digitalizzazione e importazione dati Autodesk Map parte I digitalizzazione e importazione dati Marco Negretti e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it V 5.1 10/10/08 I dati in Autodesk Map I dati vengono memorizzati

Dettagli

EQUAZIONI MATRICIALI

EQUAZIONI MATRICIALI EQUAZIONI MATRICIALI a cura di Gioella Lorenzon, Edoardo Sech, Lorenzo Spina, Jing Jing Xu Realizzato nell'ambito del progetto Archimede con la supervisione del Prof. Fabio Breda I.S.I.S.S. M.Casagrande,

Dettagli

Jclic Download e installazione

Jclic Download e installazione Jclic Download e installazione Per windows collegarsi al seguente sito http://www.didattica.org/clic.htm Scendere nella schermata al riquadro n. 8 che si intitola JClic 0.2.1.0 Portable ed effettuare il

Dettagli