Acredito que esteja se referindo ao primeiro exemplo.
Se length = 7, os índices do array serão de 0 à 6: [0,1,2,3,4,5,6]. Assim, o elemento do meio é o 3.
Então se o resultado da divisão for um número fracionado, devemos arredondar para baixo.
O exemplo que mostrei é na linguagem Rust, e especificamente nela (e algumas outras) a divisão de dois inteiros resulta em um inteiro.
Ou seja, ele faz a divisão, guarda o quociente e joga o resto fora. Se eu quisesse a resposta exata, teria que fazer algo como:
let mid = length as f64 / 2 as f64;
println!("{}", mid); // mid = 3.5
Outra forma seria:
let length: f64 = 7; // Declarar a variável como float desde o início
let mid = length / 2.0;
println!("{}", mid); // mid = 3.5
Espero que tenha sido útil. :)