Tal vez resulte un tanto pesado el hecho y la manera en que me he dirjido. Mi intención es más mostrar un algoritmo de como proceder y no tanto el código.
El asunto aqui es una cuestión de lógica. El algoritmo que implementa realiza un repeat más le falta hacer dos cosas:
1. llevar un contador de pasadas
2. dividor el total acumulado por dicha cantidad
Por el punto 1 se resuelve facilmente con añadir una nueva variable.
Y acumular el valor en donde sea necesario:
Código Delphi
[-]
cantidad := cantidad + 1; inc(cantidad);inc(cantidad,1);
Al final del ciclo repeat o while (se puede hacer con ambos ciclos) simplemente hacer la división entera (si son enteros).
Código Delphi
[-]promedio := total div cantidad;
En este ejemplo yo hago la división entera entre la variable total y cantidad.
Espero que ahora quede más claro.
Saludos,