Bruno, ele separou as funções para reutilização de código, para facilitar a modificação, caso aconteça no futuro. O que ele fez? Ele criou um novo arquivo percorre,js
function percorreArray(trsPacientes, comportamento){
    for(var posicaoAtual = 0; posicaoAtual <= trsPacientes.length -1; posicaoAtual++){
        var trAtual = trsPacientes[posicaoAtual];
        comportamento(trAtual);
    }
}
Nessa função que ele fez, ele vai receber o valor do que foi passado por parâmetro no outro arquivo, no imprime-nome.js.
var trsPacientes = document.getElementsByClassName("paciente"); 
percorreArray(trsPacientes, imprimeNome);
function imprimeNome(pacienteTr){
    var tdNome = pacienteTr.getElementsByClassName("info-nome")[0];
    var tdPeso = pacienteTr.getElementsByClassName("info-peso")[0];
    var tdAltura = pacienteTr.getElementsByClassName("info-altura")[0];
    var paciente = {nome: tdNome.textContent, 
                    peso: tdPeso.textContent, 
                    altura: tdAltura.textContent, 
                    pegaImc: function(){
                        if (this.peso != 0) {
                            var imc = this.peso/ (this.altura * this.altura); // 25
                            return imc;
                        } else console.log("Altura = 0")
                    }};
    console.log(paciente.nome);
}
Percebe, que o arquivo function percorreArray do arquivo percorre.js depende que no arquivo imprime-nome.js ele passe por parâmetro o valor dos pacientes.
Quando ele invoca a percorreArray(trsPacientes, imprimeNome) no arquivo imprime-nome.js, ele esta passando o valor dos pacientes, mas a função que ele vai utilizar para fazer a impressão dos nomes.
Voltando ao arquivo percorre.js, repare que foi criado o mesmo for que utilizava nos outros dois arquivos, foi criada uma variável para receber o valor do paciente atual, e depois da variável, existe uma função sendo invocada, essa função é a função que tu passou por paramentro na hora de ela ser invocada.
function percorreArray(trsPacientes, comportamento){
    for(var posicaoAtual = 0; posicaoAtual <= trsPacientes.length -1; posicaoAtual++){
        var trAtual = trsPacientes[posicaoAtual];
        comportamento(trAtual);
    }
}