• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
5
0
0

Testo completo

(1)

Fondamenti di Informatica

Strutture Selettive, Iterative, Gestione File e Grafici in MATLAB: Esercizi (Autobus)

Prof. Arcangelo Castiglione

A.A. 2016/17

(2)

Negli esercizi verranno utilizzate una matrice F ed una matrice D

La matrice F rappresenta il prospetto delle fermate (colonne) effettuate da ciascun autobus (righe)

La matrice D rappresenta il prospetto delle distanze fra una fermata di partenza (riga) e una fermata di destinazione (colonna)

L’elemento F(riga, colonna) assume valore 1 se l’autobus, avente indice riga, effettua la fermata, avente l’indice specificato in colonna

Esempio: F(4, 7) à ha valore 0 e indica che l’Autobus 4 (riga 4) NON effettuerà la fermata 7 (colonna 7)

Esempio: F(3, 4) à ha valore 1 e indica che l’Autobus 3 (riga 3) effettuerà la fermata 4 (colonna 4)

L’elemento D(riga, colonna) rappresenta la distanza tra la fermata di partenza, avente indice specificato in riga, e la fermata di destinazione, avente l’indice specificato in colonna

Esempio: D(2, 5) à indica che la distanza dalla fermata 2 alla fermata 5 è uguale a 4

NOTA: Gli elementi sotto la diagonale principale (contrassegnati con il simbolo - ), si assumono essere nulli (con valore 0), poiché non sono necessari per la risoluzione degli esercizi

• Entrambe le matrici contengono esclusivamente dati numerici (evidenziati in arancio nell’esempio)

N.B. Le matrici utilizzate sono anche riportate nell’ultima slide

Programmazione in MATLAB | Gestione File | Grafici: Esercizi

F fermate D

<<distanze.txt>> 1 2 3 4 5 6 7 8

1 0 4 5 2 1 5 4 3

2 - 0 3 5 4 2 4 3

3 - - 0 6 2 1 3 2

4 - - - 0 2 2 3 4

5 - - - - 0 1 5 3

6 - - - - - 0 6 4

7 - - - - - - 0 8

8 - - - - - - - 0

fermate [destinazione]

fe rm at e [p ar te nz e]

<<fermate.txt>> 1 2 3 4 5 6 7 8 Autobus 1 (indice 1) 0 1 1 0 1 0 1 1 Autobus 2 (indice 2) 1 0 0 0 1 1 1 0 Autobus 3 (indice 3) 0 0 0 1 0 1 1 1 Autobus 4 (indice 4) 0 1 1 1 0 0 0 0

NOTA: Negli esercizi potete utilizzare funzioni viste a lezione

(negli esempi), funzioni realizzate negli esercizi precedenti

e/o funzioni built-in di MATLAB

(3)

Scrivere una funzione chiamata distanza_percorsa, che prenda come argomenti di input: la matrice F (fermate), la matrice D (distanze) ed un numero intero indice_autobus, e restituisca come argomento di output la distanza totale percorsa dall’autobus avente indice indice_autobus

Esempio: distanza_percorsa(F, D, 2)à restituisce 8

Dalla fermata 1 (partenza) alla 5 (destinazione), la distanza, riportata in D(1, 5), è uguale a 1

Dalla fermata 5 (partenza) alla 6 (destinazione), la distanza, riportata in D(5, 6), è uguale a 1

Dalla fermata 6 (partenza) alla 7 (destinazione), la distanza, riportata in D(6, 7), è uguale a 6

Quindi la somma è 8

Scrivere una funzione chiamata autobus_meno_fermate, che prenda come argomenti di input: la matrice F (fermate) e la matrice D (distanze), e restituisca come argomento di output l’indice dell’autobus che effettua meno fermate

Esempio: autobus_meno_fermate(F, D)à restituisce 4

Scrivere una funzione chiamata grafico_autobus_fermate, che prenda come argomento di input la matrice F (fermate) e la matrice D (distanze), ed effettui le seguenti operazioni

1.

Mostri un grafico a barre in cui sull’asse X sono riportate le fermate. Sull’asse Y è riportato il numero di autobus che effettuano la fermata, indicata sull’asse X (Esempio: sulla fermata 2, si fermano 2 autobus)

2.

Restituisca un array contenente i valori assegnati all’asse Y (Esempio: Array riga o colonna

[1 2 2 2 2 2 3 2]

)

Es er ciz io 3 Es er ciz io 1 Es er ciz io 2

F fermate D

Esempio Esercizio 3 (Zoom Slide Successiva)

<<fermate.txt>> 1 2 3 4 5 6 7 8 Autobus 1 (indice 1) 0 1 1 0 1 0 1 1 Autobus 2 (indice 2) 1 0 0 0 1 1 1 0 Autobus 3 (indice 3) 0 0 0 1 0 1 1 1 Autobus 4 (indice 4) 0 1 1 1 0 0 0 0

<<distanze.txt>> 1 2 3 4 5 6 7 8

1 0 4 5 2 1 5 4 3

2 - 0 3 5 4 2 4 3

3 - - 0 6 2 1 3 2

4 - - - 0 2 2 3 4

5 - - - - 0 1 5 3

6 - - - - - 0 6 4

7 - - - - - - 0 8

8 - - - - - - - 0

1 2 3 4 5 6 7 8

0 0.5 1 1.5 2 2.5 3

fermate [destinazione]

fe rm at e [p ar te nz e]

(4)

F fermate D

Es em pio Es erc izio 3

<<fermate.txt>> 1 2 3 4 5 6 7 8 Autobus 1 (indice 1) 0 1 1 0 1 0 1 1 Autobus 2 (indice 2) 1 0 0 0 1 1 1 0 Autobus 3 (indice 3) 0 0 0 1 0 1 1 1 Autobus 4 (indice 4) 0 1 1 1 0 0 0 0

<<distanze.txt>> 1 2 3 4 5 6 7 8

1 0 4 5 2 1 5 4 3

2 - 0 3 5 4 2 4 3

3 - - 0 6 2 1 3 2

4 - - - 0 2 2 3 4

5 - - - - 0 1 5 3

6 - - - - - 0 6 4

7 - - - - - - 0 8

8 - - - - - - - 0

Programmazione in MATLAB | Gestione File | Grafici: Esercizi

1 2 3 4 5 6 7 8

0 0.5 1 1.5 2 2.5 3

fermate [destinazione]

fe rm at e [p ar te nz e]

(5)

Matrici Utilizzate

D = [ 0, 4, 5, 2, 1, 5, 4, 3 0, 0, 3, 5, 4, 2, 4, 3

0, 0, 0, 6, 2, 1, 3, 2 0, 0, 0, 0, 2, 2, 3, 4 0, 0, 0, 0, 0, 1, 5, 3 0, 0, 0, 0, 0, 0, 6, 4 0, 0, 0, 0, 0, 0, 0, 8 0, 0, 0, 0, 0, 0, 0, 0]

F = [ 0, 1, 1, 0, 1, 0, 1, 1 1, 0, 0, 0, 1, 1, 1, 0

0, 0, 0, 1, 0, 1, 1, 1 0, 1, 1, 1, 0, 0, 0, 0]

Matrice D

Matrice F

Programmazione in MATLAB | Gestione File | Grafici: Esercizi

Riferimenti

Documenti correlati

In questa implementazione viene memorizzato, oltre al puntatore al primo elemento (testa della lista) anche il puntatore all’ultimo elemento della lista (coda della

In questa implementazione viene memorizzato, oltre al puntatore al primo elemento (testa della lista) anche il puntatore all’ultimo elemento della lista (coda della lista) e il

Il programma riceve come primo argomento sulla linea di comando il nome del file con- tenente il calendario delle gare e deve produrre in output un elenco in cui, per ogni giorno

Scrivere inoltre una classe ProvaCoppiaDiStringhe, avente il solo metodo main, che fa inserire all’utente due stringhe e che testa tutti i metodi della classe CoppiaDiStringhe,

Scrivere il codice della classe Esame, e scrivere inoltre il codice di una classe ProvaEsame che consente, attraverso il suo metodo main, di inserire un appello di esame e tutti

• Un metodo di istanza, di nome analizza, che non ha parametri in ingresso e che restituisce sotto forma di oggetto String una descrizione comprendente: (1) il numero di numeri pari

Scrivere la classe ProvaEsercizio, che fa inserire all’utente tre array di interi (a sua scelta) e che visualizza all’utente l’array calcolato e restituito dal metodo

1) Data una matrice rettangolare di interi di dimensione m x n, visualizzare le somme degli elementi di ogni riga. 2) Data una matrice quadrata di dimensione n, visualizzare