208 lines
4.6 KiB
PHP
Executable File
208 lines
4.6 KiB
PHP
Executable File
<?php
|
|
// Diretorio de predicao
|
|
|
|
$diretorio = "arquivospredicao/";
|
|
|
|
// Carregar listaavaliacao.txt
|
|
|
|
$jobs = file($diretorio."listaavaliacao.txt");
|
|
|
|
// Arquivo do script que contera comandos para pontuar
|
|
|
|
$fp = fopen("avaliarbases.sh",'w');
|
|
|
|
// Para cada job
|
|
|
|
foreach ($jobs as $v)
|
|
{
|
|
|
|
$jb= trim($v);
|
|
|
|
$end1 = "../submissoes/".$jb."/intervalonotas.csv";
|
|
$end2 = "../submissoes/".$jb."/notastreino.csv";
|
|
$endpred = $diretorio.$jb."/";
|
|
$endind= "indexados/".$jb."/";
|
|
|
|
// Copia arquivos intervalo.csv e notastreino.csv para arquivospredicao e guarda informacao se copiou ou nao
|
|
|
|
if (!(file_exists($endpred)))
|
|
{
|
|
mkdir($endpred);
|
|
|
|
}
|
|
|
|
|
|
if ((file_exists($end1)) && (file_exists($end2)))
|
|
{
|
|
if (copy($end1, $endpred."intervalonotas.csv")) {
|
|
$copiaarq1 = 1;
|
|
}
|
|
else
|
|
{
|
|
$copiaarq1 = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (copy($end2, $endpred."notastreino.csv"))
|
|
{
|
|
$copiaarq2 = 1;
|
|
}
|
|
else
|
|
{
|
|
$copiaarq2 = 0;
|
|
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
$copiaarq1=0;
|
|
$copiaarq2=0;
|
|
|
|
}
|
|
|
|
|
|
if ($copiaarq1==1 && $copiaarq2==1) // Se copiou intervalo.csv e notastreino.csv
|
|
{
|
|
$arqparacorrigir= $endind."professordevepontuar.csv";
|
|
|
|
if (file_exists($arqparacorrigir))
|
|
{
|
|
// Carrega notastreino.csv e ltreino.csv de cada base a ser pontuada para verificar se todas as amostras socicitadas
|
|
// foram pontuadas.
|
|
|
|
$notastreino = file($endpred."notastreino.csv");
|
|
|
|
$ltreino = file($arqparacorrigir);
|
|
|
|
$impedido = 0;
|
|
|
|
|
|
|
|
// Copiar $ltreino sem quebras de linha para um vetor
|
|
$i=0;
|
|
$v1=array();
|
|
$n=count($ltreino);
|
|
|
|
for($i=0;$i<$n;$i++)
|
|
{
|
|
$v1[$i]=trim($ltreino[$i]);
|
|
|
|
}
|
|
unset($ltreino);
|
|
|
|
// As notas de treino que não estão na lista que o professor deve pontuar ou são -1 (não
|
|
// pontuadas) devem ser removidas
|
|
|
|
$tam=count($v1);
|
|
$tam2=count($notastreino);
|
|
$m=0;
|
|
$lista1=array();
|
|
$lista2=array();
|
|
//-------------------------------------------------------------------------------------------------------
|
|
for ($j=0; $j<$tam && $impedido==0; $j=$j+1)
|
|
{
|
|
|
|
|
|
|
|
$h=0;
|
|
$achou=0;
|
|
|
|
while ($h<$tam2 && $achou==0 )
|
|
{
|
|
$linha = explode(";",$notastreino[$h]);
|
|
if (strcmp($linha[0],$v1[$j])==0)
|
|
{
|
|
# Se a nota for -1, não pode realizar predicao
|
|
|
|
$linha[1]=trim($linha[1]);
|
|
|
|
|
|
if ($linha[1]==-1)
|
|
{
|
|
|
|
$impedido=1;
|
|
}
|
|
|
|
else
|
|
{
|
|
$lista1[$m]=$linha[0];
|
|
$lista2[$m]=$linha[1];
|
|
|
|
}
|
|
|
|
|
|
$achou=1;
|
|
$m=$m+1;
|
|
|
|
}
|
|
|
|
unset($linha);
|
|
|
|
|
|
$h=$h+1;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------------------------
|
|
$tam3= count($lista1);
|
|
|
|
|
|
if (!($tam==$tam3))
|
|
{
|
|
|
|
$impedido = 1;
|
|
|
|
}
|
|
unset($v1);
|
|
|
|
//----------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
if ($impedido==0)
|
|
{
|
|
|
|
fwrite($fp, "./pontuar.sh $jb \n");
|
|
|
|
// Gravar o treino do modelo
|
|
|
|
$ftm = fopen($endpred."treinomodelo.csv",'w');
|
|
|
|
for($k=0;$k<$tam3;$k++)
|
|
{
|
|
|
|
fwrite($ftm, $lista1[$k].";".$lista2[$k]."\n");
|
|
}
|
|
fclose($ftm);
|
|
|
|
}
|
|
else
|
|
{
|
|
fwrite($fp, "echo ".'"'."$jb não pode ser pontuada. Notas do professor incompletas!".'"'."\n");
|
|
|
|
}
|
|
unset($notastreino);
|
|
|
|
unset($lista1);
|
|
unset($lista2);
|
|
|
|
} // Fim do IF que verifica se existe arquivo para professor pontuar
|
|
}
|
|
|
|
|
|
} // Fim do FOR
|
|
|
|
fclose($fp);
|
|
unset($jobs);
|
|
|
|
?>
|