Antes de verificar a resposta do instrutor, consegui reproduzir a troca das bandeiras sem criar a função trocarBandeiras.
<canvas width="800" height="560"></canvas>
<script>
var tela = document.querySelector("canvas");
var pincel = tela.getContext("2d");
function bandeiraBrasil(){
pincel.fillStyle = "DarkGreen";
pincel.fillRect(0,0,800,800);
pincel.fillStyle = "Gold";
pincel.beginPath();
pincel.moveTo(400,50);
pincel.lineTo(50,280);
pincel.lineTo(400,510);
pincel.lineTo(750,280);
pincel.fill();
pincel.fillStyle = "darkblue";
pincel.beginPath();
pincel.arc(400,280,150,0,2*3.14);
pincel.fill();
};
function bandeiraAlemanha(){
pincel.fillStyle = "black";
pincel.fillRect(0,0,800,186.6);
pincel.fillStyle = "red";
pincel.fillRect(0,186.6,800,186.6);
pincel.fillStyle = "yellow";
pincel.fillRect(0,373.33,800,186.6);
}
setInterval(bandeiraBrasil, 3000);
setInterval(bandeiraAlemanha,6000);
</script>