e L equazione associata a questa disequazione non è risolvibile in maniera analitica, con metodi numerici 2 si trova n 1754, 21

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "e L equazione associata a questa disequazione non è risolvibile in maniera analitica, con metodi numerici 2 si trova n 1754, 21"

Transcript

1 Il file distribuzioni.f90 è strutturato in tre parti. Il primo modulo è necessario per richiedere la precisione desiderata per i real di lavoro module precisione integer,parameter::kr=selected_real_kind(18) end module precisione Nel file pubblicato online la richiesta preimpostata è una precisione con diciotto cifre decimali significative; l ordine di grandezza del massimo numero rappresentabile è , valore sufficiente per lo svolgimento dell esercizio. 1 Le distribuzioni implementate nel programma che potrebbero dare problemi in termini numerici sono la binomiale e quella di Poisson. In queste due compare infatti il fattoriale, sarebbe allora opportuno cercare di capire qual è, con la rappresentazione scelta, il massimo intero di cui è possibile calcolare il fattoriale. Viene qui in aiuto la formula di Stirling, che per n grandi permette di scrivere n! ( n ) n 2πn e Bisogna allora determinare per quale n si ha ( n ) n 2πn e Prendendo il logaritmo in base 10 di entrambi i membri si trova allora log ( n ) n 2πn 4931 e L equazione associata a questa disequazione non è risolvibile in maniera analitica, con metodi numerici 2 si trova n 1754, 21 L ultimo intero con cui il programma dovrebbe lavorare con successo è dunque 1754, come si può verificare per via pratica. Il modulo successivo contiene le subroutines che computano il valore assunto dalle diverse funzioni di distribuzione in corrispondenza dei valori della variabile casuale richiesti durante l esecuzione del programma. 1 Si può verificare questo scrivendo un semplice programma che stampi su schermo il valore della funzione intrinseca range(a), dove a è un numero reale con kind=kr. 2 Si è usato il tool presente su YouMath. 1

2 module distrib use precisione contains subroutine poisson(f,m,k) real(kind=kr),intent(in)::m integer,intent(in)::k f=m**k/gamma((k+1)*1.0_kr)*exp(-m) end subroutine poisson subroutine binomiale(f,n,p,k) real(kind=kr),intent(in)::p integer,intent(in)::n,k f=gamma((n+1)*1.0_kr)/(gamma((k+1)*1.0_kr)* gamma((n-k+1)*1.0_kr))*p**k*(1-p)**(n-k) end subroutine binomiale subroutine gauss(f,x,p,m) real(kind=kr),intent(in)::x,p,m f=1/sqrt(2*acos(-1.0_kr)*p)*exp(-(x-m)**2/(2*p )) end subroutine gauss subroutine chi(f,x,m) real(kind=kr),intent(in)::x,m f=x**(m/2-1)*exp(-x/2)/(2**(m/2)*gamma(m/2)) end subroutine chi end module distrib Si è utilizzata per il calcolo del fattoriale e del coefficiente binomiale la relazione Γ(n + 1) = n! In quanto la gamma di Eulero è una funzione intrinseca del linguaggio Fortran. Per far questo si deve opportunamente convertire l argomento della funzione gamma di modo che sia un numero reale con kind=kr. Veniamo alla terza parte, che contiene le istruzioni relative al programma eseguibile. Il codice è spezzato in due parti al fine di spiegarne meglio le caratteristiche. program grafico use distrib 2

3 implicit none integer::a,b,k,n,i,g,s real(kind=kr)::f,x,m,p character(30)::nome,title character(70)::graph print*, "Indicare il numero di grafici da effettuare" read*, g open(unit=1,file= gp.txt ) write(unit=1,fmt="(a)")"set title Confronti " write(unit=1,fmt="(a)")"set xlabel Variabile casuale " write(unit=1,fmt="(a)")"set ylabel Funzione di distribuzione " write(unit=1,fmt="(a)")"set key noautotitle" write(unit=1,fmt="(a)",advance= no )"plot " do i=1,g graph="" print*, "Scegliere il numero corrispondente al tipo di distribuzione desiderato per il grafico", i print*, "1) Binomiale" print*, "2) Poisson" print*, "3) Gauss" print*, "4) Chi^2" read*, s Il programma innanzitutto richiede il numero di grafici da effettuare, ed esegue un ciclo con un numero di iterazioni opportune per permettere di scegliere ciascuna volta il tipo di grafico desiderato. Viene subito aperto il file gp.txt sul quale verranno scritte le istruzioni necessarie a Gnuplot per mostrare i grafici generati dal programma. Segue adesso una serie di se che permette di eseguire un blocco di istruzioni differenti a seconda della distribuzione scelta. if(s==1) then print*, "Inserire il numero di eventi totali" read*, n print*, "Inserire la probabilita di evento favorevole" read*, p 3

4 write(nome,"(i0,a)")i,"(bin).dat" do k=0,n call binomiale(f,n,p,k) print*, k,f write(unit=2,fmt=*) k,f write(title,"(a,i0,a,f0.2,a)") "binomiale n=, n, p=,p, " write(graph,"(i0,a,a)")i,"(bin).dat w boxes title ",title else if(s==2) then print*, "Inserire gli estremi dell intervallo da graficare" read*, a read*, b print*, "Inserire il valore medio" read*, m write(nome,"(i0,a)")i,"(poi).dat" do k=a,b call poisson(f,m,k) print*, k,f write(unit=2,fmt=*) k,f write(title,"(a,f0.2,a)") "poisson nu=,m, " write(graph,"(i0,a,a)")i,"(poi).dat w boxes title ",title else if(s==3) then print*, "Inserire gli estremi dell intervallo da graficare" read*, a read*, b print*, "Inserire il numero di campionamenti da effettuare" read*, n print*, "Inserire il valore medio" 4

5 read*, m print*, "Inserire la varianza" read*, p write(nome,"(i0,a)")i,"(gau).dat" do k=0,n x=a+k*(b-a)/(n*1.0_kr) call gauss(f,x,p,m) print*, x,f write(unit=2,fmt=*) x,f write(title,"(a,f0.2,a,f0.2,a)") "gauss mu=,m, var=,p, " write(graph,"(i0,a,a)")i,"(gau).dat w l title ",title else if(s==4) then print*, "Inserire gli estremi dell intervallo da graficare" read*, a read*, b print*, "Inserire il numero di campionamenti da effettuare" read*, n print*, "Inserire i gradi di liberta " read*, m write(nome,"(i0,a)")i,"(chi).dat" do k=0,n x=a+k*(b-a)/(n*1.0_kr) call chi(f,x,m) print*, x,f write(unit=2,fmt=*) x,f write(title,"(a,f0.2,a)") "chi^2 n=,m, " write(graph,"(i0,a,a)")i,"(chi).dat w l title ",title end if 5

6 if(i==g)then write(unit=1,fmt="(a)",advance= no )"" else write(unit=1,fmt="(a)",advance= no )", " end if end program grafico I blocchi di istruzioni sono, come è evidente, strutturati con la stessa logica per tutte e quattro le distribuzioni. Dapprima viene richiamata la subroutine relativa alla distribuzione scelta, utilizzando come argomento i parametri immessi da tastiera. Si stampano allora su un file del tipo i(dis).dat 3 Questi file sono utilizzabili indipendentemente da Gnuplot e possono essere eventualmente utilizzati come input per altri scopi. Infine vengono aggiunte sul file che contiene le istruzioni per il plot delle distribuzioni le righe necessarie per la stampa del titolo opportuno sulla legenda, che riporta i parametri caratteristici di ogni distribuzione. Per questo scopo vengono scritte delle stringhe di testo con formato differente a seconda della distribuzione che permettono di memorizzare temporaneamente quanto poi scritto sul file di testo. Notiamo che nel grafico di Gnuplot è mostrato sull asse delle ascisse l intervallo che contiene tutti gli intervalli selezionati dall utente nella scelta delle diverse distribuzioni, in quanto il file è costruito di modo da mostrare le distribuzioni desiderate sovrapposte tra loro, come richiesto dall esercizio. Se si vogliono creare file di istruzioni per Gnuplot che permettano di generare grafici singoli per ognuna delle distribuzioni desiderate, è sufficiente eseguire il programma più volte realizzando, per ognuna di esse, il grafico voluto. Prima della riesecuzione è però necessario rinominare i file gp.txt e 1(dis).dat che altrimenti vengono sovrascritti. Per ottenere il grafico è sufficiente aprire Gnuplot e dare il comando -load gp.txt dalla posizione in cui si è eseguito il programma. 3 Il nome è strutturato di modo che i è l indice progressivo associato al numero di grafico, mentre (dis) è un etichetta che permette di identificare il tipo di distribuzione. 6

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot Andrea Franceschini E-mail: franceschini@dmsa.unipd.it Dispense: http://www.math.unipd.it/ putti/teaching/calcolo

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 4: Grafici di convergenza e functions

Laboratorio di Calcolo Numerico Laboratorio 4: Grafici di convergenza e functions Dipartimento di Matematica Laboratorio di Calcolo Numerico Laboratorio 4: Grafici di convergenza e functions Damiano Pasetto E-mail: pasetto@math.unipd.it Dispense: http://dispense.dmsa.unipd.it/putti/calcolo

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90

Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90 Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90 Andrea Franceschini E-mail: franceschini@dmsa.unipd.it Dispense: http://www.math.unipd.it/ putti/teaching/calcolo ambientale/index.html

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 3: equazioni non lineari

Laboratorio di Calcolo Numerico Laboratorio 3: equazioni non lineari Dipartimento di Matematica Laboratorio di Calcolo Numerico Laboratorio 3: equazioni non lineari Damiano Pasetto E-mail: pasetto@math.unipd.it Dispense: http://dispense.dmsa.unipd.it/putti/calcolo ambientale/index.html

Dettagli

Strutture di controllo e cicli

Strutture di controllo e cicli AA 2012-2013 IF logico L IF logico rappresenta il tipo piú semplice di istruzione condizionale IF logico L IF logico rappresenta il tipo piú semplice di istruzione condizionale Sintassi IF ( e s p r e

Dettagli

dt t z 1 exp( t). = π, Γ

dt t z 1 exp( t). = π, Γ Prova d esame di Laboratorio di Calcolo I per il corso di laurea in Matematica 16 Settembre 2009 Tema d esame: studio di alcune proprietà della funzione Γ di Eulero. Descrizione del metodo di calcolo La

Dettagli

8.8 Modificare i file di testo I processi La stampa Accesso alle periferiche 176

8.8 Modificare i file di testo I processi La stampa Accesso alle periferiche 176 INDICE i Statistica ed analisi dei dati 1 1 Propagazione degli errori. Parte I 5 1.1 Terminologia 5 1.2 Propagazione dell incertezza massima (errore massimo) 7 1.2.1 Somma 8 1.2.2 Differenza 9 1.2.3 Prodotto

Dettagli

Sviluppare un programma in FORTRAN

Sviluppare un programma in FORTRAN Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,

Dettagli

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo

Dettagli

Sistemi a microprocessore

Sistemi a microprocessore Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione

Dettagli

FONDAMENTI DI SEGNALI E TRASMISSIONE 2 Laboratorio

FONDAMENTI DI SEGNALI E TRASMISSIONE 2 Laboratorio FONDAMENTI DI SEGNALI E TRASMISSIONE 2 Laboratorio Paolo Mazzucchelli mazzucch@elet.polimi.it MATLAB: linguaggio di programmazione L ambiente MATLAB possiede un completo linguaggio di programmazione. Vediamo

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Implementazione in Fortran del Metodo Runge-Kutta di IV ordine per l Equazione di van der Pol

Implementazione in Fortran del Metodo Runge-Kutta di IV ordine per l Equazione di van der Pol Implementazione in Fortran del Metodo Runge-Kutta di IV ordine per l Equazione di van der Pol Marco Frego 16 marzo 2007 1 Introduzione e commenti sul metodo Utilizzare il metodo Runge-Kutta di IV ordine

Dettagli

1. Calcolo dell indice di condizionamento di una matrice

1. Calcolo dell indice di condizionamento di una matrice 1 Esercizi sul condizionamento con matlab laboratorio di Calcolo Scientifico per Geofisici Prof. A. Murli a.a. 2006/07 1. Calcolo dell indice di condizionamento di una matrice Determinare una function

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Procedure intrinseche

Procedure intrinseche Introduction to modern Fortran Maurizio Cremonesi, CINECA Maggio 2017 Allo scopo di rendere più chiaro il programma, è buona norma, laddove vengono utilizzate procedure intrinseche, segnalarle con la dichiarazione

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.

Dettagli

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello Straordinario del 05 Marzo 2007 ( )

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello Straordinario del 05 Marzo 2007 ( ) COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello Straordinario del 05 Marzo 2007 (09.30 12.30) Esercizio 1 (punti 15) Due file di testo (PAROLE1.TXT e PAROLE2.TXT) contengono un

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A Esercizi di MatLab Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, AA 2017 2018 Gli esercizi sono divisi in due gruppi: fondamentali ed avanzati I primi sono

Dettagli

Utilizzo di index() per determinare la colonna delle x

Utilizzo di index() per determinare la colonna delle x Utilizzo di inde() per determinare la colonna delle In generale devo essere in grado di costruire un foglio dati con una colonna delle i cui estremi siano (a,b) bbiamo visto che le righe sono individuate

Dettagli

INTRODUZIONE AL C++ CLASSIFICAZIONE

INTRODUZIONE AL C++ CLASSIFICAZIONE INTRODUZIONE AL C++ 1 CLASSIFICAZIONE LINGUAGGI CHE OPERANO SU DATI OMOGENEI: FORTRAN77, LINGUAGGIO C, LINGUAGGIO C++, PASCAL: operano solo su DATI OMOGENEI (integer, float, double), senza classi e puntatori;

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Fortran in pillole : seconda lezione

Fortran in pillole : seconda lezione Fortran in pillole : seconda lezione Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria I predicati Riprendiamo l algoritmo

Dettagli

Appelli degli anni precedenti Domande di teoria

Appelli degli anni precedenti Domande di teoria Appelli degli anni precedenti di teoria 10 settembre 2003 1) Indicare i compiti principali di un sistema operativo 2) Spiegare come e' strutturata e come funziona la memoria di un computer 3)Rappresentare

Dettagli

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello Straordinario Mercoledì 18 Ottobre 2006 ( )

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello Straordinario Mercoledì 18 Ottobre 2006 ( ) Esercizio 1 (punti 12) COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello Straordinario Mercoledì 18 Ottobre 2006 (09.30 12.30) Il DataBase di figura contiene dati utili per una gestione

Dettagli

Metodi numerici con elementi di Programmazione A.A

Metodi numerici con elementi di Programmazione A.A Metodi numerici con elementi di Programmazione A.A. 2013-2014 Esercizi svolti in Laboratorio Lezione del 26-11-2013 1 Docente: Vittoria Bruni Email: vittoria.bruni@sbai.uniroma1.it Ufficio: Via A. Scarpa,

Dettagli

Problema: stampa degli interi compresi tra n e m

Problema: stampa degli interi compresi tra n e m Costrutti imperativi Problema: stampa degli interi compresi tra n e m http://caml.inria.fr/pub/docs/manual-ocaml/libref/pervasives.html Output functions on standard output val print_string: string -> unit

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Hackerando la Macchina Ridotta

Hackerando la Macchina Ridotta La macchina ridotta La Routine di Moltiplicazione Una moltiplicazione che non voleva funzionare 27 novembre 2008 La macchina ridotta La Routine di Moltiplicazione Table of contents 1 La macchina ridotta

Dettagli

Istruzioni condizionali di diramazione in Fortran 90

Istruzioni condizionali di diramazione in Fortran 90 Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento

Dettagli

Fortran in pillole : prima parte

Fortran in pillole : prima parte Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato

Dettagli

Esercitazione Programmazione I con Laboratorio

Esercitazione Programmazione I con Laboratorio Esercitazione Programmazione I con Laboratorio Basi e Rappresentabilità Esercizio 1 Conversione e modulo a segno Tradurre in base 10 i seguenti numeri rappresentati in base due e modulo a segno (sign-module),

Dettagli

Esercitazione 4. Prima parte. v($ + 1) = g(v($))

Esercitazione 4. Prima parte. v($ + 1) = g(v($)) Esercitazione 4 Istruzioni trattate: l operatore $, grid, legend, plot2d. In questa esercitazione si considera il problema di approssimare lo zero, α, della funzione f definita per > da: f() = + log Nella

Dettagli

Introduzione agli Algoritmi

Introduzione agli Algoritmi Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

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

Dettagli

DESCRIZIONE DELL APPROCCIO SIMULATIVO E UTILIZZO DEI SIMULATORI. Analisi delle prestazioni di un sistema

DESCRIZIONE DELL APPROCCIO SIMULATIVO E UTILIZZO DEI SIMULATORI. Analisi delle prestazioni di un sistema DESCRIZIONE DELL APPROCCIO SIMULATIVO E UTILIZZO DEI SIMULATORI Ing. Michele Savi DEIS Università di Bologna michele.savi@unibo.it Analisi delle prestazioni di un sistema La valutazione delle prestazioni

Dettagli

Esercitazione 4. Prima parte. La definizione che segue è una realizzazione del metodo ad un punto definito dalla funzione h. 1

Esercitazione 4. Prima parte. La definizione che segue è una realizzazione del metodo ad un punto definito dalla funzione h. 1 Esercitazione 4 Istruzioni trattate: l operatore $, grid, legend, plot2d, l operatore :. In questa esercitazione si considera il problema di approssimare lo zero, α, della funzione f definita per > da:

Dettagli

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate

Dettagli

Esercitazione n 2. Costruzione di grafici

Esercitazione n 2. Costruzione di grafici Esercitazione n 2 Costruzione di grafici I grafici I grafici sono rappresentazione di dati numerici e/o di funzioni. Devono facilitare all utente la visualizzazione e la comprensione dei numeri e del fenomeno

Dettagli

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello dell 11 Febbraio 2008 ( )

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello dell 11 Febbraio 2008 ( ) COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello dell 11 Febbraio 2008 (15.00 18.00) Esercizio 1 (punti 15) Scrivere in linguaggio fortran un algoritmo capace di eseguire le seguenti

Dettagli

FORTRAN: LE STRUTTURE DI CONTROLLO

FORTRAN: LE STRUTTURE DI CONTROLLO UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE ELEMENTI DI PROGRAMMAZIONE FORTRAN: LE STRUTTURE DI CONTROLLO Prof. Andrea Prevete - a.a. 2015/16 IF-THEN La più semplice struttura di controllo è lo statement

Dettagli

Teodoro Cristiano

Teodoro Cristiano Teodoro Cristiano teodorocristiano@tiscali.it Un efficiente algoritmo per il calcolo di e di ( Esponenziazione veloce) Introduzione (mod p) 1 Nel presente articolo viene illustrato un efficiente algoritmo

Dettagli

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A. 2017-18 1. Scrivere la function Matlab myfun.m che calcoli la funzione e la sua derivata. La function deve ricevere

Dettagli

Breve guida al linguaggio FORTRAN 77

Breve guida al linguaggio FORTRAN 77 Breve guida al linguaggio FORTRAN 77 Variabili (valori di default) Iniziali con lettere da I a N Iniziali con lettere da A a H oppure da O a Z variabili intere, 4 byte in precisione singola variabili reali,

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Dati: Conclusioni >> Sommario Sommario Ricapitolazione Alcune

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to Fortran 90 Massimiliano Guarrasi, CINECA m.guarrasi@cineca.it Ottobre 2014 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile

Dettagli

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica 28 novembre 2007 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.

Dettagli

Corso di Fondamenti di Informatica Università degli Studi di Cassino

Corso di Fondamenti di Informatica Università degli Studi di Cassino 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

FACOLTA DI INGEGNERIA CIVILE

FACOLTA DI INGEGNERIA CIVILE 1 UNIVERSITA DI PADOVA FACOLTA DI INGEGNERIA CIVILE Corso di calcolo numerico e Programmazione PROGETTO 2: sulla soluzione dei sistemi lineari. 2 3 4 5 6 7 8 9 10 11 12 Iterate k 40 38 36 34 32 30 28 26

Dettagli

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:

Dettagli

Il software Epi Info

Il software Epi Info Il software Epi Info Controlli sui dati nell esempio dello studio sulla compliance: Crea maschera Controlli sui valori dei dati Quando si creano i campi (clic destro sulla maschera) è già possibile utilizzare:

Dettagli

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A. 2018-19 1. Scrivere la function Matlab myfun.m che valuti la funzione e la sua derivata in corrispondenza delle

Dettagli

Le operazioni di Input e Output

Le operazioni di Input e Output Le operazioni di Input e Output Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Input e Output Il salvataggio dei datisu disco e la loro lettura è possibile dopo aver generato un "collegamento"

Dettagli

Costrutti condizionali e iterativi

Costrutti condizionali e iterativi Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni

Dettagli

Esercizi scalari. 10*10^6 + 3; (Usare la notazione esponenziale) coseno(30 ) - seno(pi greco/2) + pi greco /6 (0.3896)

Esercizi scalari. 10*10^6 + 3; (Usare la notazione esponenziale) coseno(30 ) - seno(pi greco/2) + pi greco /6 (0.3896) Esercizi scalari 10*10^6 + 3; (Usare la notazione esponenziale) coseno(30 ) - seno(pi greco/2) + pi greco /6 (0.3896) (3j+2)/(4+5J) (0.5610 + 0.0488i) a=42; b=25; c=a* b Risultato c=210 Cancellare b dal

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Fondamenti di Informatica A. A. 2018/19

Fondamenti di Informatica A. A. 2018/19 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale

Dettagli

I tipi di dato del Fortran

I tipi di dato del Fortran I tipi di dato del Fortran In Fortran sono disponibili 5 tipi di dato (tipi primitivi o predefiniti): INTEGER REAL COMPLEX CHARACTER LOGICAL tipi numerici tipi non numerici Non considereremo il tipo COMPLEX

Dettagli

Problema Posto s = n 2 a) calcolare la somma s per n=30 b) determinare il più piccolo intero n tale che s>30000

Problema Posto s = n 2 a) calcolare la somma s per n=30 b) determinare il più piccolo intero n tale che s>30000 Problema Posto s = 1 2 + 2 2 + 3 2 + + n 2 a) calcolare la somma s per n=30 b) determinare il più piccolo intero n tale che s>30000 Somma quadrati (for next).xlsm Somma quadrati (do loop).xlsm Nota La

Dettagli

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

Dettagli

MATLAB Elementi di grafica Costrutti di programmazione

MATLAB Elementi di grafica Costrutti di programmazione MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per

Dettagli

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013 Laboratorio 04 Programmazione - CdS Matematica Michele Donini 19 Novembre 2013 Controllo del flusso Selezione: ci permette di modificare il normale flusso sequenziale di un programma a seconda della valutazione

Dettagli

Processi random in natura

Processi random in natura Processi random in natura Esistono in natura processi naturalmente random decadimento radiativo agitazione termica moto di particelle in sospensione Per descrivere questi fenomeni bisogna spesso ricorrere

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

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

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 Elementi del linguaggio e primi programmi

Dettagli

Parte 1: tipi primitivi e istruzioni C

Parte 1: tipi primitivi e istruzioni C Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una

Dettagli

Costrutti condizionali e iterativi

Costrutti condizionali e iterativi Costrutti condizionali e iterativi Introduction to modern Fortran Paolo Ramieri, CINECA Maggio 2017 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle

Dettagli

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 2 - Introduzione a MATLAB

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 2 - Introduzione a MATLAB Complementi di Matematica e Calcolo Numerico A.A. 2010-2011 Laboratorio 2 - Introduzione a MATLAB Che cos è? Programmare con Matlab: Script-files È un file con estensione.m (ad esempio: myfile.m). Contiene

Dettagli

Corso integrato di informatica, statistica e analisi dei dati sperimentali Esercitazione VI

Corso integrato di informatica, statistica e analisi dei dati sperimentali Esercitazione VI Corso integrato di informatica, statistica e analisi dei dati sperimentali Esercitazione VI Test del χ 2 (il file Excel test_chi.xls mostra possibili sviluppi degli esercizi proposti) Esercizio 1a) un

Dettagli

Implementazione di DFA in C

Implementazione di DFA in C Implementazione di DFA in C Dispensa di Laboratorio di Linguaggi di Programmazione Sommario Corrado Mencar, Pasquale Lops, Stefano Ferilli Questa dispensa fornisce le linee guida per l implementazione,

Dettagli

Principi di Programmazione Prova del 10/6/2008 (ore 10.30)

Principi di Programmazione Prova del 10/6/2008 (ore 10.30) Prova del 10/6/2008 (ore 10.30) Scrivere (commentandole) le linee di codice Matlab per costruire i seguenti vettori (5x1): e il vettore di numeri complessi C tali che il singolo elemento c k ha come parte

Dettagli

Introduction to modern Fortran

Introduction to modern Fortran Sintassi di base Introduction to modern Fortran Maurizio Cremonesi, CINECA Maggio 2016 Documentazione e manualistica Può essere facilmente reperita on-line Language reference Descrizione e sintassi del

Dettagli

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query Corso di Access Modulo L2 A (Access) 2.3.1 Le query 1 Prerequisiti Concetto di database relazionale Utilizzo elementare del computer Concetti fondamentali di basi di dati Interrogazione di un DB 2 1 Introduzione

Dettagli

ISTRUZIONI A B K A, B, K A<B? SI A<B? SI A<B? SI

ISTRUZIONI A B K A, B, K A<B? SI A<B? SI A<B? SI SECONDA PARTE 6. LA RIPETIZIONE while ISTRUZIONI A B K A, B, K 0 10 0 While A

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi Corso di Laboratorio di Sistemi Operativi Lezione 4 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Approfondimento su make http://http://capone.mtsu.edu/csdept/facilitiesandresources/make.htm

Dettagli

Parte I - Concetti Base ESEMPIO

Parte I - Concetti Base ESEMPIO Informatica Nome e Cognome: Esempio Esame Programma Completo, I Turno 17/12/2015 C. I. Durate: 45 Minuti N. Matricola Questa prova contiene 32 domande. Il punteggio totale è 32. Ogni risposta corretta

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione

Dettagli

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici Introduzione a MATLAB Parte 2 1 L operatore : (due punti) Permette di costruire rapidamente vettori:

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative

Dettagli

Approssimazione dell esponenziale

Approssimazione dell esponenziale Approssimazione dell esponenziale Si calcola l approssimazione di exp(x) mediante sviluppo in serie di Taylor opportunamente troncato. Più precisamente, per ogni fissato valore di x (si considereranno

Dettagli

ESERCITAZIONE MATLAB

ESERCITAZIONE MATLAB ESERCITAZIONE MATLAB Di seguito sono ripostati alcuni esercizi da eseguire in ambiente MatLab. Gli esercizi sono divisi per argomenti. Ogni esercizio è preceduto da una serie di esempi che aiutano nello

Dettagli

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

Strutture di Controllo Condizionali e Operatori Logici e Relazionali Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare

Dettagli

Simulazione dei dati

Simulazione dei dati Simulazione dei dati Scopo della simulazione Fasi della simulazione Generazione di numeri casuali Esempi Simulazione con Montecarlo 0 Scopo della simulazione Le distribuzioni di riferimento usate per determinare

Dettagli

Esercitazione n 3. Ancora grafici

Esercitazione n 3. Ancora grafici Esercitazione n 3 Ancora grafici I grafici I grafici sono rappresentazione di dati numerici e/o di funzioni. Devono facilitare all utente la visualizzazione e la comprensione dei numeri e del fenomeno

Dettagli

Python. Loriano Storchi.

Python. Loriano Storchi. Python Loriano Storchi loriano@storchi.org http:://www.storchi.org/ I linguaggi di programmazione Abbiamo visto che i linguaggi di programmaione sono: Dichiarativi Logici Funzionali Imperativi Procedurali

Dettagli