
Temperature conversion - IN ITALIAN
Considerate il seguente programma temperature.go
che legge una serie di temperature da riga di comando e stampa le temperature equivalenti in gradi centrigradi.
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
const SCALE_FACTOR, ZERO = 5.0 / 9.0, 32.0
if len(os.Args) < 2 {
.Println("No data in input")
fmtreturn
}
for _, temp := range os.Args[1:] {
, _ := strconv.ParseFloat(temp, 64)
fahr.Println(( fahr- ZERO) * SCALE_FACTOR)
fmt}
}
Analizzate il codice sorgente e rispondete per iscritto alle seguenti domande.
- Il programma
temperature.go
attraverso quale canale riceve i dati da elaborare? - Di che tipo sono i dati ricevuti in input dal programma?
- Dove vengono salvati i dati in input?
- I dati in input vengono elaborati direttamente o è necessario manipolarli prima in qualche modo (calcolarne/derivarne/estrarne altri dati)?
- Se si vuole un programma che legga le temperature da standard input, terminando la lettura quando l’utente inserisce 9999, per quali delle domande qui sopra deve cambiare la risposta e come cambia?
- Modificate ora il programma in modo che legga le temperature da convertire da standard input, terminando la lettura quando l’utente inserisce 9999. Salvate il programma con nome
temperature_V2.go
.