pcodigo2web/workspace/avaliador/finalizarcorrecao.php

163 lines
3.9 KiB
PHP
Executable File

<?php
// Este script insere em resultados.csv as notas preditas
// Diretórios de entrada
$diretorioentrada1 = "indexados/";
$diretorioentrada2 = "arquivospredicao/";
$ponteiro1 = opendir($diretorioentrada1);
// Para cada subdiretorio do diretorio de entrada
while (($nomequestao = readdir($ponteiro1)))
{
if (($nomequestao<>".") && ($nomequestao<>".."))
{
$rcsv= $diretorioentrada1.$nomequestao."/resultado.csv";
$npontuadas = $diretorioentrada2.$nomequestao."/treinomodelo.csv";
$npreditas= $diretorioentrada2.$nomequestao."/notastestepreditas.csv";
if ( (file_exists($rcsv)) && (file_exists($npontuadas)) && (file_exists($npreditas)) )
{
$resultados = file($rcsv);
$tamr=count($resultados);
$notaspreditas = file($npreditas);
$notastreino = file($npontuadas);
$ttreino= count($notastreino);
// Copiar labels das notas preditas para um vetor
$i=0;
$v1=array();
$v2=array();
foreach($notaspreditas as $np)
{
$x=explode(";", $np);
$v1[$i]= trim($x[0]);
$v2[$i]=trim($x[1]);
unset($x);
$i++;
}
$saida = $diretorioentrada2.$nomequestao."/resultado.csv";
$fp=fopen($saida, 'w');
$tam=count($v1);
for ($k=0; $k<$tamr; $k++)
{
$x = explode(";", $resultados[$k]);
$i=0;
$achou=0;
while ($achou==0 && $i<$tam)
{
if ($v1[$i]==$x[0])
{
$achou=1;
$posicao=$i;
}
$i++;
}
if (!($achou==0))
{
// Gravar rótulo da questao, nota e feedback (arquivosaida)
$gravar= $x[0].";".$v2[$posicao].";".$x[2] ;
fwrite($fp, $gravar);
}
else
{
// É amostra de treino
// Localiza $x[0] em notastreino e obtém a nota
$achou=0;
for($j=0; $achou==0 && $j<$ttreino; $j++)
{
$t=explode(";", $notastreino[$j]);
$nt1= trim($t[0]);
$nt2=trim($t[1]);
if ($x[0]==$nt1)
{
$achou=1;
}
unset($t);
}
// Gravar $x[0], $nota, $x[2]
if ($achou==1)
{
$gravar= $x[0].";".$nt2.";".$x[2] ;
fwrite($fp, $gravar);
}
}
unset($x);
}
unset($v1);
unset($v2);
fclose($fp);
$destino = "../submissoes/".$nomequestao."/resultado.csv";
if ( file_exists($saida) && file_exists($destino) )
{
if (!(copy($saida, $destino)))
{
echo "Arquivo resultado.csv não foi gerado";
}
$af = "../submissoes/".$nomequestao."/finalizado.txt";
$f=fopen($af, 'w');
fclose($f);
}
unset($resultados);
unset($notastreino);
unset($notaspreditas);
}
}
}
?>