O que mais me confundiu foi que ao tirar o primeiro beginPath o programa não viu o meu triângulo e a figura anterior a ele como uma única figura. E imagino que isso deveria acontecer levando em conta a explicação dada no seguinte fórum : https://cursos.alura.com.br/forum/topico-uso-do-beginpath-24443
<script>
var tela = document.getElementById("tela");
var c = tela.getContext("2d");
c.fillStyle="green";
c.fillRect(0,0,200,400);
c.fillStyle="red";
c.fillRect(400,0,200,400);
c.fillStyle="gray";
c.beginPath();
c.moveTo(300,200);
c.lineTo(200,400);
c.lineTo(400,400);
c.fill();
// retire aqui a função beginPath e vera a diferença!!!!!
c.fillStyle="blue";
c.beginPath(); // <-------
c.arc(300,100,50,0,2*3.14);
c.fill();
</script>