Quote Originariamente inviata da LeleFT Visualizza il messaggio
Ora, io sono molto arrugginito per quanto riguarda il Pascal, ma... non mi pare corretto quel repeat/until. Nel senso che potrebbe anche ciclare all'infinito.

L'unica condizione di uscita è che la variabile contatore assuma valore 10... ma essa viene incrementata SE E SOLO SE la variabile colore (il cui valore è casuale) vale YELLOW (che non so quanto valga... credo 14, se non erro). Ora: chi ti garantisce che verrà mai estratto il valore YELLOW? E, soprattutto, chi ti garantisce che verrà estratto 10 volte quel valore?
Beh sicuramente quando si stampano a video dei colori random, prima o poi ci si arriva per forza a dieci gialli. Infatto il programma funziona correttamente, il problema è che una volta eseguito il programma torna sulla pagina del cosice con il massaggio di errore....

C'è da dire che, sempre se non ricordo male, il generatore di numeri casuali va inizializzato mediante chiamata alla procedura Randomize (ma non ne sono sicuro).
Si in effetti è vero, ma funziona anche senza.
Per quel poco che ne so, l'unica differenza è che se non si inserisce il comando randomize tutte le volte che faccio partire il programma verrà eseguito nella stessa identica maniera della volta precedente, anche quella successiva e così via.
PS: consiglio di indentare meglio... tutte le istruzioni dentro il repeat/until dovrebbero essere indentate; l'istruzione del ramo then dovrebbe essere indentata... altrimenti si fa davvero fatica a seguire il codice (ho smesso di programmare in BASIC con numeri di linea senza indentazione almeno 18 anni fa).

Ciao.
Grazie del consiglio.