Private Sub Form_Load()

  Dim V() As Integer

  Dim i As Integer

  Dim j As Integer

  Dim NumGiorni As Integer

  Dim Stringa(2) As String

  Dim Messaggio As String

  Dim Somma As Integer

  Dim MediaMin As Double

  Dim MediaMax As Double

   

  Rem Acquisizione valori

  i = 0

  Do

    i = i + 1

    For j = 1 To 2

      Stringa(j) = ""

      If j = 1 Then

        Messaggio = "Temperatura minima giorno" & Str$(i)

      Else

        Messaggio = "Temperatura massima giorno" & Str$(i)

      End If

      Stringa(j) = InputBox(Messaggio)

      Stringa(j) = UCase(Stringa(j))

      Stringa(j) = Trim(Stringa(j))

    Next j

    If (Stringa(1) = "FINE") Or (Stringa(2) = "FINE") 			 Then

      Exit Do

    Else

      ReDim Preserve V(2, i)

      V(2, i) = Int(Val(Stringa(1)))

      V(1, i) = Int(Val(Stringa(2)))

    End If

  Loop

  NumGiorni = UBound(V, 2)



  Rem Calcolo della media delle

  '   delle temperature minime

  Somma = 0

  For i = 1 To NumGiorni

    Somma = Somma + V(1, i)

  Next i

  MediaMin = Somma / NumGiorni

  

  Rem Calcolo della media delle

  '   temperature massime

  Somma = 0

  For i = 1 To NumGiorni

    Somma = Somma + V(2, i)

  Next i

  MediaMax = Somma / NumGiorni

  

  Rem Generazione elenco giorni con

  Rem temperature al di sotto della media

  lblRisultato.Caption = ""

  For i = 1 To NumGiorni

    If (V(1, i) < MediaMin) Or (V(2, i) < MediaMax) 				 Then

      lblRisultato.Caption = lblRisultato.Caption & i 

& Chr$(10)

    End If

  Next i

End Sub





Listato 6
La procedura che gestisce le temperature minima e massima con un vettore a 2 dimensioni