************************************************************************
* File:  lung1.for
************************************************************************
* Scopo: metodologia uso GOTO per simulare ciclo DO WHILE
************************************************************************

      PROGRAM CalcolaLunghezza
* Legge da tastiera una sequenza di interi, terminata da 0.
* Calcola la lunghezza della sequenza (senza lo 0) e la stampa.

      IMPLICIT NONE
      INTEGER lunghezza, dato

      DATA lunghezza/0/

      WRITE (*,*) 'Inserisci una sequenza di interi, terminata da 0'
      READ (*,*) dato

***** DO WHILE (dato .NE. 0)
 10   IF (dato .NE. 0) THEN
        lunghezza = lunghezza + 1
        READ (*,*) dato
        GOTO 10
      ENDIF
***** ENDDO

      WRITE (*,*) 'La sequenza (senza lo 0 finale) e'' lunga ',
     $     lunghezza
      STOP

      END