Advertisement
Guest User

Evaluación docente

a guest
Jun 18th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var avg = prompt('¿Que calificación le pondría al profesor (0-100)?');
  2. var repre = prompt('¿Considera que el maestro toma represalias con los alumnos?\n1= Sí 2 3= No sé 4 5= No');
  3. var mySet = new Set();
  4. var aux = [];
  5. var cont= 0;
  6. var desfase= 5;
  7. var cont_ciclos= 0;
  8. var fDispersion= 1; /*(0-20), cambiara a los elementos asi de cercanos o lejanos*/
  9.  
  10. avg = Number(avg);
  11. repre = Number(repre) - 1;
  12.  
  13. if(Number.isNaN(avg) || Number.isNaN(repre))
  14. {
  15.     alert('Error\nIngrese un número entero.');
  16. }
  17. else
  18. {
  19.     for (var i = 0; i < 48; i++)
  20.     {
  21.       aux[i] = randomInt();
  22.     }
  23.  
  24.     forzarPromedio();
  25.     console.log(aux);
  26.  
  27.  
  28.     $('input[type="radio"]').each(function(index)
  29.     {
  30.         if((index + 1) % 5 == 0)
  31.         {
  32.             mySet.add(this.name);
  33.         }
  34.     });
  35.  
  36.     for (var nm of mySet)
  37.     {  
  38.         if (aux[cont] > 80)
  39.             document['fPreguntas'][nm].item(0).checked = true;
  40.         else if (aux[cont] > 60)
  41.             document['fPreguntas'][nm].item(1).checked = true;
  42.         else if (aux[cont] > 40)
  43.             document['fPreguntas'][nm].item(2).checked = true;
  44.         else if (aux[cont] > 20)
  45.             document['fPreguntas'][nm].item(3).checked = true;
  46.         else
  47.             document['fPreguntas'][nm].item(4).checked = true;
  48.        
  49.         cont++;
  50.     }
  51.    
  52.     document['fPreguntas'][Array.from(mySet)[25]].item(repre).checked = true;
  53. }
  54.    
  55. function forzarPromedio()
  56. {
  57.     cont_ciclos++;
  58.  
  59.     if(promedio() > (avg + desfase))
  60.         aux.forEach(function(item, index)
  61.                     {
  62.                         (item + fDispersion * desfase) > avg ? aux[index]= randomInt( avg, item) : void(0)
  63.                     });
  64.     else if(promedio() < (avg - desfase))
  65.         aux.forEach(function(item, index)
  66.                     {
  67.                         (item - fDispersion * desfase) < avg ? aux[index]= randomInt( item, avg) : void(0)
  68.                     });
  69.  
  70.     if (promedio() > (avg + desfase) || promedio() < (avg - desfase))
  71.         forzarPromedio();
  72.  
  73.     console.log('Vuelta ' + cont_ciclos + '\nPromedio: ' + promedio());
  74. }
  75.  
  76. function randomInt(min= 0, max= 100)
  77. {
  78.      return Math.round(Math.random() * (max-min)) + min;
  79. }
  80.  
  81. function promedio()
  82. {
  83.     return aux.reduce(function(acumulator, num, arr) { return acumulator + num; } ) / aux.length;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement