Katalog -- formuły dotyczące rekrutacji

   +powrót

Formuły egzaminacyjne

pole katalog.kwalifikacja_formula

Pole powinno zawierać formułę opisującą wymagania jakie musi spełnić kandydat aby zarejestrować się na danych kierunek studiów. Format formuły:

formula_egzaminacyjna ::= [ 'SELECT:' | 'MULTISELECT:' ] formula_zlozona
formula_zlozona ::= formula | formula '|' formula_zlozona
formula ::= warunki | wyrazenie_warunkowe
wyrazenie_warunkowe ::= { e_rodzaj_kod | inna_sciezka_kod } [ '[' opis tekstowy ']' ] '=>' warunki
e_rodzaj_kod ::= 'IB' | 'LIC' | 'MATURA' | 'MATURA2005' | 'MATURA2006' | .. | 'MATURA_OBCA' | 'MGR' | 'SWIAD_DOJRZ' | 'OLIMPIADA'
inna_sciezka_kod ::= 'STUDIA_ROWNOLEGLE' | 'PRZENIESIENIA'
warunki ::= warunek | warunek ';' warunki
warunek ::= REQ(..) | CHOOSE(..) | MSG(..) | ..
Formuła może działać w dwóch trybach:
  • SELECT (domyślny tryb) -- kandydat ma do wyboru pierwsze wyrażenie, dla którego wyrażenie warunkowe jest spełnione
  • MULTISELECT -- kandydat ma wyboru wszystkie wyrażenia, dla których wyrażenie warunkowe jest spełnione
Gdzie warunek jest jedną z następujących funkcji:
  • REQ(PRZEDMIOT1,PRZEDMIOT2,...) --- kandydat musi wybrać dokładnie jeden przedmiot z podanej listy, PRZEDMIOT oznacza ID egzaminu (np. CEW_MATEMATYKA) lub grupy egzaminów, jeśli egzamin można zdawać na różnych poziomach, należy dodać odpowiednią końcówkę _P lub _R (np. CEW_POLSKI_R, oznacza egzamin z j. polskiego na poziomie rozszerzonym). Formuła blokuje wybór egzaminów centralnych dla nowych maturzystów.
  • CHOOSE(k:opisk,i1:opis1,i2:opis2,...,PRZEDMIOT1,PRZEDMIOT2,...) --- kandydat musi wybrać przedmioty spośród podanej listy o sumarycznej wadze równej dokładnie k. Co najmniej jeden z przedmiotów musi zostać wybrany spośród i1 pierwszych przedmiotów. Co najmniej dwa z przedmiotów muszą zostać wybrane spośród i2 pierwszych przedmiotów. opis1, opis2, ... są opisami poszczególnych grup.
    Formuła blokuje wybór egzaminów centralnych dla nowych maturzystów. Uwaga: ta formuła nie obsługuje wag przedmiotów!
  • CHOOSE_NWM(k:opisk,i1:opis1,i2:opis2,...,[waga1*]PRZEDMIOT1,[waga2*]PRZEDMIOT2,...) --- jak CHOOSE, ale nie jest wymuszany wybór matur. Dodatkowo formuła obsługuje wagi przedmiotów.
  • CHOOSE_NBC jak CHOOSE ale bez blokowania wyboru CEWów dla nowych maturzystów,
  • REQ_NBC jak REQ ale bez blokowania wyboru CEWów dla nowych maturzystów,
  • OPT jak REQ, ale wymaga wyboru 0 lub 1 egzaminów,
  • OPT_CHOOSE(min,max,lista_egzaminów) jak CHOOSE, ale wymaga wyboru egzaminów o sumarycznej wadze z zakresu min..max,
  • FORBID(MATURA1,MATURA2,...) --- zablokowanie rejestracji jeśli kandydat zdawał na maturze jeden z podanych przedmiotów, jeśli chcemy zablokować konkretny poziom matgury należy dodać odpowiednią końcówkę _P lub _R
  • FORBID_S(STUDIA1,STUDIA2,...) --- zablokowanie rejestracji jeśli kandydat wybrał już podane kierunki,
  • REG_DATES(rrrr-mm-dd[ gg:mm:ss], rrrr-mm-dd[ gg:mm:ss]) --- zablokowanie rejestracji poza podanym przedziałem czasu, jeśli dokładna godzina nie jest podana to przyjmowana jest 00:00:00 dla rozpoczęcia przedziału, oraz 23:59:59 dla zakończenia przedziału,
  • FORBID_D(rrrr-mm-dd[ gg:mm:ss]) --- zablokowanie rejestracji po podanej dacie, jeśli dokładna godzina nie jest podana, to przyjmowane jest 00:00:00.
  • FORBID_E(X,E1,E2,E3,..) --- jeśli wybrano egzamin X, to zablokuj wybór egzaminów E1,E2,...
  • FORBID_E_PAIR(E1,E2,E3,..) --- zablokuj wybór co najmniej dwóch egzaminów z listy E1,E2,...
  • FORBID_REPEATED_E([E1, E2,...]) --- blokuj wielokrotny wybór tego samego egzaminu (na potrzeby UW), jeśli podane są egzaminy E1, E2 .., to blokowany jest wielkrotny wybór tylko tych oznaczonych egzaminów
  • MSG('napis') --- wyświetlenie napisu, np. o tym, że przydział egzaminów na ten kierunek rozpocznie się 2005-07-01, albo że na kierunek nie są wymagane egzaminy.
  • QUESTION('treść pytania') --- wyświetlenie pytania, np. dotyczące wybranego tematu rozmowy kwalifikacyjnej, kandydatowi wyświetlane jest pytanie i jest on proszony o wpisanie odpowiedzi w polu typu INPUT,
  • SELECT('treść pytania', [klucz1:] 'opcja1', [klucz2:] 'opcja2' ... ) --- wyświetlenie pytania z zadaną listą odpowiedzi do wyboru (pola typu RADIO),
  • na potrzeby szczególnie skomplikowanych reguł kwalifikacji będą przygotowywane osobne funkcje, np. do obsługi łączonych testów predyspozycji.

Przykłady

  • Formuła warunkowa:
      MATURA => MSG('nowa matura')
      | MGR =>MSG('magister')
      | MSG('domyślna formuła');
      
  • REQ(CEW_MAT_R,M_MATEMATYKA_R);REQ(CEW_FIZ_R,M_FIZYKA_R,CEW_HIS_R,M_HISTORIA_R)
    TBD
  • REQ(M_HISTORIA_R);REQ(M_ANGIELSKI_P,M_NIEMIECKI_P);FORBID(M_FIZYKA_P)
    TBD
  • CHOOSE_NWM(3,CEW_POL_R,CEW_HM_R,CEW_JW_P,2*CEW_JF_R,CEW_CHEM_R)
    TBD
  • MSG('Proszę przyjść później. Na razie nie rozumiemy naszej uchwały rekrutacyjnej')
    TBD
  • ERR('Rejestracja zamknięta ze względu na cośtam')
    Wyświetlenie komunikatu + zablokowanie rejestracji
  • CHOOSE(2:Wybieram,2:Ważny,A,B,C,D)
  •  Nie wybieramWażnyWybieram
    A
    B
    C 
    D 
  • SELECT('Jaki jest Twój ulubiony kolor?',R:'czerwony',G:'zielony',N:'niebieski')

egzaminy_grupy

Definicje grup egzaminów. W tabeli można zgrupować kilka egzaminów pod jedną nazwą (np. MATURY) i potem używać ich w formułach kwalifikacyjnych poprzez ID grupy.

egzaminy_zastepstwa

(niestety tabela troche zmieniła swoje znaczenie i właściwie powinna nazywać się matury_blokady) Jeśli tabela zawiera wpis (m,e). To oznacza, że matura m uniemożliwia zdawanie egzaminu e (np. MATURA_MAT_R, uniemożliwia zdawanie CEW_MAT_R). Jeśli m nie zawiera końcówki określającej poziom (_P lub _R), to taki wpis jest skrótem do wpisów (m_P,e) i (m_R,e). Jeśli e nie zawiera końcówki określającej poziom (_P lub _R), to taki wpis jest skrótem do wpisów (m,e) i (m,e). Czyli na przykład wpis MATURA_MAT,CEW_MAT oznacza zablokowanie:
  • MATURA_MAT_P,CEW_MAT_P
  • MATURA_MAT_P,CEW_MAT_R
  • MATURA_MAT_R,CEW_MAT_P
  • MATURA_MAT_R,CEW_MAT_R

Formuły rankingowe

pole katalog.wyniki_formula

Formuła określa sposób obliczania punktów do listy rankingowej. Format formuły:

FORMUŁA ::= WYRAŻENIE | WYRAŻENIE WARUNKOWE
WYRAŻENIE_WARUNKOWE ::= WARUNEK '=>' WYRAŻENIE
                     | WARUNEK '=>' WYRAŻENIE '|' WYRAŻENIE_WARUNKOWE
WARUNEK ::= MATURA | MATURA(_PO_|_PRZED_|_)?([0-9]+) |
            SWIAD_DOJRZ | SWIAD_DOJRZ(_PO_|_PRZED_|_)?([0-9]+) |
            LIC | IB | MGR |
            SCIEZKA_(nazwa_ścieżki_rekrutacyjnej) |
            WARUNEK '&&' WARUNEK
WYRAŻENIE ::= WYRAŻENIE operator WYRAŻENIE
                     | - WYRAŻENIE
                     | (WYRAŻENIE)
                     | liczba
                     | funkcja [ ( argumenty ) ]
                     | id
id ::= {id egzaminu} | {id_egzaminu}_P | {id_egzaminu}_R | #{wartosc_specjalna}
      | W_[0-9] | W_[0-9]_(P|R|KOD|POZIOM|ROK) 
  • warunki MATURA, SWIAD_DOJRZ, itd. są spełnione, gdy kandydat posiada odpowiedni dokument uprawniający do podjęcia studiów,
  • warunek SCIEZKA_ID (np. SCIEZKA_MATURA) służy do testowania, czy podczas zapisów kandydat wybrał odpowiednią ścieżkę rekrutacji,
  • warunki można łączyć ze sobą przy pomocy spójnika '&&', taki warunek jest spełniony gdy wszystkie jego składowe są prawdziwe,
  • {id_egzaminu} oznacza wartość pola 'wynik' z podanego egzaminu,
  • {id_egzaminu}_P oznacza wartość pola 'wynik_p' z podanego egzaminu (wynik z części podstawowej),
  • {id_egzaminu}_R oznacza wartość pola 'wynik_r' z podanego egzaminu (wynik z części rozszerzonej),
  • {id_egzaminu}_ROK oznacza wartość pola 'rok' z podanego egzaminu (rok zdawania egzaminu, obecnie tylko dla wyników importowanych z KREMu),
  • @{id_egzaminu..} oznacza wynik egzaminu, jadnak w przypadku braku informacji o wyniku egzaminu nie jest zwracany błąd lecz wartość -1,
  • W_[1-9] -- oznacza wynik z egzamiu wybranego w i-tym (W_1 - pierwszym, W_2 - drugim, itd.) warunku formuły kwalifikacyjnej,
  • W_[1-9]_POZIOM -- jak W_[1-9] ale zwraca poziom wybranego egzaminu,
  • W_[1-9]_KOD -- jak W_[1-9] ale zwraca kod wybranego egzaminu,
  • W_[1-9]_ROK -- zwraca rok zdawania danego przedmiotu,
  • liczba -- oznacza liczbę całkowitą lub liczbę rzeczywistą (np. -2, 5, 0.25),
  • operator -- operacja arytmetyczna (+,-,*,/) lub logiczna (or,and,not),
  • funkcja -- aktualnie dostępne są następujące funkcje:
    • funkcje PHP: round, floor, ceil, abs, min, max, round, array, in_array
    • sum -- suma liczb podanych jako argumenty, np. sum(1,20,1,10,10)=42
    • avg -- średnia, np. avg(1,2,3)=2
    • k_max(k,a1,a2,a3..) -- k-ty co do wielkosci element w ciągu, np. k_max(2,10,20,30,40,50)=40
    • sum_nn -- suma liczb z pominięciem liczb ujemnych, np. sum_nn(1,-1,2,-1)=3
    • avg_nn -- średnia liczb z pominięciem liczb ujemnych, np. avg_nn(1,-1,2,-1,3)=2
  • wartosc_specjalna:
    ROK_UZYSKANIA_MATURY rok uzyskania matury (z pola osoby[e_matura_rok])
    LICZBA_NOWYCH_MATUR liczba egzaminów typu nowa matura i nowa matura ustna, które kandydat wybrał przy wpisywaniu wyników matury
    LICZBA_NOWYCH_MATUR_PISEMNYCH liczba egzaminów typu nowa matura, które kandydat wybrał przy wpisywaniu wyników matury
    LICZBA_NOWYCH_MATUR_USTNYCH liczba egzaminów typu nowa matura ustna, które kandydat wybrał przy wpisywaniu wyników matury
    LICZBA_STARYCH_MATUR liczba egzaminów typu stara matura, które kandydat wybrał przy wpisywaniu wyników matury

Przykłady

  • formuła: ważona suma wyniku z matury z matematyki + 2 razy wynik poziomu rozszerzonego z matury z fizyki
    (M_MAT_P+2*M_MAT_R)/3 + 2*M_FIZ_R
  • #LICZBA_NOWYCH_MATUR
  • przykład formuły używającej modyfikatorów _PRZED_RRRR i _PO_RRRR:
    MATURA_PO_2007 => 100 |
    MATURA => M_MAT_R+M_MAT+P |
    SCIEZKA_SWIAD_DOJRZ && SWIAD_DOJRZ_PRZED_1992 => 50 |
    SCIEZKA_SWIAD_DOJRZ && SWIAD_DOJRZ_PO_1991 => 5 |
    SWIAD_DOJRZ => 1 |
    -1
    

Przykłady formuł

  • Dla nowej matury: wymagany jest egzamin z biologii, opcjonalnie można wybrać dodatkowo jeden przedmiot (chemia, matematyka lub język nowożytny). Wynik punktowy: suma wyników egzaminów, gdzie wynik egzaminu: max(poziom podstawowy, 2*poziom rozszerzony). Dla starej matury, wymagany jest jeden z egzaminów (biologia, chemia lub matematyka). Wynik punktowy jest obliczany za pomocą tabelki (inna dla skali ocen 3-5, inna dla skali 2-6).
    formuła egzaminacyjna:
    MATURA =>
      REQ(M_BIOLOGIA) ;
      OPT(M_CHEMIA,M_MATEMATYKA,M_ANGIELSKI,M_NIEMIECKI,M_FRANCUSKI)
    | SWIAD_DOJRZ =>
      REQ(SM_BIOLOGIA,SM_CHEMIA,SM_MATEMATYKA)
    
    formuła rankingowa:
    MATURA =>
      max(0,@W_1_P,2*@W_1_R) + (@W_2_KOD !="" ? max(0,@W_2_P,2*@W_2_R) : 0)
    | SWIAD_DOJRZ_PO_1991 =>
     (W_1>5 ? 100 : (W_1>4 ? 90 : (W_1>3 ? 70 : (W_1>2 ? 50 : (W_1>1 ? 30 : 0)))))
    | SWIAD_DOJRZ_PRZED_1992 =>
     (W_1>4 ? 100 : (W_1>3 ? 75 : (W_1>2 ? 50 : 0)))
    | -1