|
|
|
# **RFM06:** GET /menores?idade={{pontoIdade}}&sexo={{pontoSexo}}
|
|
|
|
|
|
|
|
A entrada deverá ser validada:
|
|
|
|
- pontoIdade > 0 && pontoIdade < 18
|
|
|
|
- pontoSexo >= 0 && pontoSexo <= 1
|
|
|
|
|
|
|
|
O cálculo do fator de ordenação do conjunto de menores a ser exibido para o usuário utilizará a seguinte fórmula:
|
|
|
|
|
|
|
|
## Ponto escolhido pelo usuário
|
|
|
|
|
|
|
|
- **pontoIdade**: preferência de idade calculada a partir da coordenada escolhida pelo usuário no eixo "idade", convertida para anos anos, com parte fracionária para os meses e dias em base decimal, variando de 0 a 18
|
|
|
|
- **pontoSexo**: preferência de sexo calculada a partir da coordenada escolhida no eixo "sexo", variando de 0 a 1, sendo que 0 = feminino, 1 = masculino e 0,5 demonstra indiferença quanto ao sexo
|
|
|
|
|
|
|
|
## Fatores de ajuste do cálculo
|
|
|
|
|
|
|
|
Devem ser implementados preferencialmente como parâmetros de configuração do aplicativo (pode ser por usuário).
|
|
|
|
|
|
|
|
- **pesoIdade**: peso do fator idade (padrão = 1,0)
|
|
|
|
- **pesoSexo**: peso do fator sexo (padrão = 2,0)
|
|
|
|
|
|
|
|
## Dados dos menores do conjunto a ser ordenado
|
|
|
|
|
|
|
|
- **menorIdade**: idade de cada menor do conjunto convertida para anos com fração decimal
|
|
|
|
- **menorSexo**: sexo de cada menor do conjunto, sendo que 0 = feminino, 1 = masculino
|
|
|
|
|
|
|
|
## Cálculo do fator de ordenação de cada menor do conjunto a ser ordenado
|
|
|
|
|
|
|
|
```
|
|
|
|
menorOrdem =
|
|
|
|
Raiz(
|
|
|
|
(
|
|
|
|
Potência(
|
|
|
|
Absoluto(
|
|
|
|
(pontoIdade/18*(pesoSexo/pesoIdade)) -
|
|
|
|
(menorIdade/18*(pesoSexo/pesoIdade))
|
|
|
|
),
|
|
|
|
2) +
|
|
|
|
Potência(
|
|
|
|
Absoluto(
|
|
|
|
pontoSexo -
|
|
|
|
menorSexo)
|
|
|
|
),
|
|
|
|
2)
|
|
|
|
),
|
|
|
|
2
|
|
|
|
)
|
|
|
|
``` |
|
|
|
\ No newline at end of file |