
Ultima occorrenza - testo dell’esercizio
Considerate il seguente programma last_occurrence.go
che legge da standard input 10 numeri ed un ulteriore numero e stampa la posizione dell’ultima occorrenza di quest’ultimo numero nella sequenza precedentemente letta.
package main
import "fmt"
func main() {
var (
[10]int
s int
n )
.Println("Inserisci 10 numeri:")
fmtfor i := 0; i < 10; i++ {
.Scan(&s[i])
fmt}
.Println("Inserisci un numero:")
fmt.Scan(&n)
fmt
var i int;
for i = 9; i >= 0; i-- {
if s[i] == n {
break;
}
}
.Println(i);
fmt}
Analizzate il codice sorgente e rispondete per iscritto alle domande che seguono.
Il programma array.go attraverso quale canale riceve i dati da elaborare?
Di che tipo/i sono i dati in input?
I dati ricevuti da input sono pronti da elaborare o vengono manipolati prima in qualche modo (per calcolarne/derivarne/estrarne altri dati)?
Quali, fra i dati in input, sono memorizzati in variabili singole e quali in strutture (array, slice, ecc.)?
Quando si ferma il programma nella lettura della sequenza di numeri?
Perché è necessario salvare alcuni dati in una struttura?