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?
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).
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.![]()