Skip to content
This repository has been archived by the owner on Aug 3, 2022. It is now read-only.

Cálculo de boletines

ftoledo edited this page Mar 25, 2013 · 2 revisions

Borrador para notas del boletin ¶

Los Periodos son las fracciones de tiempo en el cual se divide el ciclo lectivo y donde se asignan las notas al finalizar cada uno. Ej 1er trimestre, 2do trimestre, 3er trimestre, Examen Diciembre, Examen Marzo, etc

Cada uno lleva la nota al boletín, aunque pueden ser calculados dependiendo de las notas anteriores

La idea es poder usarlos para generar un boletín con cierta lógica independiente de la aplicación que pueda ser extensible a través de clases. Implementacion

Cada periodo debe llevar un flag que indique si es "calculable" y un campo mas donde se guarde la formula y parámetros que se necesitan para hacerlo. Esta formula debe implementarse en una clase que herede de albaFormulaBoletin asi podemos generar una interfase comun para poder generar mas Formulas a futuro.

Por ejemplo, tenemos los siguientes periodos

ID PERIODO CALCULABLE FORMULA
1 1er Trimestre No  
2 2do Trimestre No  
3 3er Trimestre No  
4 Examen Diciembre No  
5 Nota Final Si Promedio|1,2,3
6 Examen Marzo No  
7 Nota Definitiva Si FormulaDef|3,4

luego generamos classes:

class formula_Promedio() extends albaFormulaBoletin
{
  public function init()
  {
    $this->ayuda = "Esta formula calcula el promedio entre los parametros pasados (P1,P2,Px)\n";
    $this->ayuda .= "P1,P2 y Px son los ID's de los Periodos que se quieren sacar el valor"
    $this->nombre = 'Promedio'; 
  }

  public function calcular($parametros = array())
  {
    $total = 0;
    if (count($parametros)== 0) {
      return 0;
    }
    foreach ($parametros as $parametro) {
      $nota = MagicoObtenerNotadeElAlumnodeEsePeriodoPorMateria()
      $total += $nota;
    }
    return ($total / count($parametros));
  }
}

class formula_FormulaDef extends albaFormulaBoletin
{
}

fuente : http://dev.pressenter.com.ar/alba/wiki/Boletines

Clone this wiki locally