Page under construction!!

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 (
        s [10]int
        n int
    )

    fmt.Println("Inserisci 10 numeri:")
    for i := 0; i < 10; i++ {
        fmt.Scan(&s[i])
    }

    fmt.Println("Inserisci un numero:")         
    fmt.Scan(&n)

    var i int;
    for i = 9; i >= 0; i-- {
        if s[i] == n {
            break;
        }
    }
    fmt.Println(i);
}

Analizzate il codice sorgente e rispondete per iscritto alle domande che seguono.

  1. Il programma array.go attraverso quale canale riceve i dati da elaborare?

  2. Di che tipo/i sono i dati in input?

  3. I dati ricevuti da input sono pronti da elaborare o vengono manipolati prima in qualche modo (per calcolarne/derivarne/estrarne altri dati)?

  4. Quali, fra i dati in input, sono memorizzati in variabili singole e quali in strutture (array, slice, ecc.)?

  5. Quando si ferma il programma nella lettura della sequenza di numeri?

  6. Perché è necessario salvare alcuni dati in una struttura?