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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 MATLAB Le funzioni

2 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 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 indipendenti, in MATLAB si chiamano parametri (o argomenti) della funzione 2

3 Funzioni Una funzione comprende 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 ) 3

4 Funzioni Usare le funzioni serve per poter riutilizzare codice scritto in precedenza Esempio calcolare il massimo fra gli elementi di un vettore vet richiede l esecuzione di un certo numero di istruzioni, ma in MATLAB ho a disposizione la funzione max(x)(x indica un generico argomento) e posso evitare di scrivere tutte le volte tutte le istruzioni che mi servono per calcolarlo. Mi basterà scrivere (ad es.) disp(max(vet)) anche se, in realtà, il calcolatore ovviamente esegue tutta la procedura. 4

5 Funzioni Per definire una funzione è necessario specificare: Nome della funzione (mi serve per chiamarla) I cosiddetti parametri formali (cioè gli argomenti della funzione, che rappresentano i dati di input alla funzione, cioè i dati di cui ho bisogno per calcolare il valore (output) della funzione. Risultati forniti (cioè l output della funzione) function [<risultati>] = nome_funzione ([ par.formali ]) 5

6 Funzioni Esempio (intestazione di una funzione) function doppio x y = doppio (x) è il nome della funzione è il parametro formale (input) y è il risultato (output) 6

7 Funzioni 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 end Es. function y = doppio(x) end y = 2 * x; Assegno un valore ad x (input) e lo uso per assegnare un nuovo valore ad y (output), che sarà il risultato della funzione. 7

8 Funzioni function [ risultati ] = nome funzione ([ par.formali ]) end istruzioni Il valore della funzione è il valore che, al termine dell esecuzione delle istruzioni, hanno le variabili di output (risultati). Quindi le istruzioni che descrivono le operazioni che esegue la funzione DEVONO assegnare dei valori alle variabili specificate a sinistra dell uguale nell intestazione. Il risultato è calcolato seguendo la procedura descritta dalle istruzioni, che descrivono come devono essere elaborate le variabili rappresentate dai parametri formali (dati di input) per calcolare i risultati. 8

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

11 Chiamata di funzioni function [d,s] = diffsomma(a,b) d = a - b; %calcola la differenza s = a + b; %calcola la somma end Programma chiamante x input('inserisci un numero ') y input('inserisci un altro numero ') [dxy,sxy] = diffsomma(x,y) disp('la differenza fra ), disp(x), disp( e ), disp(y), disp( è ), disp(dxy); fprintf('la somma fra ),disp(x), disp( e ), disp(y), disp( è ), disp(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. 11

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

13 Passaggio parametri per valore function risultato = somma (a,b) risultato = a+b; end Esempio: 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? 13

14 Funzioni 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, quando si chiama una funzione, i parametri vengono passati per valore, cioè la funzione assegna i valori che, nella chiamata, hanno le espressioni inserite fra parentesi (dette parametri effettivi o argomenti), alle corrispondenti variabili che, nella intestazione della funzione, appaiono fra parentesi (parametri formali). 14

15 Passaggio parametri per valore I parametri effettivi (o argomenti, o parametri attuali) sono passati per valore dal programma chiamante I valori dei parametri effettivi sono copiati nei parametri formali utilizzati dalla funzione chiamata, cioè i loro valori sono usati per assegnare un valore alle 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 15

16 Esempio function mx = massimo(m,n) if m n mx=m; % m,n sono else mx=n; % i parametri formali end; % della funzione end 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); 16

17 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; end Quale sarà il valore stampato per le variabili g e h? 17

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

19 Esempio function ps = prezzo_scont (valore, percent) ps = valore - (valore*percent/100); end 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 percentuale sono i parametri effettivi della chiamata 19

20 Esempio % 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=1:dim if vet(i) mn mn vet(i); end end for i 1:10 numeri(i) = input ('Inserire un numero: '); end disp('il minimo è : '), disp(min_ele(numeri,i)); 20

21 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. Sapendo 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,scrivere un programma che, dati 2 vettori: calcoli il valore più grande fra il massimo in posizione dispari dell uno e il minimo dell altro stampi tale valore, indicando in quale dei due vettori è contenuto. 21

22 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, ponendola 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 22

23 Funzioni: Osservazioni 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. 23

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

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

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

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

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

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Dipartimento di Elettronica e Informazione Informatica B Prof. Marco Masseroli LAB 4: MATLAB/OCTAVE ESERCIZI

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

Mini-Corso di Informatica

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

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

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

Università degli Studi del Piemonte Orientale Facoltà di Scienze M.F.N. Precorso di Matematica APPUNTI (preparati da Pier Luigi Ferrari)

Università degli Studi del Piemonte Orientale Facoltà di Scienze M.F.N. Precorso di Matematica APPUNTI (preparati da Pier Luigi Ferrari) Università degli Studi del Piemonte Orientale Facoltà di Scienze M.F.N. Precorso di Matematica APPUNTI (preparati da Pier Luigi Ferrari) 0. Come usare questi appunti In questi appunti troverete alcune

Dettagli

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

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

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

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

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

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

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

Dettagli

1) Premessa: Al posto dei numeri posso utilizzare delle.. m) La differenza tra due numeri qualsiasi:...

1) Premessa: Al posto dei numeri posso utilizzare delle.. m) La differenza tra due numeri qualsiasi:... IL Calcolo letterale ( o algebrico ). 1) Premessa: Al posto dei numeri posso utilizzare delle.. Esempi:. 2) Introduzione. a) Un numero qualsiasi: b) Il doppio di un numero qualsiasi:. c) Il triplo di un

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un

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

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

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 2 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0.

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 9 novembre 2016 Sequenze di Collatz Considerate la seguente regola: dato un numero intero positivo n, se n è pari lo si divide per 2, se è dispari lo si moltiplica per 3 e

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

Dettagli

Laboratorio di informatica Ingegneria Clinica. Esercitazione 2 10 Ottobre 2011

Laboratorio di informatica Ingegneria Clinica. Esercitazione 2 10 Ottobre 2011 Laboratorio di informatica Ingegneria Clinica Esercitazione 2 10 Ottobre 2011 Istruzioni Istruzioni di Input/Output Istruzioni di assegnamento Istruzioni di controllo Permettono di modificare il flusso

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

Espressione di chiamata di funzione

Espressione di chiamata di funzione Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

Equazioni di 2 grado

Equazioni di 2 grado Equazioni di grado Tipi di equazioni: Un equazione (ad una incognita) è di grado se può essere scritta nella forma generale (o forma tipica o ancora forma canonica): a b c con a, b e c numeri reali (però

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una

Dettagli

A lezione sono stati presentati i seguenti passi per risolvere un problema:

A lezione sono stati presentati i seguenti passi per risolvere un problema: Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi

Dettagli

CORSO DI AZZERAMENTO DI MATEMATICA

CORSO DI AZZERAMENTO DI MATEMATICA CORSO DI AZZERAMENTO DI MATEMATICA 1 LE BASI FONDAMENTALI INSIEMI INSIEMI NUMERICI (naturali, interi, razionali e reali) CALCOLO LETTERALE RICHIAMI DI TRIGONOMETRIA I NUMERI COMPLESSI ELEMENTI DI GEOMETRIA

Dettagli

Le Funzioni e la Ricorsione

Le Funzioni e la Ricorsione Aula V Dip. di Matematica G. Castelnuovo Univ. di Roma La Sapienza Le Funzioni e la Ricorsione Igor Melatti Slides disponibili (assieme ad altro materiale) in: http://www.dsi.uniroma1.it/ melatti/programmazione1.2007.2008.html

Dettagli

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

6) Tradurre la definizione ottenuta nel punto 1 in Lisp e calcolare degli esempi sul computer.

6) Tradurre la definizione ottenuta nel punto 1 in Lisp e calcolare degli esempi sul computer. Esercizi Lisp - 15 aprile 2013 1) Data la funzione RAZ in Lisp: (de raz (x y) (if (< x y) x (raz (- x y) y))) Quale funzione è calcolata da RAZ? 2) Data una funzione H in Lisp: (de h (n) (if (= 0 n) 0

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length); Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

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

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

Dettagli

CALCOLO LETTERALE I MONOMI. Il primo tipo di oggetto che incontriamo nel calcolo letterale è il MONOMIO.

CALCOLO LETTERALE I MONOMI. Il primo tipo di oggetto che incontriamo nel calcolo letterale è il MONOMIO. CALCOLO LETTERALE Il calcolo letterale è importante perchè ci consente di realizzare un meccanismo di astrazione fondamentale per l'apprendimento in generale. Scrivere, ad esempio, che l'area di un rettangolo

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

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1 Matlab 5 Funzioni Slide basate sul corso di C. Blundo A.A. 2010/2011 -- GPersiano Laboratorio di Informatica per Fisici 1 Funzioni Le funzioni sono utili quando occorre ripetere una serie di comandi più

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Programmazione orientata agli oggetti: le classi

Programmazione orientata agli oggetti: le classi Programmazione orientata agli oggetti: le classi Oggetti e tipi di dati La programmazione che abbiamo visto finora agisce su variabili che appartengono a tipi di dati predefiniti: interi, floating point,

Dettagli

Formule e funzioni. Manuale d uso

Formule e funzioni. Manuale d uso EXCEL Modulo 2 Formule e funzioni Manuale d uso Formule (1/2) Le formule sono necessarie per eseguire calcoli e utilizzano i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno

Dettagli

Algoritmi e soluzione di problemi

Algoritmi e soluzione di problemi Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)

Dettagli

Risoluzione di problemi ingegneristici con Excel

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

Dettagli

Espressioni semplici e condizionali

Espressioni semplici e condizionali LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L Corso di laurea in Ingegneria Chimica - Anno Accademico 2007-2008 Espressioni semplici e condizionali Esercizio 1 Progettare

Dettagli

Aritmetica in Floating Point

Aritmetica in Floating Point Aritmetica in Floating Point Esempio di non associatività Alcune proprietà delle operazioni in aritmetica esatta possono non valere in aritmetica finita in virgola mobile (floating point). Ad esempio:

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

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Stringhe e allocazione dinamica della memoria

Stringhe e allocazione dinamica della memoria Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per

Dettagli

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni

Dettagli

uguale livello gerarchico non vi sono funzioni più importanti di altre main main

uguale livello gerarchico non vi sono funzioni più importanti di altre main main FUNZIONI in C/C++ Un programma C++ è un insieme di funzioni indipendenti e di uguale livello gerarchico (nel senso che non vi sono funzioni più importanti di altre o dotate, in qualche modo, di diritti

Dettagli

MICROSOFT EXCEL FORMULE E FUNZIONI

MICROSOFT EXCEL FORMULE E FUNZIONI MICROSOFT EXCEL FORMULE E FUNZIONI Lezione 1.2 a.a. 2016-2017 Ing. Giulia Fiscon Sommario Introduzione Microsoft Excel Lavorare con i fogli di calcolo Riferimenti di cella Formule e Funzioni Funzioni logiche

Dettagli

Calcolo letterale. è impossibile (*) x y. per x = -25; impossibile per y= Impossibile. 15 y

Calcolo letterale. è impossibile (*) x y. per x = -25; impossibile per y= Impossibile. 15 y Calcolo letterale Calcolo letterale e operazioni - L uso delle lettere al posto dei numeri si utilizza per scrivere proprietà e regole dandone una valenza più generale rispetto ad un restrittivo esempio

Dettagli

UD 3.2b: Programmazione in Pascal (1)

UD 3.2b: Programmazione in Pascal (1) UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione

Dettagli

Riprendiamo l esercizio calcolatrice

Riprendiamo l esercizio calcolatrice Riprendiamo l esercizio calcolatrice Scrivere un programma calcolatrice che legga da tastiera due variabili intere a e b, poi Stampi un menu con un valore numerico associato a quattro operazioni possibili:

Dettagli

Numeri decimali, rapporti e proporzioni

Numeri decimali, rapporti e proporzioni Numeri decimali, rapporti e proporzioni E. Modica erasmo@galois.it Liceo Scientifico Statale S. Cannizzaro Corso P.O.N. Modelli matematici e realtà A.S. 2010/2011 Da una forma all altra... Dalla frazione

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

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

Dettagli

Richiami di Algebra di Commutazione

Richiami di Algebra di Commutazione LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa

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

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 2 (a) Sintassi e Semantica versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Introduzione a Visual Basic Lezione 2 Cicli e anomalie a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto

Dettagli

L istogramma. Interazione & Multimedia 2

L istogramma. Interazione & Multimedia 2 Istogramma 1 L istogramma I pixel di una immagine sono una popolazione sulla quale possiamo calcolare tutte le quantità statistiche descrittive che si usano normalmente: Media, mediana, varianza, deviazione

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Programmazione II Compitino (Vers. A)

Programmazione II Compitino (Vers. A) Programmazione II Compitino (Vers. A) 16 gennaio 2009 Cognome Jekyll Nome Doctor Matricola 112233 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del metodo

Dettagli

Istruzioni iterative. Istruzioni iterative

Istruzioni iterative. Istruzioni iterative Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni

Dettagli

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

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

Dettagli

Ripasso di potenze. Esercitazione effettuata dal al Ore effettive. Formatore. Alessia Cesana. N scheda. Corso: II O.S.P.A. Laboratorio: Matematica

Ripasso di potenze. Esercitazione effettuata dal al Ore effettive. Formatore. Alessia Cesana. N scheda. Corso: II O.S.P.A. Laboratorio: Matematica C.S.F. En.A.I.P. Cuneo Corso: II O.S.P.A. Laboratorio: Matematica N scheda 1 Titolo Esercitazione / Argomento trattato Ripasso di potenze Obiettivi: Le proprietà delle potenze: teoria ed esercizi h previste:

Dettagli

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

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

Dettagli

Input/Output di numeri

Input/Output di numeri Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 1 Concetti di base della Tecnologia dell Informazione Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. 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 risultato, come avviene anche per una funzione matematica

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

FUNZIONI BOOLEANE. Vero Falso

FUNZIONI BOOLEANE. Vero Falso FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari 4 maggio Nota: gli esercizi più impegnativi sono contrassegnati dal simbolo ( ) Esercizio Siano 3 6 8 6 4 3 3 ) determinare

Dettagli

INTERPOLAZIONE. Introduzione

INTERPOLAZIONE. Introduzione Introduzione INTERPOLAZIONE Quando ci si propone di indagare sperimentalmente la legge di un fenomeno, nel quale intervengono due grandezze x, y simultaneamente variabili, e una dipendente dall altra,

Dettagli

Funzioni e moduli. Andrea Passerini Informatica. funzioni e moduli

Funzioni e moduli. Andrea Passerini Informatica. funzioni e moduli Funzioni e moduli Andrea Passerini passerini@disi.unitn.it Informatica Funzioni nella programmazione Descrizione Una funzione è una sequenza di istruzioni cui viene dato un nome Questo permette di riutilizzare

Dettagli

I termini dell operazione sono: la base, l esponente e il valore della potenza: DOVE 4 è la base 3 è l esponente 64 è il valore della potenza

I termini dell operazione sono: la base, l esponente e il valore della potenza: DOVE 4 è la base 3 è l esponente 64 è il valore della potenza LA RADICE QUADRATA I termini dell operazione sono: la base, l esponente e il valore della potenza: DOVE 4 è la base 3 è l esponente 64 è il valore della potenza L estrazione di radice, l operazione che

Dettagli

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola. Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi

Dettagli

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi. Esercizi di Matlab L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi. Esempio Consideriamo la matrice A formata da n = righe e m = colonne M = 5 6 7 8. 9 0

Dettagli

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali Script in Matlab Gli script Uno script è un file di testo contenente

Dettagli

Introduzione all algebra

Introduzione all algebra Introduzione all algebra E. Modica http://dida.orizzontescuola.it Didattica OrizzonteScuola Espressioni letterali come modelli nei problemi Espressioni come modello di calcolo Esempio di decodifica Premessa

Dettagli

Laboratorio di Matematica Computazionale A.A Lab. 4

Laboratorio di Matematica Computazionale A.A Lab. 4 Laboratorio di Matematica Computazionale A.A. 2008-2009 Lab. 4 Complementi di Grafica 2D: Sottofinestre In Matlab si possono disegnare più grafici nella stessa finestra, suddividendola in sottofinestre

Dettagli