Programma di esempio BINGO.PRT
; BINGO
;
; Programma per Proteus
;
; (C) 1998-2003 Simone Zanella Productions
;
; Estrazione casuale completa (senza reinserimento) a console
; dei numeri dall'1 al 90. Dimostra l'uso di code e vettori;
; l'ingresso e l'uscita di default sono ignorati.

; Parametri impliciti: input e output predefiniti nulli
;!proteus -z

FUNCTION Extract(limit, numbers, extlist)

  ; Estrae un numero casuale
  rn = INC(RANDOM(limit))
  ENQUEUE(extlist, VECGET(numbers, rn))
  VECDEL(numbers, rn, 1)
RETURN DEC(limit)


; Costruisce la lista dei numeri da estrarre (1-90)
Numbers = VECNEW(90)
ExtList = QUEUENEW()
FOR NumExt = 1 TO 90
  VECSET(Numbers, NumExt, NumExt)
NEXT

Limit = 90
; Estrae ogni numero
WHILE Limit
  Limit = Extract(Limit, Numbers, ExtList)
LOOP

; Stampa la lista dei numeri estratti
FOR NumExt = 1 TO 90
  CONSOLELN "Numero " PFORMAT("2d", NumExt) ": " \
            PFORMAT("2d", DEQUEUE(ExtList))
NEXT
ABORT 0
Indice esempi Prossimo esempio Esempio precedente Indice per argomenti Indice analitico