correzione flow chart numeri compresi
Post on 01-Jul-2015
1.463 Views
Preview:
DESCRIPTION
TRANSCRIPT
Correzione del flowchart: numeri interi
compresi in un intervallo
Welcome, students!
Il testo del problema Stampare tutti i
numeri interi compresi in un intervallo delimitato da due numeri.
Metodo di lavoro Prendo una soluzione di uno studente Analizzo questa soluzione per vedere quale
è stato il ragionamento Razionalizzo il ragionamento fatto,
semplificandolo Correggo eventuali errori tecnici ed
architetturali
Soluzione di uno studente
Analisi del flowchart La struttura di selezione
(numeroA>numeroB) è veramente complicata. Una buona regola da seguire è quella di far si che i due percorsi emergenti da una selezione si ricongiungano dopo un breve percorso. Invece in questo caso dentro ogni percorso della selezione c’è un’infinità di cose fatte.
Rendiamo soft le spigolosità della nostra mente
(arrotondiamo gli spigoli)
Per tenere la materia cerebrale sotto controllo, semplifichiamo il prodotto grezzo, raffiniamolo. Che cosa possiamo raffinare in questo
caso ?
Reading
Leggendo attentamente il flowchart, ci accorgiamo che i due rami emergenti dalla selezione sono assolutamente identici.
Per quale motivo lo studente ha duplicato le istruzioni ?
La logica della soluzione dello studente
Bisogna capire la logica della sua soluzione.
Assume che il numero venga letto da una lista, se il numero è incluso nell’intervallo richiesto lo stampa.
Tutto questo lo inserisce in una iterazione numerata
Il numero delle iterazioni è uguale ai numeri interi che possono entrare nell’intervallo (numeroA-numeroB)
Per quale motivo ha duplicato le istruzioni nei due percorsi della
selezione ?
Dalla logica della sua soluzione scaturisce il motivo del perchè ha duplicato le istruzioni nei due rami della selezione
Per avere la differenza tra numeroA e numeroB sempre positiva
Perchè nel primo caso l’estremo superiore dell’intervallo è numeroA e nel secondo numeroB
Differenze tra le istruzioni nei due rami della selezione Le differenze nelle istruzioni
dei due percorsi stanno nei nomi numeroA e numeroB.
Nei due diversi rami della selezione I loro ruoli sono scambiati
Differenze tra le istruzioni nei due rami della selezione Le differenze nelle istruzioni
dei due percorsi stanno nei nomi numeroA e numeroB.
Nei due diversi rami della selezione I loro ruoli sono scambiati
Scrittura della correzione Introduciamo due nuove
variabili massimo e minimo Se (numeroA>numeroB) è
vero massimo=numeroA, minimo=numeroB, altrimenti massimo=numeroB, minimo=numeroA
Eliminiamo la duplicazione del codice
Introduciamo due nuove variabili massimo e minimo
Se (numeroA>numeroB) è vero massimo=numeroA, minimo=numeroB, altrimenti massimo=numeroB, minimo=numeroA
Floachart modificato e corretto
Fuori tema La soluzione dello studente con le correzioni
apportate è accettabile da un punto di vista tecnico. Tuttavia quella soluzione ha risolto un altro
problema, non quello richiesto!! Ha risolto il problema di stampare una lista di
numeri, pari a massimo-minimo, compresi tra massimo e minimo
Non ha risolto il problema di stampare tutti i numeri interi compresi tra massimo e minimo !
Let’s Have a Great Year!
top related