// Algoritmo principal
Algoritmo principal
Definir opcion Como Entero
Definir lista Como Entero
Definir prom Como Real
Dimension lista(11) // Arreglo de 11 posiciones, índices 0 a 10

// Llamamos al subalgoritmo que genera la lista
ciclo_para(lista, prom)

Repetir
Escribir "Menu de opciones"
Escribir "(1) Mostrar los números generados"
Escribir "(2) Calcular y mostrar el promedio del arreglo"
Escribir "(3) Calcular y mostrar la suma de los divisores del promedio"
Escribir "(4) Mostrar los números de menor a mayor"
Escribir "(5) Salir"
Escribir "Seleccione una opción:"
Leer opcion

Segun opcion Hacer
1:
mostrar_numeros(lista)
2:
calcular_promedio_arreglo(lista, prom)
mostrar_promedio(prom)
3:
mostrar_suma_divisores(prom)
4:
mostrar_ordenados(lista)
5:
Escribir "Saliendo del programa..."
De Otro Modo:
Escribir "Esta opción no existe"
FinSegun
Hasta Que opcion = 5
FinAlgoritmo

// SubAlgoritmo para calcular y mostrar el promedio del arreglo
SubAlgoritmo calcular_promedio_arreglo(lista, prom)
Definir i, acum Como Entero
acum <- 0 // Inicializar la variable acumulador para la suma

Para i <- 0 Hasta 10 Con Paso 1 Hacer
acum <- acum + lista(i) // Acumular la suma de los números
FinPara

prom <- acum / 11.0 // Calcular el promedio correctamente como número real
FinSubAlgoritmo

// SubAlgoritmo para mostrar el promedio
SubAlgoritmo mostrar_promedio(prom)
Escribir "El promedio de los números generados es: ", prom
FinSubAlgoritmo

// SubAlgoritmo para mostrar la suma de los divisores del promedio
SubAlgoritmo mostrar_suma_divisores(prom)
Definir suma_divisores Como Entero
suma_divisores <- 0

Para i <- 1 Hasta Trunc(prom) Con Paso 1 Hacer
Si Trunc(prom) Mod i = 0 Entonces
suma_divisores <- suma_divisores + i
FinSi
FinPara

Escribir "La suma de los divisores del promedio es: ", suma_divisores
FinSubAlgoritmo

// SubAlgoritmo para mostrar los números generados
SubAlgoritmo mostrar_numeros(lista)
Para i <- 0 Hasta 10 Con Paso 1 Hacer
Escribir "Número en la posición ", i + 1, ": ", lista(i)
FinPara
FinSubAlgoritmo

// SubAlgoritmo para generar el arreglo y calcular el promedio
SubAlgoritmo ciclo_para(lista, prom)
Definir i, acum Como Entero

acum <- 0 // Inicializar la variable acumulador para la suma

// Llenar la lista con los números del 10 al 20
Para i <- 0 Hasta 10 Con Paso 1 Hacer
lista(i) <- i + 10
acum <- acum + lista(i) // Acumular la suma de los números
FinPara

prom <- acum / 11.0 // Calcular el promedio correctamente como número real
FinSubAlgoritmo

// SubAlgoritmo para mostrar los números ordenados
SubAlgoritmo mostrar_ordenados(lista)
Definir i, j, aux Como Entero
// Ordenamiento de la lista (Método de burbuja)
Para i <- 0 Hasta 9 Hacer // Ajustar para que i comience en 0 y llegue hasta 9
Para j <- 0 Hasta 9-i Hacer // Ajustar para que j comience en 0 y llegue hasta 9-i
Si lista(j) > lista(j+1) Entonces
aux <- lista(j)
lista(j) <- lista(j+1)
lista(j+1) <- aux
FinSi
FinPara
FinPara

Escribir "Números de menor a mayor:"
Para i <- 0 Hasta 10 Hacer // Ajustar para que i comience en 0 y llegue hasta 10
Escribir lista(i)
FinPara
FinSubAlgoritmo

ayudenme es que me sale a 0 en el promedio de ese algoritmo​