Auditoria de Integridade
Curso: 9º ANO
Dados Oficiais
Resultado Homologado (Final)
101821244347
- 1º PCD: 1
- 2º Social: 2
- 3º Próximo: 1
- 4º Irmãos: 0
- 5º Ampla: 1
- Total: 5
Regra de Negócio:
O sistema separa os candidatos em 5 blocos hierárquicos na ordem: PCD > Social > Próximo > Irmãos > Ampla. O sorteio ocorre dentro de cada grupo de forma independente usando Fisher-Yates.
O sistema separa os candidatos em 5 blocos hierárquicos na ordem: PCD > Social > Próximo > Irmãos > Ampla. O sorteio ocorre dentro de cada grupo de forma independente usando Fisher-Yates.
Algoritmo de Sorteio
(Lógica Hierárquica)
<?php// 1. Contexto e Semente$seed = "101821244347";$status = "FINAL";// 2. Função Determinística (Auditável)functionshuffleGroup($items, $subSeed) {$hashedSeed = hash('sha256', $subSeed);for($i = count($items)-1; $i > 0; $i--) {$hash = hash_hmac('sha256', $i . $hashedSeed, $hashedSeed);$j = hexdec(substr($hash, 0, 8)) % ($i + 1);[$items[$i], $items[$j]] = [$items[$j], $items[$i]];}return$items;}// 3. Sorteio por Ordem de Prioridade (MODIFICADO)$r1 = shuffleGroup($g1_pcd, $seed .'_g1');$r2 = shuffleGroup($g2_social, $seed .'_g2');$r3 = shuffleGroup($g3_prox, $seed .'_g3');$r4 = shuffleGroup($g4_irm, $seed .'_g4');$r5 = shuffleGroup($g5_ampla, $seed .'_g5');// 4. Concatenar para Lista Finalprint_r(array_merge($r1, $r2, $r3, $r4, $r5));