sadegh astaneh – [email protected] marco d...

12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh – [email protected] Marco D. Santambrogio – [email protected] Emanuele Panigati – [email protected] Ver. aggiornata al 3 Gennaio 2012

Upload: trandung

Post on 20-Feb-2019

248 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Sadegh Astaneh – [email protected] Marco D. Santambrogio – [email protected] Emanuele Panigati – [email protected]

Ver.  aggiornata  al  3  Gennaio  2012  

Page 2: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Warm Up  mcm  modulo

•  Qualche cosa un pò più divertente   numeroPrimo   combinaImmagini

•  Altri exe…   tmp   garaTuffi

2

Page 3: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Warm Up  mcm  modulo

•  Qualche cosa un pò più divertente •  Altri exe..

3

Page 4: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Dati due numeri x ed y, si definisce il minimo comune multiplo come  mcm = x*y/MCD(x,y)

•  Si risolve il problema creando una funzione mcm

4

Page 5: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Dato un numero inserito dall’utente, scrivere a video il suo modulo   Si usi una funzione di ordine superiore

modulo scritta da voi

•  Esempio   Inserire il numero:

•  >>> -3  >>> 3

5

Page 6: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Warm Up

•  Qualche cosa un pò più divertente   numeroPrimo   combinaImmagini

•  Altri exe..

6

Page 7: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Dato un numero intero positivo inserito dall’utente, dire se tale numero è primo (stampa a video 1 se primo, 0 altrimenti)   Un numero è primo se è divisibile solo

per 1 e se stesso   Esempio

•  >>> 7 ---> >>>1 •  >>> 9 ---> >>>0

7

Page 8: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Si conviene di rappresentare un’immagine mediante una matrice rettangolare di numeri, corrispondenti al colore dei suoi pixel (punti luminosi che compongono la figura)

•  Si vuole progettare una funzione Octave di nome combinaImmagini che, ricevendo come parametri due matrici f1 ed f2 rappresentanti due immagini e due valori numerici C ed S, con C<S, rappresentanti due diversi colori, produce come risultato una terza figura f3, ottenuta da f1 ed f2 secondo la seguante regola.   Nelle posizioni (r,c) in cui f1(r,c)<C ed f2(r,c)>C si ha f3(r,c)=f2(r,c)

-f1(r,c)   Nelle posizioni (r,c) in cui f1(r,c)>S ed f2(r,c)<S si ha f3(r,c)=f1(r,c)

-f2(r,c) nelle posizioni rimanenti si ha f3(r,c)=f1(r,c) •  Domande

  Codificare la funzione combinaImmagini   Scrivere uno script che acquisisce le due matrici di partenza

rispettivamente dai file file1.mat e file2.mat (si supponga che le due variabili contenenti le matrici al momento del salvataggio si chiamino matr1 e matr2), richiama la funzione combinaImmagini e salva sul file file3.mat la matrice risultante.

8

Page 9: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Warm Up •  Qualche cosa un pò più divertente

•  Altri exe..   tmp   garaTuffi

9

Page 10: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Facendo uso della funzione di ordine superiore accumulatore

•  Codificare la funzione tmp(v)

  Prende come argomento un vettore di numeri v=[v1,…, vn]

  Calcola e restituisce come risultato il valore

•  Codice della funzione accumulatore

function [x]=accumulatore(f, a, u) x = u; for i=1:length(a) x = f(x, a(i)); end

10

Page 11: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Facendo uso della funzione di ordine superiore accumulatore

•  Codificare la funzione garaTuffi(v)

  Prende come argomento un vettore di voti v=[v1,…, vn]

  Calcola e restituisce come risultato il valore medio dei voti

•  Codice della funzione accumulatore

function [x]=accumulatore(f, a, u) x = u; for i=1:length(a) x = f(x, a(i)); end

11

Page 12: Sadegh Astaneh – sadegh.astaneh@unimi.it Marco D ...home.deib.polimi.it/santambr/dida/infob/1112/code/labs/InfoB_Lab6... · DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sadegh Astaneh

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

•  Fonti per lo studio   Introduzione alla programmazione in

MATLAB, A.Campi, E.Di Nitto, D.Loiacono, A.Morzenti, P.Spoletini, Ed.Esculapio •  Capitolo 2, 4, 5

12