Traccia del 17/01/2024¶
Esercizio 1¶
Utilizzando i flowchart e formalizzandoli in Algobuild, definire gli algoritmi per soddisfare le seguenti richieste.
1. Caricare un vettore colonna \(V\) di dimensione \(N\). Gli elementi di \(V\) devono essere numeri interi positivi i quali possono essere caricati in maniera autonoma dall’utente o generati in maniera casuale. Si noti che la modalità di caricamento deve essere specificata a monte mediante un opportuno menu di scelta.
2. Ordinare il vettore \(V\) secondo un ordinamento crescente.
3. Calcolare il massimo, il minimo e la media dei valori del vettore \(V\) (ordinato).
4. Stampare a schermo il vettore \(V\) in maniera che venga rappresentato come un vettore colonna. Ad esempio:
È richiesto che il programma sia suddiviso in procedure e/o funzioni opportunamente generalizzabili.
Soluzione
La soluzione è disponibile a questo indirizzo.
Esercizio 2¶
Utilizzando l’ambiente di programmazione Matlab, implementare un programma che esegua le funzioni dell’esercizio 1, utilizzando un’opportuna combinazione di script, funzioni e procedure.
Soluzione
La soluzione è disponibile a questo indirizzo
Risposte ai quesiti¶
Di seguito riportiamo le risposte ai quesiti posti dall'esercizio 3.
Domande
- Qual è il numero di simboli distinti utilizzati nel sistema binario?
- In un sistema di numerazione addizionale il valore di ogni simbolo è...
- Detto
+
il simbolo di OR logico, quale delle seguenti identità rappresenta la legge dell'idempotenza? - Un diagramma a blocchi...
- La programmazione strutturata...
- Un blocco di codice inserito fra
dowhile
edend
in MATLAB... - Indicare quale delle seguenti righe può essere utilizzata per definire una procedura in MATLAB.
- Un driver...
- L'unità MMU...
- Un algoritmo iterativo...
Risposta
- Due (1)
- ...fisso (2)
k + k = k
(3)- ...è una rappresentazione grafica di un algoritmo (4)
- ...rispetta il teorema di Bohm-Jacopini (5)
- Nessuna delle altre risposte è vera (6)
function testProc(a, b)
(7)- ...deve essere installato su una macchina affinché questa possa controllare una certa periferica (8)
- ...si serve di una tabella delle pagine allo scopo di mettere in relazione pagine logiche e pagine fisiche in memoria. (9)
- ...si basa sullo schema di flusso del ciclo.
- I simboli sono due, ovvero lo
0
e l'1
. - Nei sistemi di numerazione addizionali, come ad esempio l'alfabeto romano, il valore di ciascun simbolo è fisso, a differenza dei sistemi posizionali.
- La legge dell'idempotenza indica che
k + k = k x k = k
, e discende direttamente dalla definizione algebrica generale. - Ricordiamo che i diagrammi a blocchi rappresentano la struttura dell'algoritmo, e non sono in alcun modo vincolati al linguaggio di programmazione usato.
- La programmazione strutturata si basa sui tre tipi di struttura identificati dal teorema di Bohm-Jacopini, e permette ovviamente l'uso di diagrammi strutturati.
- MATLAB non permette l'uso di strutture
dowhile
. - MATLAB non ha una parola chiave specifica per le procedure. Invece, è necessario usare una funzione senza alcun valore di ritorno.
- Pensiamo, ad esempio, ai driver della scheda video.
- Ricordiamo che è utilizzata nelle tecniche di paging.
- Ricordiamo che l'algoritmo iterativo è rappresentato mediante un flusso di verifica di una condizione e di incremento di un contatore/aggiornamento di condizione.