Esercizio 1: che emozione... il mio primo vero algoritmo!!!!

Il primo vero algoritmo che implementerai riguarda la ricerca del massimo in una lista di numeri interi.

Descrizione in linguaggio naturale

Sia i = 2 e sia max il valore contenuto nel primo elemento della lista.

Fino a che non sei arrivato alla fine della lista esegui le due operazioni che seguono: se l'elemento corrente della lista (ovvero quello in posizione i) è maggiore di max allora max diventa uguale all'elemento corrente; incrementa i di 1.



Descrizione più formale e vicina a un programma

siano i, lunghezza e max tre variabili in grado di contenere un intero

sia lista una variabile di tipo lista

togli ogni elemento da lista (serve per essere sicuri di tornare alla situazione in cui la lista è vuota, nel caso in cui la variabile lista fosse già stata usata)

porta max ad un valore sicuramente minore di quelli che si troveranno nella lista, ad esempio -1

chiedi all'utente di inserire il numero di elementi nella lista

porta lunghezza al valore inserito dall'utente

per lunghezza volte

chiedi all'utente di inserire un nuovo elemento nella lista

aggiungi alla lista l'elemento inserito dall'utente

porta max al valore del primo elemento della lista

porta i a 2 (perché inizialmente confronteremo max che è il primo elemento, con il secondo elemento)

ripeti le istruzioni seguenti fino a quando i non diventa uguale a lunghezza + 1 (vuole dire che la lista è stata scandita tutta)

se l'elemento in posizione i-esima della lista è maggiore di max

porta max al valore dell'elemento in posizione i-esima della lista

incrementa i di 1

comunica all'utente il valore di max



Il mio primo programma in Scratch!

Premessa: non abbiamo ancora visto come chiedere all'utente di inserire un valore e come leggerlo, né come comunicargli un risultato. Vedremo poi nel dettaglio gli elementi del linguaggio necessari a interagire con l'utente. Per adesso ci basta sapere quanto segue:

presenta una domanda sullo schermo e memorizza la risposta nel reporter . Causa la sospensione del programma fino a che il tasto Enter viene premuto oppure il segno è cliccato.

Riporta l'ultimo valore inserito tramite tastiera in seguito all'esecuzione del più recente blocco .

mostra il fumetto "parlante" per il tempo specificato.

Il programma Scratch che implementa la ricerca del massimo in una lista ricalca esattamente la struttura della descrizione formale che abbiamo fornito (abbiamo inserito dei "pensieri" in alcuni punti per mostrare l'esecuzione del programma; il programma funziona correttamente anche senza di essi!)