MATLAB Le funzioni. Funzioni. Funzioni. Funzioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MATLAB Le funzioni. Funzioni. Funzioni. Funzioni"

Transcript

1 MATLAB Le funzioni Con il termine funzione si inte, in generale, un operatore che, applicato a un insieme di operandi, calcola un valore come risultato, esattamente come avviene anche per una funzione matematica f(x). f(x) restituisce, in generale, un valore diverso per ogni diverso valore di x. I valori che inseriamo tra parentesi, che in matematica chiamiamo variabili indipenti, in MATLAB si chiamano parametri (o argomenti) della funzione 2 Una funzione compre una serie di istruzioni che producono un risultato che varia al variare del valore degli argomenti della funzione stessa ma che è ottenuto mediante lo stesso procedimento. Es. il valore del massimo fra 3,5,2,9 è diverso dal massimo fra 1,3,8,7; però, in entrambi i casi, per trovare il massimo uso lo stesso procedimento (confronto i primi due, trovo il massimo, confronto il massimo trovato col terzo, e così via ) Usare le funzioni serve per poter riutilizzare codice scritto in precedenza calcolare il massimo fra gli elementi di un vettore vet richiede l esecuzione di un certo numero di istruzioni, ma se ho a disposizione la funzione max(vet) posso evitare di scrivere tutte le volte tutte le istruzioni che mi permettono di calcolarlo. Mi basterà scrivere (ad es.) disp(max(vet)) anche se, in realtà, il calcolatore ovviamente esegue tutta la procedura

2 Per definire una funzione è necessario, in generale, specificare una intestazione che contiene: Nome della funzione I cosiddetti parametri formali (cioè gli argomenti della funzione, i dati di ingresso alla funzione) Risultati forniti (cioè l output della funzione) (intestazione di una funzione) function y = doppio (x) doppio è il nome della funzione x è il parametro formale (input) y è il risultato (output) function [<risultati>] = nome_funzione ([ par.formali ]) 5 6 Per definire una funzione è necessario definire l intestazione della funzione (che descrive cosa produce la funzione e con quali dati) seguita dal codice della funzione (cioè come lo produce). La definizione della funzione è chiusa da function y = doppio(x) y = 2 * x; function [ risultati ] = nome funzione ([ par.formali ]) istruzioni Il risultato (risultati) della funzione e /sono il/i valore/i che, al termine dell esecuzione del codice, hanno le variabili di output. Quindi il codice DEVE assegnare i risultati alle variabili specificate a sinistra dell uguale nell intestazione. Il risultato è calcolato seguo la procedura descritta dal codice, che utilizza le variabili di input (parametri formali) 7 8 2

3 In una funzione possono non essere specificati: Parametri formali (che costituiscono l input della funzione) Ad es., una funzione che stampa sempre lo stesso messaggio non ha bisogno di dati di input. Risultati Ad es., se devo solo stampare i risultati su monitor e non riutilizzarli nei calcoli successivi. In questo caso il risultato della funzione non è il calcolo di un nuovo dato, ma le operazioni che svolge e che posso sostituire richiamando la funzione. Chiamata di funzioni Una volta definita una funzione (nell esempio, la funzione doppio(x), essa può essere utilizzata all interno di un programma (o di un altra funzione) a = input('inserisci un numero ') duevoltea = doppio(a); disp (duevoltea); Chiamata di funzione 9 10 Chiamata di funzioni La funzione (programma) che utilizza al suo interno un altra funzione si dice, rispetto ad essa, funzione (programma) chiamante; l utilizzo di una funzione si dice chiamata di funzione. Nell esempio precedente il programma chiamante invoca la funzione doppio(x) Le operazioni che nel codice della funzione vengono eseguite sui parametri formali, nella esecuzione della funzione vengono eseguite sui valori dei corrispondenti argomenti che compaiono nella chiamata (o parametri effettivi). Si ha quindi passaggio dei parametri per valore. Analoga corrispondenza fra parametri esiste per i risultati Chiamata di funzioni function [d,s] = diffsomma(a,b) d = a - b; %calcola la differenza s = a + b; %calcola la somma Programma chiamante x input('inserisci un numero ') y input('inserisci un altro numero ') [dxy,sxy] = diffsomma(x,y) fprintf('la differenza fra %f e %f è %f',x,y,dxy); fprintf('la somma fra %f e %f è %f',x,y,sxy); La funzione viene eseguita usando come valori per a e b, rispettivamente, i valori di x e y. Restituisce due valori ( d e s nella funzione) che, nel programma chiamante, sono assegnati, rispettivamente, a dxy e sxy

4 Passaggio parametri per valore La funzione opera sui valori dei parametri attuali (che possono essere espressioni generiche) e non modifica la variabile eventualmente usata nella chiamata. Es. Se nel programma chiamante ho che. x = 3; y = doppio(x); dopo l esecuzione di doppio(x) il valore di x non risulta modificato (y, ovviamente, vale 6). Normalmente, ogni chiamata di funzione deve specificare come argomenti, attraverso una serie di espressioni dello stesso tipo dei parametri corrispondenti, tanti valori quanti sono i parametri formali. Passaggio parametri per valore function risultato = somma (a,b) risultato = a+b; : x=3, y=2; z = somma (x,y); z = somma (z+2,5); p = somma (3,x); Quanto valgono p e z al termine dell esecuzione del codice? con parametri: riepilogo Operano su valori diversi per ogni chiamata di funzione, a seconda del valore che assumono in quel momento le espressioni che sono inserite come parametri effettivi nella chiamata. Si dice che i parametri vengono passati per valore, cioè la funzione assegna, all inizio della sua esecuzione, i valori delle espressioni inserite come argomenti della sua chiamata (dette parametri effettivi o argomenti), alle corrispondenti variabili che appaiono nella definizione della funzione come parametri formali. Passaggio parametri per valore I parametri effettivi (o argomenti, o parametri attuali) sono passati per valore dalla funzione chiamante I valori dei parametri effettivi sono copiati nei parametri formali utilizzati dalla funzione chiamata, cioè i loro valori sono usati per inizializzare le variabili (parametri formali) corrispondenti all interno della funzione Nessun effetto provocato da modifiche nel parametro formale all interno della funzione si ripercuote sul parametro reale del programma chiamante

5 function mx = massimo(m,n) if m n mx=m; % m,n sono else mx=n; % i parametri formali ; % della funzione Programma chiamante: % a e b sono i parametri attuali della % chiamata a input('inserisci un numero ') b input('inserisci un altro numero ') piugrande = massimo(a,b); disp('il massimo è '), disp(piugrande); Passaggio parametri per valore (by value) g = 5; h = doppio(g); disp(g); disp(h); function y=doppio(x) % x è un parametro formale y=2*x; Quale sarà il valore stampato per le variabili g e h? Si realizzi un programma che legga da tastiera il costo di listino di un prodotto e la percentuale di sconto e visualizzi il prezzo da pagare. Per realizzare il programma si definisca e si usi una funzione che riceve come parametri i due valori e calcola il prezzo finale function ps = prezzo_scont (valore, percent) ps = valore - (valore*percent/100); Valore e percent sono i parametri formali della funzione [costo, perc] = input('introduci costo e percentuale (interi) '); disp('prezzo di listino: '), disp(costo); disp('sconto: '), disp(perc); disp('prezzo finale: '), disp(prezzo_scont(costo, perc) ); Costo e perc sono i parametri effettivi della chiamata

6 % Restituisce il minimo elemento di un vettore. % vet: vettore di cui si cerca il minimo % dim: numero di elementi del vettore function mn = min_ele (vet,dim) mn vet(1); for i=2:dim if vet(i) mn mn vet(i); for i 1:10 numeri(i) = input ('Inserire un numero: '); disp('il minimo è : '), disp(min_ele(numeri,10)); Esercizi Scrivere una funzione function mx = massimodisp(vet,dim) che calcoli l elemento in posizione dispari di valore più elevato contenuto nel vettore vet di dimensione dim. Sapo che la funzione s = length(v) restituisce la lunghezza del vettore V, utilizzare questa funzione per riscrivere la funzione massimodisp nella forma function mx = massimodisp(vet) Usando massimodisp(x),scrivere un programma che, dati 2 vettori: calcoli il valore più grande fra il massimo in posizione dispari dell uno e il minimo in posizione dispari dell altro stampi tale valore, indicando in quale dei due vettori è contenuto Esercizi Scrivere una funzione m = media(a,b,c) che restituisce la media di tre numeri a,b,c e un programma che chiama la funzione e stampa i valori di a,b,c e la media. Generalizzare la funzione per un numero qualsiasi n di valori, ponola nella forma function m = mediavet (vet, n) Scrivere una funzione somman(vet, n) che restituisce la somma dei primi n elementi del vettore vet e il programma che inserisce in un vettore n numeri e chiama la funzione per stamparne la somma. Non usare le funzioni di MATLAB, ma solo gli operatori aritmetici di base 23 6

Funzioni. function [<risultati>] = nome_funzione ([ par.formali ])

Funzioni. function [<risultati>] = nome_funzione ([ par.formali ]) MATLAB Le funzioni Funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, calcola un valore come risultato, esattamente come avviene anche per una

Dettagli

MATLAB Le funzioni. Funzioni. Funzioni. Funzioni

MATLAB Le funzioni. Funzioni. Funzioni. Funzioni MATLAB Le funzioni Con il termine funzione si inte, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un valore come risultato, come avviene anche per una funzione

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un valore come risultato, come avviene anche per una funzione matematica

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria e Architettura Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Funzioni Esercizi Stefano Cagnoni Funzione Sequenza di istruzioni

Dettagli

MATLAB Alcune funzioni utili: fprintf, length, size

MATLAB Alcune funzioni utili: fprintf, length, size MATLAB Alcune funzioni utili: fprintf, length, size Funzione fprintf fprintf(fileid, format, var1, var2,... ) fprintf(format, var1, var2,... ) count = fprintf(...) fprintf(fileid, format, A, B) salva il

Dettagli

Matlab: Script e Funzioni

Matlab: Script e Funzioni Matlab: Script e Funzioni Informatica B Script Cos è uno script (m-file) q Uno script è un file di testo contenente una sequenza di comandi MATLAB non deve contenere caratteri di formattazione (solo testo

Dettagli

Estrazione di dati da una matrice

Estrazione di dati da una matrice Estrazione di dati da una matrice a = [1 2 3 4 5; 9 5 4 7 6; 10 1 7 3 2] b = a(1,2) % 2 elemento della prima riga c = a(1,:) % l'intera prima riga (c è un array monodimensionale) d = a(:,3) % la terza

Dettagli

MATLAB (II parte) Commenti. Input/Output (I/O) Istruzioni di Input/Output (I/O)

MATLAB (II parte) Commenti. Input/Output (I/O) Istruzioni di Input/Output (I/O) Commenti (II parte) Sequenze di caratteri precedute da % Es. % Questo è un commento Vengono ignorati nell'esecuzione di un programma ma servono a chiarire il significato del programma Possono essere inseriti

Dettagli

Estrazione di dati da una matrice

Estrazione di dati da una matrice Estrazione di dati da una matrice a = [ 2 3 4 5; 9 5 4 7 6; 7 3 2] b = a(,2) % 2 elemento della prima riga c = a(,:) % l'intera prima riga (c è un array monodimensionale) d = a(:,3) % la terza colonna

Dettagli

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio Appunti di informatica Lezione 8 anno accademico 2016-2017 Mario Verdicchio Il ciclo FOR Molto spesso in un programma bisogna ripetere un operazione per un numero prefissato di volte Si tratta di un iterazione

Dettagli

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Non sappiamo a priori quante variabili dobbiamo definire per contenere gli interi.

Dettagli

Scheme: struttura del programma e campo di azione

Scheme: struttura del programma e campo di azione «a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net Scheme: struttura del programma e campo di azione Definizione e campo di azione...........................

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

PROGRAMMAZIONE: I sottoprogrammi

PROGRAMMAZIONE: I sottoprogrammi PROGRAMMAZIONE: I sottoprogrammi Prof. Enrico Terrone A. S: 2008/09 Definizione Un sottoprogramma è un blocco di istruzioni a sé stante con un proprio nome. Il main (= sottoprogramma principale) è un caso

Dettagli

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) { Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

Funzioni e programmi. Lab. Programmazione - MATLAB 1

Funzioni e programmi. Lab. Programmazione - MATLAB 1 Funzioni e programmi Un programma è la descrizione di una sequenza di operazioni definite tramite il linguaggio di programmazione che risolvono uno specifico problema su dati predeterminati o forniti dall'utente

Dettagli

Lab 04 Programmazione Strutturata"

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate

Dettagli

Strutture di controllo condizionali in Matlab

Strutture di controllo condizionali in Matlab Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire

Dettagli

Laboratorio di Calcolo Numerico

Laboratorio di Calcolo Numerico Laboratorio di Calcolo Numerico Lezione 3 Padova, April 4th 2016 F. Piazzon Department of Mathematics. Doctoral School in Mathematical Sciences, Applied Mathematics Area Outline Lab. 3-2 of 16 1 Costrutti

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

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole di Boole e Circuiti e Circuiti Logici Logici Prof. XXX Prof. Arcangelo Castiglione A.A. 2016/17 A.A. 2016/17 L Algebra di Boole 1/3 Un po di storia Il matematico

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

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

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript Funzioni Funzioni predefinite della libreria matematica Funzioni disponibili: Math.sqrt(x) radice quadrata Math.log(x) logaritmo naturale in base e di x Math.abs(x) valore assoluto di x Math.ceil(x) arrotonda

Dettagli

FUNZIONI FUNZIONI COME COMPONENTI SW

FUNZIONI FUNZIONI COME COMPONENTI SW FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

MATLAB c. Lucia Gastaldi Dipartimento di Matematica  Lezione 4 (15 ottobre 2003) MATLAB c M-file. Lucia Gastaldi Dipartimento di Matematica http://dm.ing.unibs.it/gastaldi/ Lezione 4 (15 ottobre 2003) Esercizio Problema 3: la successione di funzioni f n (x) = (x 2 x) n per 0 x 1 è

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto ESERCIZI - 1 http://www.diee.unica.it/giacinto/lab

Dettagli

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.

Dettagli

Esercizio 1. Esercizio 2

Esercizio 1. Esercizio 2 Esercizio 1 Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio:

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

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

Matlab: Funzioni. Informatica B AA 17/18 Luca Cassano 22 Novembre Informatica B, AA 17/18, Luca Cassano

Matlab: Funzioni. Informatica B AA 17/18 Luca Cassano 22 Novembre Informatica B, AA 17/18, Luca Cassano Matlab: Funzioni Informatica B AA 17/18 Luca Cassano luca.cassano@polimi.it 22 Novembre 2017 A cosa servono funzioni e script? Calcolo del fattoriale Scrivere un programma che legge da tastiera un intero

Dettagli

Fondamenti di Informatica. Algebra di Boole

Fondamenti di Informatica. Algebra di Boole Fondamenti di Informatica Prof. Marco Lombardi A.A. 2018/19 L 1/3 Un po di storia Il matematico inglese George Boole nel 1847 fondò un campo della matematica e della filosofia chiamato logica simbolica

Dettagli

laboratorio di python

laboratorio di python laboratorio di python definizioni di booleani, selezione ed uso degli input 13 Marzo 2019 1/32 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che non ha nessun parametro, non restituisce

Dettagli

Corso di Fondamenti di Informatica Macroarea di Ingegneria 2017/18. Tutor: prof. Francesco De Vincenzi

Corso di Fondamenti di Informatica Macroarea di Ingegneria 2017/18. Tutor: prof. Francesco De Vincenzi Corso di Fondamenti di Informatica Macroarea di Ingegneria 2017/18 Tutor: prof Francesco De Vincenzi MATLAB: Gli script MATLAB: Esempio di script Area di un triangolo dati base e altezza base=input('inserisci

Dettagli

Strutture di controllo

Strutture di controllo Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria ivile e Ambientale MATLAB: le strutture di controllo If, while, for, do until

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra

Dettagli

Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi

Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi Diagrammi di flusso - Flowcharts E un formalismo che consente di rappresentare graficamente gli algoritmi Un diagramma di flusso descrive le azioni da eseguire ed il loro ordine di esecuzione Ogni azione

Dettagli

13 Esercizi di Riepilogo

13 Esercizi di Riepilogo 13.1 Esercizi Esercizio 13.1 Si consideri una versione semplificata della battaglia navale in cui le navi possono essere posizionate solo in orizzontale e ogni riga può contenere al massimo una nave. Il

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

I CARATTERI E LE STRINGHE

I CARATTERI E LE STRINGHE I CARATTERI E LE STRINGHE IL CODICE ASCII Per memorizzare i simboli grafici corrispondenti ai caratteri bisogna associare un numero intero a ciascuno di essi Il codice ASCII / æski/ (American Standard

Dettagli

Cicli. S i a i = a 1 + a 2 + a a n

Cicli. S i a i = a 1 + a 2 + a a n Cicli Esprimono in modo compatto e generali l'esecuzione di uno stesso blocco di codice per più volte Anche in matematica sono presenti operatori che eseguono di fatto un ciclo (ad es. sommatoria e produttoria)

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

Dettagli

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione. Alcuni Soluzioni ESERCIZIO 1 Data una sequenza di interi di dimensione dim, determinare se esistono esattamente cont occorrenze del valore val, utilizzando per questo una variabile booleana check. Stato

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

Problema. Vettori e matrici. Vettori. Vettori

Problema. Vettori e matrici. Vettori. Vettori e matrici Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Problema Si vuole un programma che chieda 10 numeri dalla tastiera e li visualizzi dall ultimo al primo Soluzione attuale (con le

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Esercizi 5 CICLI. Es.5(cicli)

Esercizi 5 CICLI. Es.5(cicli) Esercizi 5 CICLI 1 Es.5(cicli) Esercizio 1 Realizzare una funzione che, chiesto all utente un numero intero pari a N, ricavi e stampi a video tutte le terne pitagoriche con i cateti minori o uguali ad

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da

Dettagli

Espressioni letterali e valori numerici

Espressioni letterali e valori numerici Espressioni letterali e valori numerici 9 9.1 Lettere 9.1.1 Lettere per esprimere formule Esempio 9.1. In tutte le villette a schiera di recente costruzione del nuovo quartiere Stella, vi è un terreno

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli

ESERCIZIO 1. Informatica B - Esercitazione 12

ESERCIZIO 1. Informatica B - Esercitazione 12 ESERCIZIO 1 Si scriva in Octave/MATLAB la funzione analisimatrice che: ricevo come parametro una matrice a, verifica che i suoi valori NON siano tutti uguali. Se questo è verificato: - calcola il valore

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L'algebra

Dettagli

8. Modalità di passaggio dei parametri

8. Modalità di passaggio dei parametri 8. Modalità di passaggio dei parametri Quando parliamo di procedure nel linguaggio di progetto, facciamo riferimento ai parametri di input, di output e di input/output; come sappiamo, un parametro è di

Dettagli

Operatori relazionali

Operatori relazionali Operatori relazionali Gli operatori relazionali più comuni sono: == uguale ~= diverso da < minore di > x=2; >> x==0 ans = 0 >> x==2 ans = 1 (questa relazione e falsa:)

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

Integrazione numerica. Gabriella Puppo

Integrazione numerica. Gabriella Puppo Integrazione numerica Gabriella Puppo Integrazione numerica Formula dei trapezi Formula composta di Simpson Funzioni di quadratura di Matlab Esempi Formula dei trapezi Per costruire una function che applichi

Dettagli

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice Funzioni FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvono parti specifiche di un problema Una funzione permette di attribuire un nome ad un insieme di istruzioni

Dettagli

Gli Array. Dichiarazione di un array

Gli Array. Dichiarazione di un array Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato

Dettagli

Il linguaggio C Funzioni e procedure

Il linguaggio C Funzioni e procedure Il linguaggio C Funzioni e procedure modello cliente-servitore risultato Ambiente condiviso cliente servitore richiesta di servizio Sottoprogrammi Spesso può essere utile avere la possibilità di costruire

Dettagli

PROVA SCRITTA DI FONDAMENTI DI INFORMATICA L A 4 DICEMBRE 2003 Prof. Michela Milano COMPITO A

PROVA SCRITTA DI FONDAMENTI DI INFORMATICA L A 4 DICEMBRE 2003 Prof. Michela Milano COMPITO A PROVA SCRITTA DI FONDAMENTI DI INFORMATICA L A 4 DICEMBRE 2003 Prof. Michela Milano COMPITO A Esercizio 1 (punti 5) Si scriva una funzione ricorsiva int doppio(int a, int n); che calcoli il seguente valore:

Dettagli

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09 Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture

Dettagli

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Fondamenti di Programmazione in MATLAB Strutturazione del Codice Sorgente Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Fondamenti di Programmazione in MATLAB:

Dettagli

Esercitazione 6. Array

Esercitazione 6. Array Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione

Dettagli

Espressioni letterali e valori numerici

Espressioni letterali e valori numerici Espressioni letterali e valori numerici 8 8.1 Lettere 8.1.1 Lettere per esprimere formule Esempio 8.1. In tutte le villette a schiera di recente costruzione del nuovo quartiere Stella, vi è un terreno

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

Iterazione determinata e indeterminata

Iterazione determinata e indeterminata Iterazione determinata e indeterminata Le istruzioni iterative permettono di ripetere determinate azioni più volte: un numero di volte fissato = iterazione determinata, Esempio: fai un giro del parco di

Dettagli

Laboratorio n 6 del Ing. Dario Cogliati

Laboratorio n 6 del Ing. Dario Cogliati Laboratorio n 6 del 07-11-2017 Ing. Dario Cogliati Es1 Piloti Si studino le strutture dati, che permettono di memorizzare le informazioni di 20 piloti che partecipano ad una gara automobilistica di 50

Dettagli

Matematica con Python

Matematica con Python Matematica con Python e-mail: maurosaita@tiscalinet.it Versione provvisoria. Dicembre 2016. 1 Lezione n. 3 Numeri primi fino a 1000. Indice 1 Funzioni 2 1.1 Trasformazione di un intervallo di tempo da

Dettagli

Esercizi d esame. Elena Tundo

Esercizi d esame. Elena Tundo Esercizi d esame Elena Tundo Esercizi su Linux Tenendo presente di partire dalla home directory, la sequenza di comandi Linux per creare una sottocartella dir2 ed una dir3 e spostare dentro dir2 il file

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Booleani, Selezione, Input Lab03 7 Marzo 2018 Outline Correzione esercizi per oggi Booleani e Selezione (if) Teoria Esercizi Input Teoria Esercizi Esercizi per casa Esercizio 1 per

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere

Dettagli

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo Programmare Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo Condizioni logiche Le condizioni logiche sono istruzioni che fanno uso di: operatori relazionali (servono a confrontare il valore

Dettagli

Array. Definizione e utilizzo di vettori

Array. Definizione e utilizzo di vettori Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo Iterative: Istruzione FOR Linguaggio C Strutture di Controllo Iterative: Istruzione FOR 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione del

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 alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Costanti, variabili ed espressioni 1 Prerequisiti Concetto matematico di variabile, costante ed espressione Valutazione di espressioni Sintassi e regole di precedenza nelle

Dettagli

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

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

Dettagli

Capitolo 10 - Strutture

Capitolo 10 - Strutture 1 Capitolo 10 - Strutture Strutture In molte situazioni, una variabile non è sufficiente per descrivere un oggetto. Ad esempio, una posizione sul piano cartesiano è identificata da due coordinate, e la

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

FILE DI TESTO e SOTTOPROGRAMMI

FILE DI TESTO e SOTTOPROGRAMMI FILE DI TESTO e SOTTOPROGRAMMI Prof. Enrico Terrone A. S: 2008/09 I file di testo in C++ I file di testo sono una forma di input/output alternativa alla tastiera e al monitor (con il vantaggio della persistenza).

Dettagli

Funzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x)

Funzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x) Funzioni di libreria Richiedono tutte #include x x a x fabs(x) sqrt(x) pow(x,a) x e ln(x) exp(x) log(x) log 10 ( x ) log10(x) sen(x) cos(x) tg(x) arcsen(x) arccos(x) arctg(x) senh(x) cosh(x) tgh(x)

Dettagli