edit: Notei que é possível cortar o if se no lugar de x < 600 eu colocar x < 150 para os quadrados verdes e x < 200 para o branco.
Para não precisar ficar repetindo a função desenhaQuadrado(); eu decidi usar for e if para automatizar o processo, o código ficou assim:
<meta charset="UTF-8">
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector("canvas");
var pincel = tela.getContext("2d");
function desenhaTexto(texto, x, y) {
pincel.font = "20px Georgia";
pincel.fillStyle = "black";
pincel.fillText (texto, x, y);
}
function desenhaQuadrado(x, y, tamanho, cor) {
pincel.fillStyle = cor;
pincel.fillRect(x, y, tamanho, tamanho);
pincel.fillStroke = "black";
pincel.strokeRect(x, y, tamanho, tamanho);
}
for(x = 0; x < 150; x = x + 50) {
desenhaQuadrado(x, 50, 50, "green");
desenhaTexto("Qual é a fração?", 25, 30);
}
for(x = 150; x < 200; x = x + 50) {
desenhaQuadrado(x, 50, 50, "white");
}
</script>