Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: stR_ruBen en 8 Febrero 2017, 20:53 pm



Título: Ayuda en pseint!!
Publicado por: stR_ruBen en 8 Febrero 2017, 20:53 pm
--------------------------------------------------------------------------------------------
                                             ES CON SUBPROCESOS
--------------------------------------------------------------------------------------------

Hola, tengo un problema con este ejercicio de peseint, es una matriz unidimensional de 12 posiciones rellena con datos aleatorios entre 25 i 255. (simulando accidentes mensuales)

- Tengo que hacer la media de accidentes en todo el año.
- Que devuelva el numero de meses que ha habido mas accidentes que la media.
- Que devuelva el numero de meses que ha habido menos accidentes que la media.
- Numero que se ha producido menos de 50 accidentes.
- Numero que se ha producido menos de 125 accidentes.

Me dan estos errores:
Lin 16 (inst 1): ERROR 303: Subindice () fuera de rango (1...12)

Lin 80 (inst 1): ...dentro del subproceso SUP_MITJA, invocado desde aquí.




Código
  1. Subproceso mitja(accidentes)
  2. contador_mitja=1
  3. mitjana=0
  4. Repetir
  5. mitjana=mitjana+accidentes[contador_mitja]
  6. contador_mitja=contador_mitja+1
  7. Hasta Que contador_mitja = 13
  8. escribir mitjana/12
  9. FinSubProceso
  10.  
  11.  
  12. SubProceso sup_mitja(accidentes)
  13. contador_sup_mitja=1
  14. sup_mitjana=0
  15. Repetir
  16. si accidentes[contador_mitja]>mitjana
  17. Escribir "El mes número "+convertirATexto(accidentes[contador_mitja])+" ha tenido una cantidad de accidentes superior a la media."
  18. FinSi
  19. contador_sup_mitja= contador_sup_mitja+1
  20. Hasta Que contador_sup_mitja = 13
  21. FinSubProceso
  22.  
  23.  
  24. subproceso sub_mitja(accidentes)
  25. contador_sub_mitja=1
  26. sub_mitjana=0
  27. Repetir
  28. si accidentes[contador_mitja]<mitjana
  29. Escribir "El mes número "+convertirATexto(accidentes[contador_mitja])+" ha tenido una cantidad de accidentes inferior a la media."
  30. FinSi
  31. contador_sub_mitja= contador_sub_mitja+1
  32. Hasta Que contador_sub_mitja = 13
  33. FinSubProceso
  34.  
  35.  
  36. SubProceso funcion_sub_50(accidentes)
  37. contador_sub_50=1
  38. sub_50 = 0
  39. Repetir
  40. si accidentes[contador_mitja]<50
  41. Escribir "El mes número "+convertirATexto(accidentes[contador_mitja])+" ha tenido una cantidad de accidentes inferior a 50."
  42. FinSi
  43. contador_sub_50= contador_sub_50+1
  44. Hasta Que contador_sub_50 = 13
  45. FinSubProceso
  46.  
  47.  
  48. SubProceso funcion_sup_125(accidentes)
  49. contador_sup_125=1
  50. sup_125=0
  51. Repetir
  52. si accidentes[contador_mitja]>125
  53. Escribir "El mes número "+convertirATexto(accidentes[contador_mitja])+" ha tenido una cantidad de accidentes superior a 125."
  54. FinSi
  55. contador_sup_125= contador_sup_125+1
  56. Hasta Que contador_sup_125 = 13
  57. FinSubProceso
  58.  
  59. Proceso ejercicio_2
  60. contador=1
  61. Dimension accidentes[12]
  62. //V2 - Introduccion de los accidentes de manera automática
  63.  
  64. Repetir
  65. accidentes[contador]<-azar(130)+25
  66. contador=contador+1
  67. Hasta Que contador=13
  68.  
  69. mitja(accidentes)
  70. sup_mitja(accidentes)
  71. sub_mitja(accidentes)
  72. funcion_sub_50(accidentes)
  73. funcion_sup_125(accidentes)
  74.  
  75. FinProceso