Off-by-one error: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Errore Fencepost: Corretti errori formattazione del codice inserito
m Sistemate "citazioni" domande
Riga 23:
Un errore fencepost (letteralmente "Staccionata", chiamato anche '''telegraph pole''', '''lamp-post''' o '''picket fence''') è un tipo specifico di errore di off-by-one. Una descrizione primitiva di questo errore apparve nei testi di [[Marco Vitruvio Pollione|Vitruvio]]<ref>{{Cita web|url=http://www.dsm.fordham.edu/~moniot/Opinions/fencepost-error-history.shtml|titolo=History of fence-post error|sito=www.dsm.fordham.edu|lingua=en|accesso=2017-11-04}}</ref>. Il problema si può illustrare nel modo seguente:
 
<nowiki>{{ Quote|Se costruisci una recinzione dritta lunga 30 metri, con paletti spaziati 3 metri l'uno dall'altro, di quanti paletti necessiti? }}</nowiki>
 
La risposta più immediata, ovvero 10, è sbagliata. La recinzione è composta infatti da 10 sezioni ed 11 paletti.
Riga 31:
Più in generale, il problema può essere posto nel modo seguente:
 
<nowiki>{{Quote| Se hai </nowiki>''n''<nowiki> paletti, quante sezioni ci sono tra di essi? }}</nowiki>
 
La risposta corretta dovrebbe essere ''n'' – 1 se la sequenza di paletti è aperta alla fine, ''n'' se si chiudono a cerchio, o ''n'' + 1 se il lato aperto della sequenza di paletti è considerato come una sezione. Bisogna prestare molta attenzione alla definizione precisa del problema, perché il setup di una certa configurazione potrebbe dare la risposta sbagliata per altre. Errori di fencepost derivano in sostanza dal contare gli elementi piuttosto che gli spazi che li separano e viceversa, o trascurando di considerare se l’oggetto in esame dovrebbe essere contato soltanto in uno o in entrambi gli estremi della fila.