Introduzione a Python per il calcolo scientifico

Размер: px
Начинать показ со страницы:

Download "Introduzione a Python per il calcolo scientifico"

Транскрипт

1 Introduzione a Python per il calcolo scientifico Ma ia Penati 23 gennaio 2014

2 Python Python è un linguaggio di programmazione dinamico orientato agli ogge i >>> import t h i s The Zen o f Python, by Tim P e t e r s B e a u t i f u l i s b e t t e r than ugly E x p l i c i t i s b e t t e r than i m p l i c i t Simple i s b e t t e r than complex Complex i s b e t t e r than c o m p l i c a t e d F l a t i s b e t t e r than n e s t e d S p a r s e i s b e t t e r than dense R e a d a b i l i t y counts

3 Algoritmo di Floyd-Warshall l e t d i s t be a V V a r r a y o f minimum d i s t a n c e s i n i t i a l i z e d to f o r each v e r t e x v d i s t [ v ] [ v ] 0 f o r each edge ( u, v ) d i s t [ u ] [ v ] w( u, v ) f o r k from 1 to V f o r i from 1 to V f o r j from 1 to V i f d i s t [ i ] [ k ] + d i s t [ k ] [ j ] < d i s t [ i ] [ j ] then d i s t [ i ] [ j ] d i s t [ i ] [ k ] + d i s t [ k ] [ j ]

4 Algoritmo di Floyd-Warshall def f l o y d _ w a r s h a l l ( V, E, weights ) : i n f = f l o a t ( I n f ) d i s t = [ [ i n f for u in V] for v in V] for i in range ( len ( V ) ) : d i s t [ i ] [ i ] = 0 for e, w in zip ( E, w ) : u, v = e d i s t [ u ] [ v ] = w for k in range ( len ( V ) ) : for i in range ( len ( V ) ) : for j in range ( len ( V ) ) : i f d i s t [ i ] [ k ] + d i s t [ k ] [ j ] < d i s t [ i ] [ j ] : d i s t [ i ] [ j ] = d i s t [ i ] [ k ] + d i s t [ k ] [ j ]

5 Python history 1991 Van Rossum rilascia i sorgenti della versione Viene rilasciata la versione Prima implementazione di numpy (Numeric) 2000 Viene rilasciata la versione Viene rilasciato SciPy Viene rilasciato NumPy Viene rilasciata la versione 30 Iniziano le conferenze SciPy e EuroSciPy

6 Python sfru a a pieno le potenzialità di un vero linguaggio di programmazione Python ha i namespaces è possibile sviluppare un intera applicazione con lo stesso linguaggio di programmazione, dall interfaccia alla logica, grazie al gran numero di librerie esistenti

7 Python sfru a a pieno le potenzialità di un vero linguaggio di programmazione Python ha i namespaces è possibile sviluppare un intera applicazione con lo stesso linguaggio di programmazione, dall interfaccia alla logica, grazie al gran numero di librerie esistenti MATLAB possiede un gran numero di funzioni testate e efficienti Simulink oltre ad essere utilizzato nelle università è utilizzato anche in ambito lavorativo

8 NumPy NumPy è il pacche o base per il calcolo scientifico con Python gestione degli array N-dimensionali integrazione con C, C++ e Fortran funzioni di base di algebra lineare

9 Gli array di Numpy Cos è un array per NumPy? typedef s t r u c t PyArrayObject { char * data ; i n t nd ; npy_intp * dimensions ; npy_intp * s t r i d e s ; PyArray_Descr * d e s c r ; } PyArrayObject ; Blocco di memoria contiene i dati in formato grezzo Schema di accesso traduce gli indici in un indirizzo di memoria Descri ore di tipo perme e di interpretare i dati

10 Gli array di Numpy >>> import numpy as np >>> A = np z e r o s ( ( 2, 2 ) ) >>> A a r r a y ( [ [ 0, 0 ], [ 0, 0 ] ] )

11 Gli array di Numpy >>> import numpy as np >>> A = np z e r o s ( ( 2, 2 ) ) >>> A a r r a y ( [ [ 0, 0 ], [ 0, 0 ] ] ) >>> B = A [ 0, : ] >>> B a r r a y ( [ 0, 0 ] )

12 Gli array di Numpy >>> import numpy as np >>> A = np z e r o s ( ( 2, 2 ) ) >>> A a r r a y ( [ [ 0, 0 ], [ 0, 0 ] ] ) >>> B = A [ 0, : ] >>> B a r r a y ( [ 0, 0 ] ) >>> B [ 0 ] = 1 >>> B a r r a y ( [ 1, 0 ] )

13 Gli array di Numpy >>> import numpy as np >>> A = np z e r o s ( ( 2, 2 ) ) >>> A a r r a y ( [ [ 0, 0 ], [ 0, 0 ] ] ) >>> B = A [ 0, : ] >>> B a r r a y ( [ 0, 0 ] ) >>> B [ 0 ] = 1 >>> B a r r a y ( [ 1, 0 ] ) >>> A a r r a y ( [ [ 1, 0 ], [ 0, 0 ] ] )

14 Differenze con MATLAB tu e le operazioni algebriche tra gli array di NumPy sono element-wise A * B A * B dot ( A, B ) A * B Python è zero-based A ( 1 : 5, : ) A ( end 4: end, : ) A ( 3 : 2 : 2 1, : ) A [ 0 : 5, : ] A [ 5 :, : ] A [ 2 : 2 1 : 2, : ] gli array di NumPy vengono passati per referenza e gli slice sono delle viste

15 SciPy SciPy è una collezione di algoritmi e funzioni basato su NumPy funzioni speciali (scipy special ) quadratura numerica e ODE (scipy integrate ) o imizzazione (scipy optimize) interpolazione (scipy interpolate ) trasformata di Fourier (scipy fftpack) elaborazione dei segnali (scipy signal) algebra lineare (scipy linalg ) statistica (scipy stats) I/O (scipy io)

16 SciPy Il pacche o scipy weave perme e di includere codice C e C++ dire amente nello script Python, rendendo molto semplice l o imizzazione di alcune parti di codice, senza dover scrivere un estensione

17 SciPy Il pacche o scipy weave perme e di includere codice C e C++ dire amente nello script Python, rendendo molto semplice l o imizzazione di alcune parti di codice, senza dover scrivere un estensione u [1: 1,1: 1] = ( ( u [0: 2,1: 1] + u [ 2 :, 1 : 1 ] ) * dy2 + ( u [1: 1,0: 2] + u [ 1 : 1, 2 : ] ) * dx2 ) * d n r _ i n v

18 SciPy Il pacche o scipy weave perme e di includere codice C e C++ dire amente nello script Python, rendendo molto semplice l o imizzazione di alcune parti di codice, senza dover scrivere un estensione u [1: 1,1: 1] = ( ( u [0: 2,1: 1] + u [ 2 :, 1 : 1 ] ) * dy2 + ( u [1: 1,0: 2] + u [ 1 : 1, 2 : ] ) * dx2 ) * d n r _ i n v expr = u [1: 1,1: 1] = ( ( u [0: 2,1: 1] + u [ 2 :, 1 : 1 ] ) * dy2 + \ ( u [1: 1,0: 2] + u [ 1 : 1, 2 : ] ) * dx2 ) * d n r _ i n v weave b l i t z ( expr, c h e c k _ s i z e = 0 )

19 SciPy Il pacche o scipy weave perme e di includere codice C e C++ dire amente nello script Python, rendendo molto semplice l o imizzazione di alcune parti di codice, senza dover scrivere un estensione u [1: 1,1: 1] = ( ( u [0: 2,1: 1] + u [ 2 :, 1 : 1 ] ) * dy2 + ( u [1: 1,0: 2] + u [ 1 : 1, 2 : ] ) * dx2 ) * d n r _ i n v expr = u [1: 1,1: 1] = ( ( u [0: 2,1: 1] + u [ 2 :, 1 : 1 ] ) * dy2 + \ ( u [1: 1,0: 2] + u [ 1 : 1, 2 : ] ) * dx2 ) * d n r _ i n v weave b l i t z ( expr, c h e c k _ s i z e = 0 ) La versione in Python viene eseguita in 10s, quella scri a con il paccheto Weave in 3s, invece la versione nativa scri a in C in 1s

20 Cython Cython è un compilatore per Python e Cython, perme e scrivere estensioni in C con la stessa facilità con cui si scrive in Python chiamare funzioni native in ogni punto del codice, aumentare le performance del codice introducendo la dichiarazione di tipo, integrare in modo semplice codice già esistente

21 Cython Cython è un compilatore per Python e Cython, perme e scrivere estensioni in C con la stessa facilità con cui si scrive in Python chiamare funzioni native in ogni punto del codice, aumentare le performance del codice introducendo la dichiarazione di tipo, integrare in modo semplice codice già esistente import numpy as np def n a i v e _ c o n v o l v e ( f, g ) :

22 Cython Cython è un compilatore per Python e Cython, perme e scrivere estensioni in C con la stessa facilità con cui si scrive in Python chiamare funzioni native in ogni punto del codice, aumentare le performance del codice introducendo la dichiarazione di tipo, integrare in modo semplice codice già esistente import numpy as np def n a i v e _ c o n v o l v e ( f, g ) : import numpy as np cimport numpy as np def n a i v e _ c o n v o l v e ( np ndarray f, np ndarray g ) :

23 Matplotlib Matplotlib è una libreria per la creazione di grafici 2D e 3D

24 perme e di includere grafici nelle applicazioni (wx, Qt, GTK) creazione di script per il postprocessing automatico dei dati importa dati da una grande varietà di fonti, anche Excel esporta in qualsiasi formato grafico ve oriale o raster anch esso è basato su NumPy

25 >>> import numpy as np >>> import m a t p l o t l i b p y p l o t as p l t >>> x = np l i n s p a c e ( 0, 2 * np pi, ) >>> y = np s i n ( x ) >>> p l t p l o t ( x, y ) [ < m a t p l o t l i b l i n e s Line2D object at 0 x10744c150 >] >>> p l t show ( )

26 alche libreria avanzata VTK È una libreria open-source per la grafica 3D, elaborazione di immagini e visualizzazione Sandia è tra i principali sviluppatori del proge o Trilinos È un proge o che raccoglie diverse librerie utilizzate per lo sviluppo di risolutori per problemi ingegneristici e scientifici PETSc È una suite di stru ure dati e algoritmi per lo sviluppo di applicazioni scientifiche Dal proge o PETSc sono nati i proge i: mpi4py, petsc4py, slepc4py, tao4py

27 FEniCS FEniCS è un proge o che ha l obie ivo di sviluppare strumenti innovativi per la risoluzione dei problemi differenziali con il metodo degli elementi finiti

28 FEniCS FEniCS è un proge o che ha l obie ivo di sviluppare strumenti innovativi per la risoluzione dei problemi differenziali con il metodo degli elementi finiti u v dx = fv dx v V Ω u = T r i a l F u n c t i o n ( V ) v = T e s t F u n c t i o n ( V ) } {{ } a(u,v) Ω }{{} L(v) a = dot ( grad ( u ), L = f * v * dx grad ( v ) ) * dx

29 FEniCS L obie ivo è creare strumenti che automatizzino parte dello sviluppo di un codice a elementi finiti: y n: generazione automatica delle funzioni di base valutazione automatica delle forme variazionali assemblaggio automatico delle stru ure controllo automatico dell ada ività di griglia =f tr (v) I (rv) > ) ) = u(x)

30 Enthought Python Distribution La distribuzione EPD è un ambiente autocontenuto che contiene al suo interno tu i gli strumenti necessari per lo sviluppo di applicazioni tecniche in Python è multipia aforma (Linux/MacOSX/Windows) per l utilizzo accademico è completamente gratuito contiene al suo interno più di 100 librerie (NumPy, SciPy, ) sponsorizzano il proge o SciPy

31 Anaconda Come EPD è un ambiente autocontenuto per lo sviluppo di applicazione per il calcolo scientifico in Python è multipia aforma (Linux/MacOSX/Windows) per l utilizzo accademico è completamente gratuito contiene al suo interno più di 100 librerie (NumPy, SciPy, ) perme e di switchare rapidamente tra diverse versioni dell interprete include o imizzazioni multi-core e GPU

32 Installazione in ambienti Unix Il modo più intelligente di installare queste librerie in un ambiente Unix è utilizzare virtualenv e a s y _ i n s t a l l pip pip i n s t a l l v i r t u a l e n v pip i n s t a l l v i r t u a l e n v w r a p p e r Configurate l ambiente con lo script virtualenvwrapper sh m k v i r t u a l e n v s c i p y pip i n s t a l l numpy pip i n s t a l l s c i p y pip i n s t a l l m a t p l o t l i b pip i n s t a l l ipython

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli

Подробнее

Strumenti per l automazione del testing di applicazioni web Javascript-based

Strumenti per l automazione del testing di applicazioni web Javascript-based tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612

Подробнее

Introduzione a SciPy

Introduzione a SciPy Introduzione a SciPy Mario Rosati CINECA Roma [email protected] Introduzione Il#pacche)o#SciPy#con0ene#diversi# toolbox #dedica0#ai#problemi#più# comuni#del#calcolo#scien0fico## I#suoi#diversi#so)o>moduli#corrispondono#a#diverse#applicazioni,#come#

Подробнее

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3

Подробнее

Laboratorio Apprendimento Automatico

Laboratorio Apprendimento Automatico Laboratorio Apprendimento Automatico Laurea Magistrale in Informatica Mirko Polato 14 novembre 2016 Python Perché python? Molti moduli per l analisi e la visualizzazione dei dati pre esistenti; Facile

Подробнее

SciPy. Programmazione Orientata agli Oggetti e Scripting in Python

SciPy. Programmazione Orientata agli Oggetti e Scripting in Python SciPy Programmazione Orientata agli Oggetti e Scripting in Python SciPy: Informazioni di Base Libreria di algoritmi e strumenti matematici Fornisce: moduli per l'ottimizzazione, per l'algebra lineare,

Подробнее

Le novità di QGIS 3 Cosa cambierà nel più utilizzato software GIS Open Source. Valerio Noti - TerreLogiche srl

Le novità di QGIS 3 Cosa cambierà nel più utilizzato software GIS Open Source. Valerio Noti - TerreLogiche srl Le novità di QGIS 3 Cosa cambierà nel più utilizzato software GIS Open Source Valerio Noti - TerreLogiche srl, ROMA 18 OTTOBRE 2017 QGIS QGIS è uno dei principali software GIS attualmente disponibili e

Подробнее

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: [email protected] Davide Ghiani Giulia Orrù

Подробнее

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani ([email protected])

Подробнее

Linguaggi di programmazione e astrazione

Linguaggi di programmazione e astrazione Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo

Подробнее

PROGRAMMA = ALGORITMO

PROGRAMMA = ALGORITMO Corso di Laurea Scienze Prof. San. Tec., Area Tecnico-Assistenziale SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Anno Accademico 2005-2006 Prof. Fausto Passariello Corso Integrato Metodologia della Ricerca

Подробнее

CORSO DI PROGRAMMAZIONE ios BASE IN LINGUAGGIO NATIVO OBJECTIVE-C

CORSO DI PROGRAMMAZIONE ios BASE IN LINGUAGGIO NATIVO OBJECTIVE-C CORSO DI PROGRAMMAZIONE ios BASE IN LINGUAGGIO NATIVO OBJECTIVE-C Apple ha stupito tutta la sua comunità di sviluppatori quando ha annunciato Swift, un nuovo linguaggio di programmazione per applicazioni

Подробнее

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura [email protected] 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Подробнее

U4Learn.

U4Learn. U4Learn www.u4learn.it U4Learn 1 SPINOFF - UNIPA E-learning cloud-based U4Learn: Nuove Prospettive per la Formazione Ambiti Formativi SCOLASTICO ACCADEMICO PROFESSIONALE U4Learn: Nuove Prospettive per

Подробнее

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Подробнее

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Corso di Analisi Numerica, a.a. 2006/2007 Francesca Mazzia Dipartimento di Matematica Università di Bari 16 Ottobre 2006 Francesca Mazzia (Univ. Bari) Introduzione al

Подробнее

REGISTRI D'ESAME CODICE ESAME CORSO DI LAUREA NOME DEL CORSO LAUREA CFU

REGISTRI D'ESAME CODICE ESAME CORSO DI LAUREA NOME DEL CORSO LAUREA CFU REGISTRI D'ESAME Con "" si intende la Triennale del Nuovo Ordinamento (Legge 270) Con "" si intende la Specialistica di due anni del Nuovo Ordinamento (Legge 270) CODICE ESAME CORSO DI LAUREA NOME DEL

Подробнее

Laboratorio di Programmazione Lezione 1 Introduzione al corso

Laboratorio di Programmazione Lezione 1 Introduzione al corso Laboratorio di Programmazione Lezione 1 al corso Prof. Michele Scarpiniti Prof. Danilo Comminiello Dipartimento di Ingegneria dell Informazione, Elettronica e Telecomunicazioni Sapienza Università di Roma

Подробнее

Una Libreria di Algebra Lineare per il Calcolo Scientifico

Una Libreria di Algebra Lineare per il Calcolo Scientifico Una Libreria di Algebra Lineare per il Calcolo Scientifico Introduzione Il Lavoro di Tesi Introduzione al Metodo Ridurre l Occupazione di Memoria Metodo di Memorizzazione degli Elementi Risultati Attesi

Подробнее

FREEFEM++ Marcello Bellomi. 18 Aprile Università di Verona FREEFEM++

FREEFEM++ Marcello Bellomi. 18 Aprile Università di Verona FREEFEM++ 18 Aprile 2013 Indice 1) Introduzione 2) Esempio base 3) Sintassi 4) Esempio Part I Indroduzione Dettagli iniziali Risolve problemi in 2D e 3D, creato principalmente per risolvere problemi variazionali

Подробнее

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ [email protected] Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Подробнее

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Подробнее

Modelli di programmazione parallela

Modelli di programmazione parallela Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici

Подробнее

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri Concetti di Base sulla Programmazione Prof.Ing.S.Cavalieri 1 La Programmazione Dato un problema INFORMATICO, programmare significa: Definire i dati in ingresso e il risultato che si vuole raggiungere Definire

Подробнее

Indice Prefazione XIII Capitolo 1 Introduzione al Visual Basic per Excel

Indice Prefazione XIII Capitolo 1 Introduzione al Visual Basic per Excel Indice Prefazione XIII Capitolo 1 Introduzione al Visual Basic per Excel 1 1.1 Premessa 1 1.2 Lavorare in Ambiente Excel 2 1.3 Le Macro di Excel 4 Dal Linguaggio Macro al Visual Basic for Application 4

Подробнее

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Подробнее

Introduzione alla programmazione strutturata

Introduzione alla programmazione strutturata FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio

Подробнее

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

La formalizzazione dell informazione: Dati e Diagrammi di Flusso La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi

Подробнее

Corso di Fondamenti di Informatica e Laboratorio

Corso di Fondamenti di Informatica e Laboratorio Corso di Fondamenti di Informatica e Laboratorio Corsi di Laurea Ingegneria Informatica (O-Z) Corsi di Laurea Ingegneria delle Telecomunicazioni - (A-Z) (ordinamento 03) A.A. 2009-2010 Prof. Giuseppe Mangioni

Подробнее

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Подробнее

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

Подробнее

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Linguaggi di Programmazione Sintassi

Подробнее

Introduzione a Matlab

Introduzione a Matlab INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi

Подробнее

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile. Liceo Scientifico Vinci PROGRAMMA FINALE A.S. 2016/2017 Materia: INFORMATICA Classe 1Q Prof. Dardanelli Francesco PROGRAMMA SVOLTO NELL ANNO SCOLASTICO IL COMPUTER. Hardware e software. Il computer. Il

Подробнее

INSEGNAMENTI DEI GRUPPI PER IL CURRICULUM TEORICO La loro attivazione è definita per ogni anno accademico in sede di programmazione didattica

INSEGNAMENTI DEI GRUPPI PER IL CURRICULUM TEORICO La loro attivazione è definita per ogni anno accademico in sede di programmazione didattica INSEGNAMENTI DEI GRUPPI PER IL CURRICULUM TEORICO La loro attivazione è definita per ogni anno accademico in sede di programmazione didattica Gruppo IstAppl: Istituzioni applicative Istituzioni di analisi

Подробнее

LabView Parte 1 IL LABVIEW LEZ_1. Corso di. Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento )

LabView Parte 1 IL LABVIEW LEZ_1. Corso di. Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento ) Corso di Misure per la Automazione e la Qualità (Studenti Ingegneria Elettrica III anno Nuovo Ordinamento ) IL LABVIEW LEZ_1 Luigi Ferrigno [email protected] Gruppo Misure Elettriche ed Elettroniche Facoltà

Подробнее

Università di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali

Università di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica (classe 23/S: Informatica) Corso di Laurea Specialistica in Tecnologie Informatiche (classe 23/S: Informatica)

Подробнее

Introduzione a Simulink

Introduzione a Simulink Ing. Roberto Naldi DEIS-Università di Bologna Tel. 051 2093876 (CASY) Email: [email protected] URL: www-lar.deis.unibo.it/~rnaldi 1 Cosa è Simulink Simulink: un ambiente grafico per la simulazione

Подробнее

CORSO TRASVERSALE. SummeR School-DATA MINING AND DATA ANALYSIS WITH R

CORSO TRASVERSALE. SummeR School-DATA MINING AND DATA ANALYSIS WITH R CORSO TRASVERSALE SummeR School-DATA MINING AND DATA ANALYSIS WITH R PROPONENTE Prof.ssa Luisa Bernardinelli, Prof. Mario Grassi e Dott. Davide Gentilini OBIETTIVI FORMATIVI La gestione e l analisi dei

Подробнее

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3 Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare

Подробнее

v.krige - coupling GRASS GIS and R for spatial interpolation

v.krige - coupling GRASS GIS and R for spatial interpolation v.krige - coupling GRASS GIS and R for spatial interpolation 10.02.2011 Superficie statistica Dai punti alla superficie Grandezza presente su tutta l area (temperatura, quota... ), campionamento puntiforme

Подробнее

Introduzione a Matlab e Simulink

Introduzione a Matlab e Simulink Introduzione a Matlab e Simulink Fondamenti di Automatica 1 Motivazioni: problema di analisi Modello del sistema dinamico parametri Segnali d eccitazione Prestazioni? del sistema Come analizzare il comportamento,

Подробнее

Introduzione all uso di FICO Xpress. Metodi di Ottimizzazione per la Logistica e la Produzione

Introduzione all uso di FICO Xpress. Metodi di Ottimizzazione per la Logistica e la Produzione Introduzione all uso di FICO Xpress Metodi di Ottimizzazione per la Logistica e la Produzione 1 2 Alcuni risolutori per la Programmazione Matematica Indice Sono a disposizione numerosi risolutori di Programmazione

Подробнее

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano

Подробнее

Plotting: matplotlib & pyplot

Plotting: matplotlib & pyplot Plotting: matplotlib & pyplot Programmazione Orientata agli Oggetti e Scripting in Python Matplotlib: summary Matplotlib: libreria per la gestione di grafici 2d Matplotlib: summary Matplotlib: libreria

Подробнее

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Подробнее

Java il Corso Fondamentale

Java il Corso Fondamentale Java il Corso Fondamentale Imparare a Programmare APP per Android, applicativi per Server e Desktop, applet e molto altro. IlTuoCorso - Ermes srl Via E.De Amicis 57 20123 Milano Il corso Ciao! Se desideri

Подробнее

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Подробнее

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Подробнее

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

Подробнее

MATERIALI PER LA DISCUSSIONE

MATERIALI PER LA DISCUSSIONE SETTORE TECNOLOGICO MATERIALI PER LA DISCUSSIONE ISTITUTO TECNICO INDIRIZZO ARTICOLAZIONE TELECOMUNICAZIONI INFORMATICA E TELECOMUNICAZIONI ESITI DI APPRENDIMENTO Regolamento, Art. 5 comma 1 Nota: Le Competenze,

Подробнее

Model-Based-Design in F1

Model-Based-Design in F1 Model-Based-Design in F1 Team-development e generazione codice in ambienti con un breve time-to-market Riccardo Lodini Indice Ferrari GES Scuderia La storia dell elettronica in F1 Principali controlli

Подробнее