Ready to begin
No records have been processed. Start with Next step.

Follow the selected procedure. Change a field, tie rule or weekday and explain why the result changes.
Ready
No records have been processed. Start with Next step.
Predict the next change. Keep track of which list level, field and position convention the procedure uses.
q4 = length(L)/4
q3 = length(L)/2
q2 = 3*length(L)/4
A=[]; B=[]; C=[]; D=[]
position = 0
foreach Pair in L: # L is ascending by marks
if position > q2: A = A ++ [first(Pair)]
if position > q3 AND position <= q2: B = B ++ [first(Pair)]
if position > q4 AND position <= q3: C = C ++ [first(Pair)]
if position <= q4: D = D ++ [first(Pair)]
position = position + 1
return [A,B,C,D]Read the comparisons literally. For 30 students the boundaries are 7.5,15,22.5. Starting at position 0 gives D at 0–7, C at 8–15, B at 16–22 and A at 23–29. Do not silently round thresholds or replace zero-based positions with one-based counts.
This is the source’s SIMPLE positional procedure, not the hand-adjusted classroom grouping and not a universal statistical quantile convention. Its purpose is to demonstrate sorting, positions and a four-list result. The groups are approximate quarters and can split equal marks.
Which grade gets position 15 under this exact code?
C, because position ≤ q3 and position > q4. B requires position > 15.
How many A students does this code produce for 30 records?
7: zero-based positions 23 through 29.
Why not claim all four groups have exactly 7.5 students?
Student counts are integers. Exact comparisons determine which positions enter each group.